Project planning and reports

This is a plugin for planning projects and using collaborative maintenance to keep track of the status.



There is a hierarchy of information in the web used by the plugin that will be used for planning:

  • Web - the TWiki web containing all the projects. It is strongly recommended to setup a separate web for project tracking. One web can be used to track multiple products.
  • Project - the project being worked on for a delivarable. Each project has a home page, which contains an auto-generated summary of the project progress.
  • Plan - a project is divided into various plans. Each plan can be thought of as a cohesive feature that can be planned and allocated together.
  • Task - Task is the atomic unit of work. Each plan is divided into multiple tasks. Task is the granularity of work allocated to a developer and scheduled in terms of man days.
  • Developer - a user who is allocated the task.


Creation of pages is recursive, each page has an html form that uses a template to create child pages or a table with defined columns:

  • Projects. You can create a new project page using the html form on the home page for the planning web. You can add additional content to these pages if desired, but do not delete the existing content. This is used to provide high level overviews of schedule progress.

  • Plans. Each Project page has a form for creating plans in addition to the summary of currently entered plans. The template for the Plan page has a table where tasks can be added, allocated and updated.

Note: Project and Plan names have to be WikiWord. Task names may or may not be. However, if Task names are specified as WikiWord, it provides links to add more info about the task and also provides a pretty printed version for online-challenged meetings.

The top level project creation form is displayed by adding the keyword % PPALLPROJECTS% in any page. The creation of plans and addition of tasks are performed in the resulting forms that are generated when a project is created.

ProjectPlannerPlugin Settings

Plugin settings are stored as preferences variables.

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Project planning and reports

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Advanced Settings

It is possible to customize the PlanTemplate to have a different layout for the Task Table. However, the plugin does depend on the fields in the table for processing information for some of the variables. The plugin can tolerate some shuffling of the columns and can automatically parse the PlanTemplate topic file to figure which column is which field. However, the plugin depends on the exitence of the following required columns for the tasks:

Name Comment
Task Name Name of the Task, can be a WikiWord to enable adding more info
Summary brief summary for executive consumption
Module a module that this task belongs to for Module based processing
Developer developer assigned to task
Priority possible priority values for task
Status status of task (not started, in progress, waiting, and done)
Est. Days estimate of man days for the task
Spent Days number of man days already spent
Est. Effort percentage of developer devoted to this task
Results_Comments self-explanatory
Date Added to keep track of dates
Key default value of PPTASK (Important - required for searching the table)

Note: It is advisable to setup a separate web for the project planner and create all projects and plans in that web. Whenever new data is entered into the web, the plugin crunches through all the files in the web to identify files which belong to various projects. This can be slow if the planner is used on a web with a large number of files.

Variables available for displaying status

This is a list of all the variables available. These variables can be placed at relevant places on the web to display the information.

Note: For any of the items below when the list of projects is not specified, all the projects in the current web are used to list the information. Many of these variables take wildcards with a star in the name for projects and plans.

Variable Parameters Comment
PPALLPLANSTASKSUMMARY comma separated list of planexp:taskexp regex pairs any bunch of plans and tasks put together
PPPROJECTPLANS project topic adds a form for plan creation
PPALLPROJECTSPLANS comma separated list of regex project topics no plan creation form
PPALLPROJECTSTASKS comma separated list of project topics  
PPALLPROJECTSINFO comma separated list of regex project topics creates a printable summary with all info from all tasks
PPDEVSUMMARY comma separated list of regex project topics summary by developer
PPDEVDETAILS comma separated list of regex project topics detailed tasks by developer

Status Summary Display

  • Handling of the Est Days and Spent Days in Summary Views: The plugin computes cumulative totals based on the status of tasks. Hopefully, the following rules help understand the totals:
    • done status: It is assumed that the Spent Days is not updated and Est Days is the column that accurately describes the estimated days and spent days for that task. The Est Days is used for the green color bar and Spent Days is ignored.
    • not started status: It is assumed that any Spent Days is meaningless and the Est Days is used for total days. The Est days will all show up as part of the red bar in status.
    • waiting status: This status says the task is blocked for some reason. It is assumed that Spent Days is already spent and the remaining days (Est Days - Spent Days) is enough to finish the task after the reason for the block is removed. The Spent days are used as a blue color bar in status from rev 2.040 onwards. The remaining days will add into the red bar.
    • in progress status: The Spent Days are used towards the Spent total (and the orange color bar in status). The remaining days (Est Days - Spent Days) are used towards the red color bars.

Usage Tips

  • Naming Projects, Plans and Tasks: It is a good idea to name projects, plans and tasks so that you can group them by using wildcards when you want to display summaries and status.

Additional TWiki plugins needed

The following TWiki plugins are needed to get this plugin to work at its best:

  • EditTablePlugin is used to simplify entering of tasks by using an EditTable template.
  • TablePlugin is optional but useful as it allows you to sort tabulated information by column

Plugin Installation Instructions

  • This plugin has only been tested with the 01Feb2003 TWiki release.
  • Download the ZIP file from the Plugin web (see below)
  • the default ZIP installs in the TWiki common directory. it is advisable to create a separate web for the project planner and copy the Template files to that directory.
  • Unzip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/ProjectPlannerPlugin.txt Plugin topic
    data/_yourweb_/ProjectTemplate.txt Page template for project
    data/_yourweb_/PlanTemplate.txt Page template for a plan
    data/_yourweb_/NewPageError.txt Page displayed when a new page creation operation failed
    lib/TWiki/Plugins/ Plugin Perl module
  • Visit configure in your TWiki installation, and enable the plugin in the {Plugins} section.

NOTE: The ProjectTemplate.txt and PlanTemplate.txt files need to be copied to the appropriate yourweb web or you will see a blank page when you create the Project from the PPALLPROJECTS tagged page.

Version 2.000 Changes

Version 2.000 breaks compatibility slightly with the data files if you use the original version. It was required to fix a bug. This version fixes a few bugs and adds several features outlined below:


  • getViewUrl fix: The newer release of TWiki fixed/broke some compatibility with older plugin code. Version 2.000 of plugin includes this needed fix. If you need to use version 1.000 with the newer release of TWiki, let me know and I can post a patch.
  • PlanTemplate change: The template file has been changed to fix a small bug in parsing all the plan files. For people who have already installed the earlier version and want to change to the new version, you might be able to hand-edit the Plan files by seeing the difference between the PlanTemplate files to convert plan data files to new format.
  • Error on missing Template files: A few people tried installing and did not copy the ProjectTemplate.txt and PlanTemplate.txt files into the correct web. Now the plugin gives an error message on the web when it cannot find the template files.
  • Plan ID: adds a new field to Project and Plan called an ID. This can be used as a second level of grouping to collect plans from different projects into one collection. This can preserve the Project-Plan-Task hierarchy but still provide the flexibility of grouping using an ID field. It can be left empty harmlessly and not have any repercussions on the rest of the plugin. Related to it there is now a variable called PPPLANIDSUMMARY that summarizes the plans by ID (like the PPDEVSUMMARY that summarized by developer).
  • Wildcard support: The comma separated list of projects can now have * as a wildcard in each project name.
  • Three Color Status: now not started, in progress and done are shown in green, orange and red instead of just green and red.
  • Done/Cancelled: plugin now counts cancelled tasks same as done tasks.

Version 2.010 Changes

  • Feature Fix: Till version 2.000, the plugin required at least one plan in each project before it was displayed in the list of projects in the top level page. version 2.010 displays all projects even if they do not have any plans.
  • Project Summary: Now the projects list at the top shows the Summary for each project in the table of projects.
  • Removed some HTML comments from the ProjectTemplate and PlanTemplate that seems to cause the Edit Table not to appear in some TWiki versions.

Version 2.040 Changes

  • New variable: PPPLANSTASKSUMMARY will collect information about lists of plans and tasks and display the status summary
  • New variable: PPDEVDETAILS. Split summary by developer into two views. PPDEVSUMMARY variable displays one line summary for each user and PPDEVDETAILS shows all tasks and status like previous PPDEVSUMMARY
  • Sorted developer names in summary views for easier lookup
  • Fixed bug in handling display of summary by developer by owner where spaces would result in different owners
  • Multi-developer task: added partial handling of multiple developers in one task using a comma separated list. it is strongly recommended not to use this method and actually split the task up into multiple tasks with one owner each.
  • Waiting Status Color: Added a new color bar (Blue) for waiting status and count days spent on it since it is similar to in progress rather than not started.
  • Cancelled Status: Fixed handling of cancelled state in Summary by Developer view. Cancelled status is treated same as Done status where Est Days are added to Total Days and Spent Days ignoring the Spent Days column.
  • Added summary by module below the project summary which splits days into Est Days and Spent Days by module.
  • Added summary by Task Priority below the table in several summary views
  • Added summary totals for tasks in various summary displays
  • Added two views for summary by PlanId. First view is high level view with plans for better consumption. Second level detailed view is by tasks.
  • Added Tasks Done and Total columns to the summary views
  • Flipped order of Spent Days and Est Days (only in summary views)
  • Stole Julian calendar processing code from SpreadSheetPlugin
  • Added computation of a completion date (actual Julian calendar date) by adding remaining days to today in the developer summary views
  • Minor change: Added status color bars for total days in all plans of a project view.
  • Minor bug fixes in several places

Sample Output

Note: Cut-and-paste has been hand-scrubbed and hence will not pass any sanity checks. This sample is from Rev 1 and it looks different in newer revs.

All plans for projects

Project Plan Summary Status By Tasks Status By Days Est Days Spent Days
AddedOneMoreProject SecondProjPlan Description of second projects plans
7 2
  RevAPlan For Revision A
7 0
          Total Est: 14 Total Spent: 2
TestingPPProject RevBPlan List of tasks for Revision B
5 1
  MichaelTesting testing 1 2 3
27 10
          Total Est: 32 Total Spent: 11

Summary of developer tasks and status for TestingPPProject

Developer Task Plan Module Status Est Days Spent Days Est. Effort Calendar Days Left Status By Days
  TestItem2 MichaelTesting development in progress 25 10 100 15
  TestItem3 MichaelTesting development not started 1   100 1
  another task MichaelTesting documentation not started 1   100 1
          Total Days: 27 Spent Days: 10   Calendar Days Left: 17
  RevBItem2 RevBPlan design in progress 5 1 50 4
          Total Days: 5 Spent Days: 1   Calendar Days Left: 8

Installation test

  • If installed correctly you should see the following content between the two horizontal lines below - a title "All Projects" and a single cell table with the field containing the word "Project", and finally an html form to add a new project (dont use this form from here though!)


Plugin Info

Plugin Author: TWiki:Main.KiranBondalapati
Copyright: © 2004-2006 TWiki:Main.KiranBondalapati,
© 2006 TWiki:Main.IsaacTo
© 2006 TWiki:Main.MarcJSVerwerft
© 2006-2010 TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Plugin Version: 2010-11-10 (V2.051)
Change History:  
2010-11-10: TWikibug:Item6530: Doc improvements -- Peter Thoeny
2006-10-26: Fixed problem (see TWiki:Plugins.HowToUseProjectPlannerPlugins) / added comments -- Marc JS Verwerft
2006-08-24: Fixed the performance issue using the Dakar update of Isaac To -- Kiran Bondalapati
2006-04-18: Made the plugin TWiki 4.0 compatible -- Isaac To
2004-12-09: V2.040: Add features -- Kiran Bondalapati
2004-08-02: Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.024
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
TWiki:Plugins/Benchmark: GoodStyle nn%, FormattedSearch nn%, ProjectPlannerPlugin nn%
Plugin Home:

Related Topics: TWikiPreferences, Main.TWikiPreferences, TWikiPlugins

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2010-11-11 - TWikiContributor
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    TWiki21Nov All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback