Please NOTE:  This module was developed for use by the DotNetNuke Core Team to manage the release of modules.  As such, it still contains some code and text that are specific to managing the release of custom DotNetNuke modules.  An effort is underway to make the module ‘generic’ so that it can be used to manage ANY process governed by a workflow

Project Description
The DotNetNuke Process Tracker was a module that was developed a few years ago and was used by the DotNetNuke Core Team to manage their module releases. This module was developed to be used for any scenario where you have a process with multiple steps, dependencies and people involved. The module allows you to define your process steps, exit criteria for each step, assign resources (people) and track items as they move through your process.

Dashboard Display
The module’s main display is a ‘Dashboard’, that shows you all the ‘Open’ items. Under each item name you'll see a 'timespan' since the last activity. This will let you know how long it's been since someone actively performed some activity on that specific item.  In the Fig 1. below, you’ll see a sample dashboard for tracking software module releases. You can see that it's been a little over 2 days since someone passed a testing criteria, or added a note to the Blog module (the second item in the list). You can also see the version being tested, the date the module was submitted to the release process and who the project lead is.


Figure 1. A sample dashboard of the module being used to track software module releases

The Dashboard use something called 'velocity coloring'. The color indicates the speed at which an item is moving through the process. If an item is display with a green gradient, it means the item has been worked on within the past 10 days. If an item hasn't progressed in more than 10 days, then it will be displayed on the dashboard in a 'yellow' gradient, and if the item is stagnant, no progress in 30 or more days, then it will have a red gradient background.

The Progress Graphs
There are then 2 bar graphs showing the progress of the item. The first is the overall progress. with 1 box representing each workflow state, or step of your process. A green box indicates the item has passed that state, and a grey box indicates is has yet to pass that state. So, in Figure 1 above, the Forum module has passed the first 3 states and has 4 more to go.

The next bar graph is the Current progress. Each state of your process can have 1 or more 'exit criteria' that must all be passed in order for the item to pass the current state and advance to the next state. Again, looking at the above example, the Current state chart shows that the Forum module is currently in the 4th state and that it has passed 1 of the 2 required exit criteria.

You want more detail?
If you want to drill in to see more detail on the progress of a particular item, click on the DETAILS link. The details view provides all of the data regarding the item’s progress. As is has a LOT of data to display, it uses a tabbed interface to organize the data. The header area displays most of the data that you saw on the dashboard


Figure 2. The Details tabs

The Status Tab
This is the main tab of the tracker module. It is made up of 3 sections. The top left is a list box showing the states of your process workflow. If a module has passed a certain state, then the text '(passed)' will be displayed next to the state. The current state will be indicated by the text '(current)'. If you click on a state name, the top right list box will show you the exit criteria defined for that state. Again, if an exit criteria has been passed, you'll see the text '(passed)' next to it. In addition, if there are any notes that have been entered for a criteria, you see the note count, eg: '2 notes'.


Figure 3. The States and Exit Criteria List Boxes

Clicking on a particular exit criteria will show you the criteria details in the bottom section of the page. A more detailed description of the criteria is displayed as well as any notes that were entered.

This tab is the heart of the tracker and provides a detailed view of everything that has been done, and what's left to do prior to an item being marked ‘complete’.

The Release Notes
The second tab contains the release notes for the item. This allows you to enter any notes about the item

The Test Cases
The next tab displays the Test Cases. This allows you to define ‘Test Cases’ for your item.  This can be used if you are using the module to track a process that includes automated or manual testing as part of the process.

The History tab
This tab is an audit trail of all of the activity since the item was submitted.


Figure 4. The History Grid

The Resources tab
Each state has one or more authorized roles that are used to identify 'who' can pass/fail criteria in that state. The Resources tab will display the people who can pass/fail criteria for the module in it's current state. Again, one of the goals of the Tracker module is communication. Making sure people who need to perform some task are aware of the fact, and this tab is another way for the Release Manager to 'kick' an item that's become stagnant in the process by contacting those people and seeing if there's a problem that needs to be addressed in order to get that module back on track.

Files
This tab allows you to attach “Files” to the item being tracked.


Figure 5. The Files Grid

There are 2 more tabs that you are only for adminstrators

Emails (Administrators only)
As an item enters each state, and as it passes or fails a state, email notifications are sent to the project lead and the authorized roles. This tab is an audit listing of all the emails sent so that the administrator can make sure the proper people are notified that they have some work to do.

Downloads (Administrator only)
Another audit tab that shows 'who' downloaded the files and when. This is another method for the administrator to keep an eye on who's working on the item

In Summary
The Dashboard view provides all of the info you need to track an item through your process, and drilling into the details view will provide you with some insight into the entire process an item must go through to be completed. The process is flexible, and you can customize the process on a per module basis, by adding and refining the states and exit criteria.

Last edited Apr 2, 2013 at 8:41 PM by sfabian, version 7