ColorCodedGantt

Update [10/21/2009]: version 1.1 is available for download (see links below). Remember to set the jQuery path and the pictures path in the script before using it.

Craig Lowrie is a Network administrator at the Ear Science Institute (Australia). A couple days ago, he shared with me a very useful script, allowing to add color coding to SharePoint Gantt views.

Let’s start with the live demo (combined here with the Gantt slider):
http://www.pathtosharepoint.com/Gantt/

A SharePoint Gantt view is made of two sections: the Gantt view itself (not customizable), and underneath a “summary list” that displays the task properties. We have customized this view to display the priority levels.

Craig’s script works as follows:
- first, it scans the summary list to identify for each task the priority level.
- it then goes back to the Gantt view, and for each task it replaces the blue bar with the appropriate color (red/yellow/green). This is done by replacing the dozens of small blue images that make the Gantt view with custom images (yes, SharePoint uses one image per day!).

The files for this customization are available on my site’s download page (to download a file, right click on it and select “save target as”).

First, you’ll need to unzip BarImages.zip, and place the images created by Craig in a library.

Then you’ll need to place the script on the page that contains your Gantt view. You have two choices on the download page:
- either the script (ColorCodedGantt.txt) that you’ll paste in the source editor of a Content Editor Web Part
- or directly the Web Part itself (ColorCodedGantt.dwp) that you can import to your SharePoint page.

The last step consists in minor adjustments to the script:
- change the path to point to the library where you stored the images (PicturesPath in the script)
- The sample code calls the jQuery library available online from Google. You may want to link to your local jQuery library instead. Or remove the call if you already use jQuery on your page.

You can easily adapt the script to work with a choice list other than Priority. Simply replace (High|Normal|low) in the script with your own values.

Thanks for sharing Craig!