Extension:Semantic Project Management

Semantic Project Management is an extension to MediaWiki that enables the user to display and export project structures. It is heavily tied with the Semantic MediaWiki extension. To run Semantic Project Management, this extension has to be installed first.

The functionalities provided by Semantic Project Management are:
 * Rendering of project structures by displaying them as Gantt charts.
 * Export of project structures as XML-files

Download
You can download Semantic Project Management from these sources:

svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticProjectManagement/
 * directly from SVN


 * using the extension distributor
 * Download snapshot

Installation
Note once again that, before you install Semantic Project Management, you must have Semantic MediaWiki installed as well.

After downloading the source code, extract it to '[wikipath]/extensions/'. To finish the setup, open '[wikipath]/LocalSettings.php' and add the line:

include_once( "$IP/extensions/SemanticProjectManagement/SemanticProjectManagement.php" );

Note: To correctly work, this line has to be added below the lines where SemanticMediaWiki was defined.

You should now see that the extension was successfully installed on the 'Special:Version' page of your wiki.

Rendering
To correctly render a project as Gantt chart, its structure has to be defined first. The structure consists of certain levels (that are defined by different categories) and connecting properties between these levels.

A structure with three levels is for example: Work Package, Task, Deliverable. Where each Task is connected to its respective Work Package with the property 'belongsToWorkPackage' and each Deliverable is connected with its Task through a property 'belongsToTask'.

Furthermore, each entity on the lowest level (in our example all Deliverables) has to have a correctly defined start- and enddate. The start- and enddates can be either of the type Date or have the form Mxx if you are using a month notation (M0 = first month).

To define the structure of your project for displaying, go to [Special:SemanticProjectManagement]. Here you have the option to define your M0 (only relevant if you use the month notation) by clicking on 'Change Startmonth'.

Define your project structure by clicking on 'Change Settings'. On the following page select the desired number of levels and hit the 'Continue' button. Now you have to specify the Categories that define each Level, the desired color and the property that connects the entity with the higher level. Note: to correctly display the Gantt chart, you can not use the same category for different levels!

After defining the project structure, the Gantt chart can be rendered by calling a result printer function. Using all available parameters, the query would look like:

Further explanation:

The #ask query can be formulated in 2 ways:


 * #ask : category name has to be the name of one of the categories defined on the special page
 * #ask : can be called from a page that is part of the project structure

Compulsory parameters:


 * haslabel : Label of the project entity that will be displayed
 * category : Category of the project entity, used to identify the level
 * format=ganttchart : Indicates that the results are to be displayed as Gantt chart

At least one of the following pairs has to be defined:


 * hasrealstartdate, hasrealfinishdate : real start-/endddate of activity
 * hasplannedstartdate, hasplannedfinishdate : planned start-/enddate of activity
 * startmonth, endmonth : start-/endmonth of activity

Note:  If more than one of the pairs is defined, they have to following priority (from high to low): real start/finish date, start/endmonth, planned start/finish date. A progress will only be calculated if realstartdate exists, otherwise it has to be set with the progress parameter.

Optional parameters:


 * hassuccessor : successor of activity; a red arrow from predecessor to successor will be drawn in the Gantt chart
 * hasactor : actor of activity; name will be displayed on the right of the activity
 * progress: progress of activity; a progress bar will be drawn inside of the activity

Parameters for the gantt table (all optional, set to false if not available):


 * showdiscussion : Displays a column with discussion icon
 * showresponsible : Displays a column with actor (from hasactor parameter)
 * showduration : Displays a column with activity duration
 * showcompleteness : Displays a column with progress
 * showstartdate : Displays a column with start date
 * showenddate : Displays a column with finish date

Export
The MS-Project XML export works in a similar manner like the Gantt chart. Using all available parameters, the query would look like:

Demo
A working demo can be found here: GanttChart Demo

Version and Authors
Semantic Project Management is still a beta version. It was written by Frank Dengler and Jonas Bissinger.

Credits
The rendering functionality of Semantic Project Management uses a slightly modified version of jsGantt.

The special page uses Tigra Calendar and jsColor.