Team Foundation Task Board Enhancer: More Features

 

[Update: Version 0.3 has been released]

In a previous post (Team Foundation Task Board: Auto Refresh) I talked about how Team Foundation Server task board is missing some functionalities and how I implemented a Web Access Extension to augment it’s functionality. Version 0.1 implemented an auto refresh feature, so it could be used to display the task board in big unattended wall screen.

Even though the first version, only added the auto refresh feature, I mentioned this extension was called Task Board Enhancer because I wanted it to provide more than the auto refresh feature.

So I’m announcing version 0.2 of the task board enhancer, Which adds three more features (actually just two, another one is just a refining of the auto refresh so it doesn’t count as a feature).

New Features in version 0.2

Define the auto refresh interval

The previous version, had an hard codev refresh interval value of 30 seconds. In this version you can specify the refresh interval.

There is still no UI to configure (it doesn’t seem that bigger deal, since the auto refresh feature intention is to be used un attended anyways).

In order to define the refresh interval you have to pass the _tspRefreshInterval parameter in the query string. The value is specified in seconds. (the default value is still 30 seconds).

Maximize Workspace

Since in an un attended scenario,  we are mainly interested in viewing the task board itself, it would be interesting to remove the clutter from the screen and only see the task board itself, this is exactly what this feature does.

If you activate it, it removes the hubs entries (Home, Work,…) and the second level tab.

This is feature can be enabled on the UI

image

or by passing the parameter _tspMaximize with the value of 1

Look below how the clutter has been removed (don’t worry you can regain it by just un ticking the checkbox) and allow you to see only the task board (the burn down chart is still there)

workspace maximized

Add Work Item Ids to cards

In a previous post Adding work item ids to Team Foundation Server Board, I talked about one of the most requested features I hear, is the desire for people to have the work item id listed on the cards as part of the title.

I  mentioned I wanted to do this as an extension, but there weren’t enough hooks in the extensibility model for me to do it cleanly, so I provided a bookmarklet to do it.

The hooks are still not there, but I’ve implemented it anyways Smile.

It’s still not implemented in a clean way, but it’s implemented as an almost elegant hack. There is a small delay for the id to be visible, if you drag the card to another lane, the id will disappear and will appear again after a small delay.

Showing the work item ids on the cards

If you look at the image closely, you will noticed that in the collapsed parent work item (the horizontal lane) the work item id is not visible, it an unfortunate side effect due to a quirk in the current implementation of the task board. I’m evaluating if I can work around this behavior with an elegant hack. Perhaps in the next version.

This feature is not toggle able. It’s always enabled.Smile

 

What is next?

I still have a few more features on my backlog, but if you have any suggestions I would love to hear them.

How to get it?

Download the extension

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

Team Foundation Task Board: Auto Refresh

 

[Update: Version 0.3 has been released]

In a previous post I talked how you could enhance TFS task board by adding the work item ids to the cards using a bookmarklet and also mentioned several things that people usually want added to their task board (like card coloring).

In that post I didn’t mentioned a common request (was saving it for this post Smile) is the ability for the task board to be automatically refreshed.

While a automatically refresh, isn’t very interesting when used by a person, it is kind of of mandatory if you wish to have a wallboard displayed in a screen visible to the entire team.

Since this functionality isn’t available out of the box, I’ve written a Web Access Extension to add this capability to the task board.

While extensions are supported (for now only on premises version, this feature is not enabled on Team Foundation Service) they are still a black art. Writing an extension is not an easy task, since there is no public documentation yet. To be able to do it, you have to either reverse engineering or know the right people who can give an hand at this.

Extensions are executed exclusively on the client side and are written in Javascript, since 2012 Web Access supports a client side object model, so you can call practically every API that Team Foundation Server has.

There are several types of extensions but I’m not exact sure if they are formalized. with extensions you can do a lot of things (list not extensive  Smile). I’m still scratching the surface of all of this…

  • Work Item Custom Controls – You can extend work item forms with your own controls. Creating such an extension has been documented in the ALM rangers guidance – Team Foundation Server Process Template Customization Guide
  • Custom Build sections – adding custom build sections like in Team Explorer
  • Change the look & feel of pages – like using custom colors, formatting based on conditions, change CSS styles
  • Add/remove behavior from pages – like adding missing functionality or adding support for gestures for example
  • hook up custom event handlers  – like the save event for having customized validations
  • Extend of replace existing UI Controls- For example to use a different rich editor

So in order to enable auto refresh on your task board you will have to install the provided extension (I have named it Task Board Enhancer because I intend (time permitting) to add more functionality to it, the auto refresh is the first feature.

To install it, to go the admin page , by clicking on the cog icon (FIGURE 1)

image

Select the instance by clicking on “control Panel”

image

Then click on the extensions tab

image

Click on the cross to upload the extension zip file.

image

After the upload is done, you will need to enable the extension by clicking on the enable button.

image

To see the result, just go to a task board (you may need to press control F5 to force a full refresh of the javascript for the first time).

auto refresh

A new checkbox will be added (disabled by default), if you enable it will start a countdown (30 seconds for now) and then the value reaches zero, the board will be automatically refreshed.

if you wish to disable the refresh, untick the checkbox.

If you want to enable the refresh without checking the box manually, you can pass the parameter _tspRefresh with the value 1 in the url.

This can come in handy if you wish display the taskboard in a wallboard and don’t want to manually set the refresh.

For example to start Internet Explorer in kiosk mode you could do (other browsers also support similar features)

iexplore -k http://tfs.mycompany.com:8080/tfs/myTeamProject/myTeam/_board?_tspRefresh=1

(don’t form replace the text in bold with the name of your server, team project and team name (which can be omitted for the default team)

Download the extension