16.4. Advanced Customization and Extensibility

Team System comes with many customization and extensibility features to allow you to create unique reports. For example, you can include custom fields within your work items and designate them as reportable. The adapters will automatically re-create the field in the data warehouse and start collecting data alongside all the other Team Project data.

Most custom fields that are created are used as dimensions. For example, if the field has a VALIDVALUE list, it is most likely a dimension, and can be used to summarize measures. If it has arbitrary values, the field may be a detail.

Here is a sample reportable field that represents a custom status, which is reportable (thanks to the reportable="dimension" attribute). It includes a list of statuses (based on traffic lights):

<FIELD name="Issue" type="String" refname="Stormpixel.TeamProject1.CustomStatus"
 reportable="dimension">
<HELPTEXT>Provides a custom status on a work item.</HELPTEXT>
<REQUIRED/>
<ALLOWEDVALUES>
<LISTITEM value="GreenStatus"/>
<LISTITEM value="YellowStatus"/>
<LISTITEM value="RedStatus"/>
</ALLOWEDVALUES>
<DEFAULT from="value" value="YellowStatus"/>
</FIELD>

NOTE

Note that once you create a reportable field, it can't be changed. You have to carefully select the appropriate type that makes sense and keep in mind the impact of your field on the rest of your projects. Note that all custom fields are stored in the same cube; therefore, naming becomes very important. If ...

Get Professional Team Foundation Server now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.