With the release of TeamPulse 2011 R2 we have introduced the ability to create and assign tags to items within your backlog (stories, bugs, issues, and risks). When a new tag is created within a project it is assigned a random color from an internal list of colors.

These colors can be helpful visual indicators, but what if your team wishes to add meaning behind the chosen colors? It sure would be nice to have the colors match up with the words in the screenshot above. While there currently is no in-app method for defining tag settings, those unafraid of writing a little SQL can accomplish this goal fairly quickly.

Determine the Project ID

In order to update the tag color it will be necessary to know the Project ID for the project that the tag has been defined in. To determine the Project ID, open the project in question within TeamPulse and inspect the URL in your browser. The ID will be visible in the path, as shown in the image below:

Updating the color via SQL

TeamPulse uses a Microsoft SQL Server database instance to host it's data. After connecting a query management tool of your choice to the appropriate database instance a pretty simple query can be run against the TeamPulse database to view all the tags in the project:

select ItemTagID, ProjectID, Name, Color from ItemTag where ProjectID = 21

ItemTagID   ProjectID   Name       Color
----------- ----------- ---------- --------------
3           21          Orange     HotPink
4           21          Red        SlateBlue
5           21          Blue       DarkSeaGreen

Modifying the contents of the Color field will cause the color to change in TeamPulse. Colors can be defined using any valid Silverlight Color Name or one of 4 different hexadecimal formats: rgb, argb, rrggbb, and aarrggbb. The following example shows how update statements can be written using the various formats:

update ItemTag set Color = 'Orange' where ProjectID = 21 and Name = 'Orange'
update ItemTag set Color = '#FF0000' where ProjectID = 21 and Name = 'Red'
update ItemTag set Color = '#FF0000FF' where ProjectID = 21 and Name = 'Blue'

View the results

A quick refresh of TeamPulse is now all that is needed to see the results of these updates:

Note: TeamPulse applies an opacity mask over all tags that will significantly lighten the color when displayed. This is done for readability of the text within the tag and cannot be turned off.

About the Author

Joel Semeniuk

is a Microsoft Regional Director and MVP Microsoft ALM. You can follow him on twitter @JoelSemeniuk.



Comments are disabled in preview mode.