Visual Studio Team Services (earlier called as Visual Studio Online) has a new feature using which we can customize the welcome page and the Overview dashboard that is automatically provided. We can also create our own new customized pages to help welcome page and customized dashboards for different parts of the team project. In this article, I am going to review this feature and log the activities I did related to it.
For any stakeholder in a project, who may be a team member or a person external to the team; it is always interesting to know what direction that project is moving in and the progress it has made in that direction. First of these wishes is fulfilled by the Welcome page with its linked pages and the second one is fulfilled by the Overview and additional custom dashboards that can be created in Visual Studio Team Services.
Let us first have a look at the Welcome page and check how we can customize that page as well as add additional supporting pages to the welcome page. When we login to our Team Services account and navigate to any of the team projects, we land on the Overview dashboard. Just besides that dashboard is the readymade Welcome page. Initially it is nothing but the template of the welcome page, with instructions for how to customize it. The purpose of such a page is to provide a sense of direction to the team. It can have the vision statement of the project, gross level scope of the project, the implementation strategy, testing strategy etc. which can be referred by the team members whenever they are in doubt. These are the things that are decided early-on in the project and do not change during the implementation of the project.
Implementation and customization details
Welcome page is implemented using Markdown text in a file named README.md. This file exists under the source control of the same team project and is editable directly in Team Services.
Figure 1: Initial Welcome page under source control
This README.md uses the markdown to guide us on how to customize this page. Markdown is a language that can be converted to HTML. In markdown, for every part of the content, we can give the processing instructions inline with the contents.
The initial markdown contents of the page looks very simple like this:
Figure 2: Contents of the initial Welcome Page
When we click on the icon in the right hand corner of the markdown contents, we get the following:
Figure 3: Button to view markdown
We can see the actual markdown of those contents.
Figure 4: Markdown of the initial Welcome page
We can click on the Edit button to change that markdown. I changed it to the following:
Figure 5: New markdown of the Welcome Page
That markdown looks like this:
Figure 6: New contents of the Welcome page
Let me mention some highlights of that markdown:
- Any markdown between # and # are converted to HTML H1; ## and ## to H2 and so on.
- Any markdown starting with a hyphen (-) becomes part of the unordered list.
When I write the markdown as [Details] (details.md), it creates a new markdown page named details.md and creates a hyperlink to it with the text as Details. We can click on the details.md to open it and then view and edit the markdown of it in Team Services directly. New page details.md also gets added to the source control of the project.
More details about Markdown can be found at https://msdn.microsoft.com/Library/vs/alm/overview/reference/markdown-guidance.
Now that we have seen the way to markdown a welcome page and created its related pages, we can move on to the Dashboards. The overview dashboard is created by default. This dashboard contains some widgets that provide information about the status of the project.
Figure 7: Default (Overview) Dashboard
This dashboard is editable. We can see a pen icon on the right which is clickable and when clicked, allows us to manage widgets.
Figure 8: Edit dashboard buttons in Team Services
We can add widgets that are existing but are not present on the dashboard, remove widgets from the dashboard and can change the layout of the dashboard so that various widgets are repositioned on the screen. Changing the layout the way we want to, is not possible in TFS 2015 Update 1 but is available in Team Services so I expect that it will be available in TFS 2015 Update 2 whenever it is released.
Figure 9: Customize layout of the dashboard
Widgets to customize dashboards
Let us now see various widgets that are available to us.
Code Tile – This widget shows the number of check-ins / commits in the last 7 days. We can have multiple instances of this widget on the dashboard, each showing the changes for different branch or folder of the source. The first one that we add is for the entire source of the team project.
Figure 10: Code Tile Widget
And another one is for a solution folder named “SSGS EMS”
Figure 11: Additional Code Tile for other target folder
So finally on the dashboard, it looks like this. Two code tiles for two different targets.
Figure 12: Both code tiles side by side
2. Markdown Contents Widget – Earlier in the section for Welcome page, we have seen how to create the markdown for contents of our choice. This widget gives us opportunity to place any content that can be expressed as markdown.
Figure 13: Markdown contents widget
3. New work Item Widget – As the name suggests, this widget gives us the capability to add new work item just by providing its title and the work item type.
Figure 14: New Work Items Widget
4. Other Links Widget – This widget provides the fixed three links on the dashboard. These links are to:
a. Request a feedback (using Feedback Client tool)
b. Configure iterations
c. Configure Areas
Figure 15: Other Links Widget
5. Query Results widget – Results of any work item query will be shown in this widget. We can configure the query of our choice to be executed through this widget.
Figure 16: Query Results Widget
6. Burndown Chart Widget – While running the sprint, it is necessary to know the Burndown at any time. Burndown chart is available as an Agile tool. The same Burndown chart is shown on the dashboard using this widget. It is off-course necessary to have sprint dates fixed beforehand to get the current sprint for which the Burndown will be shown.
Figure 17: Sprint Burndown Widget
7. Sprint Capacity Widget – One of the very important tools that support Agile planning in Team Services and TFS is a view of how much capacity of the sprint is planned to be utilized by the existing PBIs and their tasks. As long as the total of hours for all the tasks does not exceed the planned capacity of the team, the bar shows that in green and as soon as the capacity is exceeded, it turns red. This same view is shown on the dashboard by this widget.
Figure 18: Sprint Capacity Widget
8. Sprint Overview Widget – this widget shows the status of the sprint in terms of how many PBIs are completed against total, number of days remaining in the sprint and bugs ratio.
Figure 19: Overview Widget
9. There are other widgets which show data which was commonly shown earlier like the Team, Team Rooms, Work related links and links to start Visual Studio. These parts of the dashboard are legacy ones and have been around for a long time now.
We can also create our own dashboards by clicking on the + sign besides the name of the default dashboard (Overview by default, which itself can be changed). These dashboards can represent data for various modules in the software being created or some specific Sprint etc.
Figure 20: Create New Dashboard
Visual Studio Team Services and TFS 2015 has given us a new opportunity to customize the Welcome page and the dashboard. It also includes the ability to create supporting pages for the Welcome page using the markdown and additional custom dashboards for parts of the project.
C# and .NET have been around for a very long time, but their constant growth means there’s always more to learn.
We at DotNetCurry are very excited to announce the pre-order of The Absolutely Awesome Book on C# and .NET. This is a concise technical eBook and will be available in PDF, ePub, and mobi.
Organized around concepts, this eBook aims to provide a concise, yet solid foundation in C# and .NET, covering C# 6.0, C# 7.0 and .NET Core. Use these concepts in your next .NET Project or to crack your next .NET Interview.
Click here to Pre-Order this eBook at a Discounted Price!