Skip to content

Blog moved

This blog is moved to: http://joost.haneveer.nl

Track bugs as backlog items

When you are using the CMMI project template in TFS 2012 and use the Backlog to track your Work Items there are scenarios where you want to see Bugs in your Backlog. The Scrum template already has this behavior by default.

On the internet there is some guidance to make this possible, but that information is not complete. (http://msdn.microsoft.com/en-us/library/vstudio/jj920163.aspx)
So here you have a complete step-by-step guidance to do so.

Add the required fields to the bug work item type

For the configuration to be valid, you must first add the estimate and backlog sort order fields to the bug work item type.

  1. If you don’t have admin permissions for your team project, get them.
  2. Open a Command Prompt window where either Visual Studio or Team Explorer is installed and enter:
    cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE

    (On a 64-bit edition of Windows, replace %programfiles% with %programfiles(x86)%)

  3. Export the bug work item type definition.
    witadmin exportwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:"MyProject" /n:bug /f:"Directory/bug.xml"
  4. Add the Discipline and Size fields.
  5. <FIELDS>
    …
    <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">
      <HELPTEXT>The discipline to which the task belongs</HELPTEXT>
      <ALLOWEDVALUES expanditems="true">
        <LISTITEM value="Development" />
        <LISTITEM value="Analysis" />
        <LISTITEM value="User Experience" />
        <LISTITEM value="User Education" />
        <LISTITEM value="Test" />
      </ALLOWEDVALUES>
    </FIELD>
    <FIELD name="Size" refname="Microsoft.VSTS.Scheduling.Size" type="Double" reportable="measure" formula="sum">
      <HELPTEXT>The size of work estimated for implementing this requirement</HELPTEXT>
    </FIELD>
    </FIELDS>
    
  6. Add the Stack Rank, Discipline and Size fields to the work item form.
  7. <FORM>
    …
    <Column PercentWidth="33">
      <Group Label="Planning">
        <Column PercentWidth="25">
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Priority" Label="Priority" LabelPosition="Left" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Severity" Label="Severity" LabelPosition="Left" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Triage" Label="Triage" LabelPosition="Left" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.CMMI.Blocked" Label="Blocked" LabelPosition="Left" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.StackRank" Label="Stack Rank:" LabelPosition="Left" NumberFormat="WholeNumbers" MaxLength="10" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="Discipline" LabelPosition="Left" />
    	<Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Size" Label="Size" LabelPosition="Left" />
        </Column>
      </Group>
    </Column>
    …
    </FORM>
    
  8. Import the updates bug definition.
    witadmin importwitd /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:"MyProject" /f:"Directory/bug.xml"

Add the bug work item type to the Requirements Category

  1. Export the categories definition.
    witadmin exportcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:"MyProject" f:"Directory/categories.xml"
  2. Add bug to the Requirements Category.
    <CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">
        <DEFAULTWORKITEMTYPE name="User Story" />
        <WORKITEMTYPE name="Bug" />
    </CATEGORY>
    
  3. Import the categories file.
    witadmin importcategories /collection:"http://MyServer:8080/tfs/DefaultCollection" /p:"MyProject" /f:"Directory/categories.xml"

Confirm that you can add bugs to the product backlog

Open the product backlog page, or refresh the page if it’s already open.
You should see a drop-down menu for the work item Type.

Modify column configuration for your product backlog board

When you go to the product backlog board after your modifications you will get the following error:
Product Backlog Error

Click on the “correct this now” link. In the screen that follows you need to map the properties of the Bug type to the columns in your board.
Column mapping

Click OK to save your changes. Your board should display correctly:
Working product backlog board

Load JQuery scripts from a CDN with local fallback

Page ContentHow many unique visitors you`ve got last month? I bet the number is still under 1 billion, right?
So you’d better use Google’s copy of jQuery instead of yours. If your user still has the cached file of Google’s website (or from many other sites that uses its CDN*) his browser will just get the cached version, improving a lot your website’s performance. You can use it by copying & pasting this HTML:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script>

In SharePoint scenarios this is very useful in Internet Websites and in Intranet sites where you now the local network has internet access.

* CDN = Content Delivery Network

Find more JQuery tips on http://webdesignledger.com/tips/9-jquery-mistakes-you-shouldnt-commit

Modify the groups listed when granting permissions to a site

When you click the button ‘Grant Permissions’ in the Permission screen of a site you always get the option to insert a user inside a SharePoint group. Most of the time there are some groups listed that are not applicable. But we can do something about that.

  • Go to the Site Settings of your website
  • Click ‘People and groups’
  • Click on the ‘More…’ link in the Quick Launch in the Groups section
  • Click ‘Settings’
  • Click ‘Edit Group Quick Launch’
  • In the following screen you can pick the groups that show up in the Group Quick Launch, but this list will also be used in the ‘Grant Permission’ screen

Follow

Get every new post delivered to your Inbox.