Extension:Workflow, Dunkley 2009

Wiki-based workflow
Wiki-based workflow is a means of organising tasks into categories to be used as a blackboard system (a.k.a space-based architecture, shared nothing architecture or Tuple space). This is achieved in the wiki by establishing the workflow methodology as a set of best practices defining all aspects of the way the wiki is to be used, and an established resource of structured content to support that way of working.

Here is an example taken from the Wikipedia article which describes the system in terms of Human roles working together on a project.
 * A group of specialists are seated in a room with a large blackboard. The specialists are working as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution. The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply her expertise, she records her contribution on the blackboard, hopefully enabling other specialists to then apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved.


 * A blackboard system enables this flexible brainstorming style of interaction between diverse software specialists. Each of these specialists scans the changes to the blackboard, and posts an updated partial solution based on the state of the blackboard whenever its own internal conditions for doing so are met. These partial solutions cause other knowledge sources to update their portions of the solution on the blackboard until eventually an answer is found. In this fashion, the specialists work together to solve the problem.

The Workflow extension
Eventually we'd like to support many work-flow related features in the wiki, but the first and most important is to create the simplest possible means of moving articles from one point in a workflow sequence to the another. To do that a parser function called "tag" has been created which allows predefined groups of content to be quickly switched between without needing to edit the containing article.

Installation
To install this extension, copy OrganicDesign:Extension:.php and save into your extensions directory or in a subdirectory thereof. The file then needs to be included in your LocalSettings.php file as usual.

Usage
Description to come... see Workflow example

CSS Styles
The default format of a workflow is to transclude the article of the current state inside a container which shows the title of the current state linking to the template, and on each side of that a button for shifting the state one forward or backward in its sequence. The style of this container is determined by CSS rules which can be added to your wiki's main.css file, or to the MediaWiki:Common.css article. The ones we use which look render the container shown in the image above are as follows:

Change log

 * Version 0.0.12 (2007-10-27): Ready for use and testing.