User:Hummel-riegel/SRF Process

Process format is a format bringing together the MediaWiki Graphviz extension and Semantic MediaWiki. It allows Semantic MediaWiki's inline queries to display process graphs.

You might also be interested in exporting data in pnml for Horus or individuals walking through process.

Requisites

 * Installed and running Semantic Mediawiki Extension, download from here
 * Installed and running Mediawiki extension GraphViz, download from here
 * Installed and running Semantic Result Formats Extension, download from here
 * for templates you might also need Extension:ParserFunctions


 * alternatively you can get the semantic extensions (and many more) simple within the Semantic Bundle

Install instructions
Get the follwing files and put that into /extensions/SemanticResultFormats/Process.
 * user:hummel-riegel/SRF_Process/SRF_Process.php
 * user:hummel-riegel/SRF_Process/SRF_SpecialCreateProcess.php
 * user:hummel-riegel/SRF_Process/SRF_SpecialCreateProcess.i18n.php

Get the follwing files and put that into /extensions/SemanticResultFormats/Process/helpers.
 * user:hummel-riegel/SRF_Process/helpers/process_form.php

Get the follwing files and put that into /extensions/SemanticResultFormats/Process/templates.
 * user:hummel-riegel/SRF_Process/templates/Process_Extension_Example_Package.xml
 * user:hummel-riegel/SRF_Process/templates/Process_Extension_Package.xml
 * user:hummel-riegel/SRF_Process/templates/Process_Form_Package.xml
 * user:hummel-riegel/SRF_Process/templates/readme.txt

Add the following to your LocalSettings.php: $smwgResultFormats['process'] = 'SRFProcess'; require_once "$IP/extensions/SemanticResultFormats/Process/SRF_Process.php"; require_once "$IP/extensions/SemanticResultFormats/Process/SRF_SpecialCreateProcess.php"; require_once "$IP/extensions/SemanticResultFormats/Process/SRF_SpecialCreateProcess.i18n.php";

Templates and Forms
It is not necessary but recommended to have a look at our bundled Templates. They can be found in the templates-folder. They can be easily imported with Special:Import and make modelling much simpler. There can be found:
 * Process_Form_Package.xml -> Provides some useful forms that help creating a process with Special:CreateProcess.
 * Process_Extension_Package.xml -> Provides templates to display some infoboxes and to structure the data of the Forms. See importet page "Process Extension Overview" for all pages related to the process printer.
 * Process_Extension_Example_Package.xml -> Here we provide an example process to take a look.

Usage
The use of the templates makes some of the following redundant, if you just use the basic features.

Input
The process extension requires a number of wiki pages to be categorized as "Process Steps" (= nodes in a process graph) and to be annotated with properties denoting their connection to other nodes. Also, they should be categorized with the name of the process they belong to. A query as below then generates a sparse matrix with process nodes in the first column and their interconnections in the other columns. Setting the output "format" to "process" will render the matrix as a process graph.

Both, process specification & annotation as well as rendering the result graph is typically implemented using templates (see Templates section).

Example query which generated the example output shown below (book order process):

Output
The output would be the actual diagram. However, internally, the printer passes the GraphViz markup (as below) to GraphViz ($result = renderGraphviz($graphInput);) which then generates the diagram.

You could also have the process structure exported to a PNML for the use with the Horus Business Modeler. (see more here)

Examples
To see an example in action, go to Process-Demo-Wiki. (not available anymore)