Team Foundation Server 2015 Customization

3 (2 reviews total)
By Gordon Beeming
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Creating a Dashboard and a Welcome Page

About this book

Team Foundation Server is an efficacious collaboration tools that will allow you to share code, track records, software, all in a single package. Integrate it with your existing IDE or editor and let your team work in a flexible environment that adapts to projects of all shapes and sizes.

Explore what gives you the edge over other developers by knowing the tips and quick fixes of customizing TFS. Effectively minimize the time users spend interacting with TFS so that they can be more productive.

In this book you will quickly cover lots of TFS extension points, from the very basic task of customizing and configuring dashboards to customizing automated builds and check-in policies.

You will learn how to create dashboards in TFS 2015, as well as add tiles, graphs, and more useful modifications. You'll perform customizations that make TFS work for you by streamlining your team’s boards. You'll cast modifications to the process template and learn the tips and tricks required to make efficient and valuable uses of your team’s board.

From team-specific dashboards to complex server plugins, everything is covered in this concentrated guide to aid your knowledge. Delving deep, this book covers the pros and cons of check-in policies, as well as their proper debugging and deployment strategies. After that you will learn about advanced XAML builds and TFS jobs to further experiment with the activities of your jobs on your system. Finally, you will learn about service hooks and the amazing utility of .VSO extensions to help you create new extensions and explore new levels of customization.

Publication date:
October 2015


Chapter 1. Creating a Dashboard and a Welcome Page

This chapter aims to guide you through creating dashboards for your team from information that exists in Team Foundation Server (TFS). We'll also take a lap around welcome pages and how they work. We will cover pinning of the following data to dashboards and how to move pinned data around on the dashboard:

  • Work item status: Here, we'll cover the pinning of work item query counts and charts

  • Recent source code changes: Here, we'll cover pinning a count of recent code changes

  • The build status: Here, we'll cover pinning charts showing the build time and if they pass or fail

  • Testing charts: Here, we'll cover pinning test related information like test status

We'll assume that you have access to TFS 2015 and have all the permissions required to create and modify various kinds of data in the team project that you are using. We'll also assume that you currently have some data that you are able to use for the samples.


What permissions do I need?

In order to pin the kind of data you want to your home page, you will need to either have Edit project-level information permissions for the project or be a Team Administrator of the team that you are trying to pin data for.


Note that if you have the Edit collection-level information permissions, this will not enable you to pin data to the team's home pages.

In addition to having these permissions, you will obviously need permissions to the kind of data you want to pin, for example, work item status, testing charts, and more.


What is the Team Dashboard?

The Team Dashboard is the landing page of a team. To get there, navigate to the HOME hub in the main navigation and then the Overview tab in the subnavigation. If you have a new team that has no activity yet, your dashboard will look something like this:

Figure 1: A default empty dashboard

The top section of the dashboard will begin to light up as your team starts work. The bottom part of the dashboard is where you can pin your own tiles for information that you may find useful for your team.


Pinning work item query data

In TFS, you are able to create queries using Work Item Query Language (WIQL) over all the work items in your team project collection. From these queries, you are able to pin some information to your dashboard to surface the results of those queries. There are two types of work item query data that you can pin to your dashboard:

  • Work item query counts

  • Work item query charts

Pinning work item query counts to the dashboard

Navigate to a query and click on the little arrow to the left of the query item in the query explorer. This will pop up a context menu. Click on Pin to homepage, as shown in this screenshot:

Figure 2: Pinning a query to the dashboard

After you have clicked on Pin to homepage, you will notice that the query now has a pinned icon next to it.


This is slightly different from TFS 2013, where you would add queries to Team favorites and then that would make them show up on the team's dashboard.

Now, if you navigate back to the dashboard by clicking on HOME and then on Overview (if it is not open by default already), you will notice that there is a new tile on the dashboard for this query.

Blue tiles are for queries, and they display a count of the work items returned from a particular query. These tiles are clickable and will take you to that query in the queries tab if you click on them.

Pinning work item query charts

Before we can pin a query chart to the dashboard, we need to create the chart.


Currently, you can only create charts for flat-list queries.

The easiest way to do this is by clicking on the tile on the dashboard from the query that we created earlier. This will take us to the query results view. Click on Charts, as follows:

Figure 3: Query results

You will notice that by default, there are no charts for a query. To create a new chart, click on the New Chart button, as shown here:

Figure 4: Creating the first chart

This will open up the CONFIGURE CHART dialog, as shown in the following screenshot:

Figure 5: The CONFIGURE CHART dialog

You are able to select how the chart orders its values. Commonly, this is ordering by Value or Label. For this field I prefer using label, the main reason being that when it's pinned, it's easier to consume the information in the charts because the same label value appears in the same place in the chart. In the case where the chart would be consumed once off, it would be a better solution to sort by value.


The options that show up in the drop-down lists, such as Group by in the Pie, Bar and Column charts, come from the columns that are shown in your query. So, if you have a custom field, such as Department, and you want to use that field in your chart, you will need to make sure that it is visible in the query results.

For now, we have all the columns we need, so let's select State for Group by, add by State to our title, and then click on OK, like this:

Figure 6: Saving a pie chart that is grouped by State

Now, we have created a chart and it shows as a saved chart for this query. From here, we can simply click on the ellipsis and then click on Pin to homepage, as shown in this screenshot:

Figure 7: Pinning the chart to the home page

Visually, nothing will change on this page, letting you know that it is now on the home page. However, if you click on the ellipsis again, you will see that it now says Unpin from homepage, like this:

Figure 8: Unpinning a chart from the home page

If we navigate back to the home page now, we will see that our chart is visible as well.

You pinned a basic query and a basic chart to the dashboard, but you can imagine with the various chart types available how much insight this can give to a team with just a glance on their dashboard. You can get more information about charts from MSDN by going to


Pinning recent code changes

I've often worked in teams in which there is a component that is important to their project, such as a framework or a regulated service, and even you would find that people often keep checking the history of such a component to see whether there have been any changes recently that may not have been communicated yet.

Luckily, with TFS, you can pin any folder from the source control to your dashboard. Navigate to the CODE hub and make sure that the Explorer tab is selected. From there, click on the arrow to the left of any folder and then click on Pin to homepage, as shown here:

Figure 9: Pinning code to the home page

Again, you'll notice that there is a little pinned icon next to the folder that indicates that it is pinned.

Navigating back to the dashboard, you will notice a purple tile with the count of recent code changes.

You can pin any level of your source control to your home page; for example, you can pin the entire repository (as we did earlier for our Git repository), or specific folders that you care about (say, a security library folder).


Pinning the build status

With builds, we get a much nicer pinned experience—in my opinion—than with the other areas where we can pin data. Navigate to the BUILD hub.

Now, similarly to the recent code changes in the build explorer panel on the left, click on the arrow and then click on Pin to homepage, as shown here:

Figure 10: Pinning a build to the home page

As with recent code changes, this will show you a little pinned icon next to the build item.

If we navigate back to the home page, we will now see a nice tile that shows passed/failed and the duration of builds for the pinned build.

You can pin both old XAML-style builds and the new type of builds to the dashboard.


Pinning testing charts

As with work items, test suites also have charting capabilities under the TEST hub. Navigate to the TEST hub.

From here, click on the Charts tab of any test suite, as shown in the following screenshot:

Figure 11: The Charts tab of a test suite

You will notice that for test suites, you are able to add charts that have two kinds of data sources. One type is the test case information, which is similar to the work item information but with data that is specific to test cases, and the other type is from the test case results, which give you data such as tests passed and failed.

Figure 12: Test case chart data option types

We can follow the same procedure as with the work item charts to pin this; just click on the ellipsis and then on Pin to homepage. Again, nothing will visually tell you that this chart is pinned, but you can navigate to the home page and you will see this very chart being displayed there.


Rearranging tiles on the home page

So far, we have pinned a bunch of tiles to the dashboard and it currently looks very messy, with gaps between some of the tiles, like this:

Figure 13: The Team Dashboard after just pinning the tiles

Now, obviously there is a way to rearrange these items and it is simple—just drag them around. Give it a try; drag the build tile between the work item query count and recent changes tiles, and then place the work item and testing chart next to each other.

Figure 14: Pinned tiles that can be arranged

As you can see, the rearranged tiles are a lot more effective, as there isn't a bunch of white space in between them.


Welcome pages

New to TFS 2015 are welcome pages as well. If you have used GitHub before, then you'll be familiar with markdown. GitHub does a really good job at explaining all the features of markdown at TFS uses markdown in a couple of places, one of them being its welcome pages.

Where are the welcome pages?

The welcome pages are on the teams' home pages. You can navigate to them by clicking on the HOME hub and then on the Welcome tab.

Once you are there, you will see on the left-hand side a list of all your repos for the current team project, as shown here:

Figure 15: A list of repositories and default markdown page

If you have a file in your repository, it will be displayed when you click on that repository. If you don't have a file, a default markdown will show you what you might have there. Then, if you want to create one, you can simply click on Edit and then alter the markdown. After you have clicked on Save, a file will be added to that repository.

Markdown files are a great way of creating documentation for your code. Some of the best reasons you'd want to do this are that it's easy to do and the markdown sits with your code, so it gets versioned with your code. This allows you to make comparisons in the documentation files as you would with any other code to see what has changed through various versions.



In this chapter, we took a lap around what can be pinned to a home page. We walked through pinning work item queries and charts created off work item queries to a home page. Then we looked at how to pin recent code changes, build statuses, and test case charts to the home page. Finally, we had a brief overview of what welcome pages are, what they are used for, and how we can use them.

In the next chapter, we'll be covering team boards in TFS and how we can customize them.

About the Author

  • Gordon Beeming

    Gordon Beeming is an energetic and passionate person who always strives to find ways to increase and improve the productivity and friendliness of the systems he works with. He is currently a software developer and does all kinds of TFS administration, customization, and exploring as a sort of a hobby. He is part of the ALM Rangers family and has also been awarded an Microsoft ALM MVP for the past 2 years. Gordon currently works for Derivco, which is a very unique company to work for and is based in Durban, South Africa.

    He has a published book to his credit, called Team Foundation Server 2013 Customization ( Also, as part of the ALM Rangers, he has a book to his credit, called Managing Agile Open-Source Software Projects with Microsoft Visual Studio Online (

    You can find him mainly on Twitter using the handle @GordonBeeming, and he occasionally posts blogs at

    Browse publications by this author

Latest Reviews

(2 reviews total)
the technical level of the information is low and the information is available from the MSFT documentation pages too for free. the standard price for the ebook does not reflect this.
Book Title
Access this book, plus 7,500 other titles for FREE
Access now