Tuesday, April 29, 2014

Extending Manul Notifications to the web

In the last post I wrote about Manual Notifications and the Visual Studio extension for Manual Notification which I created. In this post I’ll show a solution to bring Manual Notifications to all clients and users of your project.

VS Extension a first step. When I started developing the TFS Notify VS extension I knew from the start that it would only server as a first quick fix, as it only is available inside Visual Studio. For the many users who interacts with TFS through the Web interface, we need to provide something different. Unfortunately Microsoft hasn’t released a supported way to extend the web interface, so we’re need to find another way to bring the notification feature to the web.

Customizing the Web through work item definition customizations
One of the things we can customize which affects the web interface is work item type definitions. Instead of developing a custom work item control with the wanted features, we can simply create and deploy a simple webpage and “plug” it into the work item form using the standard WebPage control, passing the needed data as parameters.

Tfs Notify Web project
As I had a decent layered WPF client, creating a web solution what does the same thing as the wpf client was most about adding a web project and providing a html view on the model, keeping the existing code shared and unchanged between the Web project and the WS extension.  The trickiest thing is probably to deploy the web solution to a server.

Tfs Notify work item customizations
Once we got a webpage, we need to add a Web Page control to the Work Item type(s) you want to enable manual notifications on. To connect it and send the parameters, just select the Control Settings property and click the button. This will bring up a form that lets you specify the URL and parameters to the webpage. You can use $(FieldName) to pass field as parameter.

The result
I choose to add the Manual Notify page in the history tab. This is the result...

No comments:

Post a Comment