Team Foundation Task Board Enhancer: version 0.5 released

5 minute read

[Update: Version 0.6 released]

 

With the new year, comes a new release of my Team Foundation Task Board Enhancer (previous versions 0.1 , 02 , 0.3 and 0.4).

Let’s just start with standard disclaimerSmile

This extension uses undocumented TFS mechanisms, this means there is a risk (which I’m not able to quantify) it will stop working in the future with new TFS releases or updates . If that happens, the fact that the extension no longer works, it will be my sole responsibility and not of Microsoft.

The TFS Board Enhancer is a TFS Web Access extension, that adds extra capabilities to the TFS Task Board and the TFS Kanban board.

  • Allows you to see the work item ids on the board (without having to open the editor),
  • Allows you to auto refresh the board at a fixed interval (to be used on unattended wall boards for example), auto scroll the board, so you can see the whole board without having to scroll manually (also to be used on unattended wall boards),
  • Expand/collapse all requirements (or whatever your process template calls then, PBIs, user stories,…)
  • maximize your workspace by removing unneeded clutter from the screen.
  • Show the state on your requirement

This is the list of features until version 0.4, with the new release I added three main features

The extension works on both TFS 2012 RTM and on TFS 2012 Update 1

Hide/Collapse Closed Requirements

You typically reach a point where closed requirements (user stories, product backlog items or whatever it’s called on your process template) get in the way, and you want to focus on the requirements that are not done yet. If you have a medium number of requirements in your iteration, the closed requirements get in your way (visually). This feature allows you to get the closed requirements out of your way. Either by automatically collapsing them or hiding them altogether making them invisible.

A new filter has been added, with three options “show” (default value) in which closed requirements are visible (and expanded), “hide” in which closed requirements (they will be totally invisible) or “collapse” in which closed requirements will be visible but automatically collapsed so they get less in the way by making them less prominent.

The name of filter is dependent on the process template of the team project, it is composed by the closed state (closed on CMMI, done on Scrum and MSF Agile) and the name of the requirement on the process template (Requirement, backlog item or stories for example).

On the left screenshot we have the “closed stories   since it’s the task board of an MSF Agile process template while on the right we have “done backlog items” since we are in the presence of a Scrum task board.

On the right you can also see a counter, the counter contains the number of closed stories (on the right you have no counter due to the size of the filter text).

image image

 

This feature can be controlled by passing the _tspDone parameter on the query string. The possible values are H for hidden and C for collapse (case sensitive)

 

I would like to have your feedback on the current filter name. Currently It has two problems

  • If the process template has more than one work item type in the Requirements category  (something you can configure) then only one will be shown, so if you have more than one work item type in the requirements category this can be confusing.
  • When the size of the closed state and the work item type name exceed a certain size they are truncated (like you can see on the right screenshot) and the counter is not shown.

So I’m considering of having a fixed name for the filter (closed requirements for example) instead of a more contextual one like we currently have.

A fixed name is not as perfect as a contextual name, but it is a lesser evil since it will have less issues.

Any thoughts on this?

 

Persistent Settings

The first four versions had an annoying side effect. Every time you changed a setting the screen was refreshed so the parameters could be persisted.

In the beginning most features were designed to be used on a wall board, this wasn’t a problem, but as more features were added that could also be used in non unattended scenarios, this refreshing become increasingly annoying.

Using query parameters also meant that if you navigated to another page on web access or were simply entering the board after stop using it you would have to manually enter (or bookmark the board with query string parameters)

So in this version I’ve eliminated the need to have the parameters defined in the query string (which is still supported) and your settings will be automatically persisted. So if you do a refresh, return to the task board after navigating to another page (or site) or even closing the browser your settings your settings will be remembered.

This also has the bonus side effect of eliminating the need for screen refreshes.

The settings between the task board and the kanban board are independent.

query string parameters are still supported and have precedence over the persisted settings defined at the UI level (but they will not be persisted)

New Toolbar

Version 0.3 added a way for you to expand/collapse all requirements, while you could see my design skills are practically non existent they fit in at an acceptable level. But when TFS update 1 was released Microsoft slightly changed the layout of the tabs and my design proved to be very un integrated with the general UI of Web Access.

So I’ve redesigned the expand/collapse all featured and removed the text links to perform the actions and replaced them with the icons that are used by Web Access to make the UI more consistent.

So I’ve added a toolbar that contains an expand/collapse icons.

This how the toolbar looks in 2012 RTM

image

And this is how the toolbar looks in 2012 Update 1

I believe this looks much better and more consistent with the rest of Web Access UI in general.

However the expand/collapse in conjunction with the closed requirements feature is not perfect, if you expand/collapse the filter will be automatically reset. This is not a bug it’s a feature, but it’s a feature that is not consensual with my beta testers, I’m evaluating if this semantic should be changed so the features coexist a little better. (would love to get your thoughts on this).

Since I was at it, I’ve also added to the toolbar a refresh icon, so you can refresh the taskboard without using the browser refresh or using the address bar. Very useful when using the task board in a touch scenario or when the taskboard is embedded in another application that doesn’t contain browser navigation controls.

Download version 0.5 of the extension

if you have doubts how to install it, it’s fully explained in a previous post Team Foundation Task Board: Auto Refresh