Extension:EzPlan

DISCLAIMER
'''EZPLAN IS A HIGHLY EXPERIMENTAL, UNTESTED EXTENSION. TRUST NOTHING THIS EXTENSION REPORTS AND ALWAYS VERIFY RESULTS OBTAINED THROUGH THIS EXTENSION. USING EZPLAN TO PLAN YOUR MISSION CRITICAL PROJECTS MAY RESULT IN MASSIVE TANGIBLE LOSSES, PROJECT FAILURE AND FINANCIAL RUIN. THIS EXTENSION MAY KILL YOUR PUPPY AND EAT IT TOO. BEWARE!'''

Why
For quite a while now I've been struggling to find a simple project management and progress tracking tool for a small team to easily collaborate. While things like Microsoft Project, OpenProj and Project.NET have their uses, I found them to be just too complex and cumbersome to use, for what was essentially a simple graph topological sort with a few bells and whistles on the side. Being finally fed up this weekend with having to type ordered lists in Wiki, I've decided to build a tool that suits my needs.

What
EzPlan allows you to:


 * Create task hierarchies
 * Specify out-of-hierarchy dependencies between the tasks
 * EzPlan will warn you if you end up with loops in your topology
 * Render different types of views for the created task hierarchies

Usage
Writing your own EzPlan consists of two steps:
 * 1) Define a plan
 * 2) Render a view of the plan

Defining an EzPlan
A simple EzPlan looks something like this: 
 * 1) [assigned="arcivanov"]Decide to build EzPlan
 * 2) [completed="1"]Evaluate MS Project
 * 3) Evaluate OpenProj
 * 4) [completed="1"]Observe multiple crashes
 * 5) Evaluate Project.NET

trying to force Project.NET to recalculate workspace progress. 
 * 1) [completed="1" weight="3" id="ora"]Install Oracle DB
 * 2) [completed="1" id="mq"]Install Apache MQ
 * 3) [completed="50%" depends="ora,mq"]Bang your head on the table repeatedly

So I defined a plan. Now what?
Now you insert tags to create reports like this:  or like this:  or like this: 

What do reports look like?
The definition view looks exactly like report in the Defining an EzPlan section.

Task view report looks this:

Dependency view report with absolute weighting looks this:

Download instructions
Download the extension, unpack and place the entire contents of the archive into the  directory. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.

Installation
To install this extension, add the following to LocalSettings.php: