User:Katkov Yury/CollaborationDiagram

{{Extension |templatemode= |name = Collaboration Diagram |status = experimental |type1 = tag |type2 = special |hook1 = ParserFirstCallInit |hook2 = SkinTemplateTabs |hook3 = SkinTemplateNavigation |username = Katkov Yury |author = Katkov Yury |description = Shows editor's contribution in a graphical form. The more the author contributed - the thicker will be the line in a graph! |image = Collaboration_Diagram_logo.png |imagesize = |version = 0.1.0 |update = |mediawiki = 1.16 |php = 5.1 |license = LGPL |download = {{GoogleCodeDownload|collaborationgraph|snapshot=1}} |readme = |changelog = |parameters = |tags = <graphviz> |rights = |example = |compatibility = }}

What this extension can doEdit

CollaborationDiagram allows one to visualize the graph of users' contribution. The extension can draw the following diagrams

  1. The diagram of user contribution for the given article.
  2. The diagram for several articles.
  3. The diagram for all pages in the given category.

It uses the free graph drawing program GraphViz and GraphVizExtension for creating and rendering graphs.

In the diagram the user contributed the most will have the thickest arrow pointed to the article. That can be funny and useful form of article eition summary.

Download instructionsEdit


Current stable release is available from here

From svn

Version in svn typically has more features but it could be buggy. If you are strong use it!

 svn export collaborationgraph-read-only



How to installEdit

To install this extension, first you shoul install the dependencies. Then you can download it and add the following to LocalSettings.php:



There are some configuration option that allow you to more fully enjoy the extension:

Parameter Default Value Values Description
$wgCollaborationDiagramDiagramType graphviz-thickness graphviz-figures, graphviz-thickness The type of diagram to use on this site. Here graphviz-figures is more compact representation
$wgCollDiaUseSocProfilePicture false true, false Allows using avatars of the users in Collaboration diagram. Requires SocialProfile to be installed
$wgCollaborationDiagramMinEdit not set 1,2,3... any integer Don't show editors who have less that the noted amount of edits.
$wgCollaborationDiagramSkinFilename,,,, or user skin Filename of the skin to use on that site.
$wgCollaborationDiagramConvertToPNG false true, false Setting this option to true will make collaboration diagram to use ImageMagick to convert jpg avatars to png. This option can be useful if your graphviz version can't make graphs with embedded jpg pictures. You need to have $useImageMagick set to true and $wgImageMagickConvertCommand set to the convert command.
$wgCollaborationDiagramUserIcon user_icon.png in extension folder any path to the image Set the user icon for the compact view. This option will have effect only if $wgCollaborationDiagramDiagramType is set to graphviz-figures


Here are examples of using the collaborationdia tag.

Diagram for current pageEdit

To insert the diagram for the current page just place the collaborationdia tag anywhere in the article:

<collaborationdia />


Diagram for one pageEdit

If you want to draw the diagram for the specific page use the collaborationdia tag with page parameter

<collaborationdia page="RDF_test"/>


Diagram for the set of pagesEdit

Do you want to see who contributed in several pages? It's easy too: just use the page parameter for the list of names delimited by semicolon.

<collaborationdia page="Katkov;RDF_test;Main_Page"/>


Diagram for all pages in categoryEdit

Another option is to view the diagram for the given category. Use the category parameter for that.

<collaborationdia category="Test"/>

Compact modeEdit

If your diagram are too huge and you need more compact mode you can configure CollaborationDiagram for that. This is an example of filtering the authors who make only one edits and the figures view. Set the following in your LocalSettings.php:


And all the diagrams will look like that


Social Profile IntegrationEdit

If you have Extension:SocialProfile installed there's one more cool option possible. In the standard mode it's possible to show avatars of users in a Collaboration Diagram. Just set the $wgCollDiaUseSocProfilePicture=true; and all the diagrams will be looking like that:


Special Page and tabEdit

Go to <yourwikiurl>?title=Special:CollaborationDiagram&page=<Your_pagename> and you'll see collaboration diagram for the page Your_pagename. Alternatively you can click on the tab collaborationdiagram that located near the History tab. This tab is porved to be working on Vector and Monobook skins.


Skin supportEdit

In our terminology skin is a header of generated graphviz code. The default skin is located in the Collaboration Diagram extension folder. You can write your own skin, put it in the extension folder and set $wgCollaborationDiagramSkinFilename to the skin filename in LocalSettings.php:


There are two skins there by default: the default skin and fdp skin. Here are some examples of using skins:

Further workEdit

0.2 version includes a lot more features that 0.1 but still the're are more to come! For example I want to make graphviz graphs prettier, add shadows and gradients so they could look cool. There is also a number of other ideas for viewing users' contributions. See project tracker for gory details.


From: Bipartite Networks of Wikipedias Articles and Authors: a Meso-level Approach A bipartite network is a graph G = (U, V, E) whose vertices (or `nodes') can be divided into two disjoint sets U and V such that every edge (or `link') E connects a vertex in U to a vertex in V; that is, U and V are independent sets.

When we consider articles in Wikipedia and their editors, a bipartite network is a convenient representation: U is the set of editors and V is the set of articles in Wikipedia. The bipartite network formalism is ideal for studying collaboration, because the network structure encodes knowledge about which articles editors have edited together. By studying the clusters (or `modules') in the bipartite network, we are able to discover clustering of editors and articles and smaller patterns of collaboration. These dense groups could also be called 'epistemic communities' as used by Roth (2006) [12] where epistemic communities are understood as a descriptive instance only, not as a coalition of people who have some interest to stay in the community: it is a set of agents who participate in building the same knowledge.

Camille Roth, "Co-evolution in Epistemic Networks Reconstructing Social Complex Systems", Structure and Dynamics: eJournal of Anthropological and Related Sciences : Vol. 1: No. 3, Article 2, 2006.

See alsoEdit

Extension:Graphviz Extension:SocialProfile

[[Category:Graph extensions]] [[Category:GraphViz extensions]] [[Category:Diagram extensions]]