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...

Friday, April 4, 2014

TFS Notify – Manual Notifications for TFS

Ever wanted the possibility to pick a work item, email it to someone with a comment, change the state and have the comment added to the discussion of the work item? Many ticketing system have this capability, mostly called Manual notify, but as a TFS user, there hasn’t been a good solution, until now.

Manual notification
Moving a lot of teams and organizations to tfs, I sometimes come across the need for manual notifications, and this week I did again, then I occasional talked to a colleague over coffee and he complained about him being forced to do double entry of work item data, due to the lack of manual notifications in TFS.

Can’t be done
In the discussion one thing triggered me, apart from being a known feature gap, and that was the fact that my colleague had been told it couldn’t be fixed with TFS. After looking at the current solution he had in the other ticketing system, and matching it to what I have come across earlier, I had a clear picture of the need, and how to solve it.

A flu and a couple of evenings = Minimal Viable product
having a need and an idea how to solve it, the only thing lacking was time. (Un)fortunately, I had managed to catch a slight flu, which prevented me from normal, sensible,  activities during the evenings of the week. With the time at hand, and a little (but very important) help from Neno, I created the first minimal viable product to at least solve the problem for some people.

TFS Notify – a Visual Studio Extension available at Visual Studio Gallery
I choose to implement the solution as a Visual Studio extension at first hand, mainly because it is a solution that has the lowest distribution and adoption barriers and the best user experience. For me it’s also very easy to get started and productive. The extension is available for download at Visual Studio Galley http://visualstudiogallery.msdn.microsoft.com/aa48c2c8-e420-469f-8d20-3bcea2c97b24

The future of TFS Notify
My immediate plans for TFS Notify is to develop a solution/extension that works with the TFS web access. Apart from that I got some ideas on the backlog for the Visual Studio extension, but as time is time is scarce and I have many ideas, the future of the TFS Notify extension is dependent on the on the traction and feedback it gets.

Alert me & Alert people for specific work items
An easy way to create alerts for me and for other people on a specific work item with one or two click, is also a fairly common ask from teams adopting TFS. The TFS Notify extension provides a platform for adding that capability fairly easy, but as usually, time is a scarce commodity 