Work Item Field Conflict (Microsoft.VSTS.Kanban.Blocked)

Mar 13, 2012 at 3:24 PM
Edited Mar 13, 2012 at 3:25 PM

I'm starting to look at and play around with the Kanban process template.  Great stuff!  However, I think I have a problem with the TFS warehouse synch and refresh jobs.  When I review the status of the jobs (using the http://servername:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx URL), I see the following error under the project team collection where I uploaded the new process template:

>[Work Item Tracking Warehouse Sync]: ---> TF221161: There are conflicting definitions of the following work item fields in the warehouse: Microsoft.VSTS.Kanban.Blocked<->Microsoft.VSTS.CMMI.Blocked (VHASandboxCollection). These conflicting definitions come from different project collections. Work items from project collection BISLTeamCollection will not be updated until the conflict is resolved. You can resolve the conflict by making the definitions of the field the same in all project collections, or marking the field as non-reportable in the project collection BISLTeamCollection. For more information, see the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=160807).

Thus, it looks like the generic CMM process template has a work item field named "Blocked" and the new Kanban process template has the same work item field name.  The CMM process template has been used to create a team project in one project collection while the new Kanban process template has been used to create a team project in another project collection.  But, it looks as if work item field names either need to be unique across templates (or need to be marked as non-reportable, but I don't think that is the best solution).

Any thoughts?  Thanks in advance!!

Dave Fackler

Mar 14, 2012 at 11:52 AM
Edited Mar 14, 2012 at 2:28 PM

Hi Dave,

Do you use it on TFS2010?

I cannot reproduce your problem.. I created a Kanban Team Project on CollectionA and a CMMI Team Project on CollectionB.. Added some blocked tasks. The jobs are running fine though. 

If you're using TFS2010, do you have SP1 installed?

Mar 14, 2012 at 11:57 PM

We are using TFS 2010.  We do not hae SP1 installed yet, but are doing so over the next day or two.  I'll report back if the problem still exists after SP1 is installed...

Dave F.

Mar 16, 2012 at 2:55 PM

Yesterday, we upgraded our TFS 2010 farm with SP1.  So, I looked at the data warehouse refresh jobs to see if the problem discussed above still exists.  And it does indeed still seem to be a problem.  However, TFS now supplies a slightly different error message:

[Work Item Tracking Warehouse Sync]: ---> TF293000: The data warehouse has detected data conflicts for the following work item fields: Microsoft.VSTS.CMMI.Blocked<->Microsoft.VSTS.Kanban.Blocked (BISLTeamCollection). The conflicts occur because there are differences in the attributes set for reportable fields that are defined across team project collections. Updates to the data warehouse will continue for project collection Vinci. However, updates to the data for the conflicting fields are suspended until the conflicts are resolved. You can resolve these conflicts by making the definitions of the field the same in all project collections, or by marking the field as non-reportable in project collection Vinci. For more information, see the following Microsoft Web site: http://go.microsoft.com/fwlink/?LinkId=160807.

So, any suggestions on where to go from here?  Obviously, the Blocked field in the Kanban process template is important from a reporting perspective.  And I would assume the same holds true in the CMMI process template...

Help?

Dave F.

Mar 16, 2012 at 3:46 PM

I did some more research on this.  It appears the the two different Blocked fields have different definitions in terms of allowed values and default values...

It looks like the CMMI.Blocked field in a work item only has "Yes" as an allowed value and does not have a default value.  So, any work items created in a project that uses the CMMI template end up having a blank value for the Blocked field and can only be set to "Yes" or left blank.

The Kanban.Blocked field in a work item, however, is defined as having both "Yes" and "No" as allowed values, with a default value of "No".  So when a card is created, for example, the Blocked field is set to "No" can can be changed to "Yes" or left as "No".

I'm not sure if these differences are enough to cause the data warehouse refresh to have issues (as listed above) and I'm also not sure why you cannot recreate the problem (as I don't think we've done anything out of the ordinary with our TFS environment)...

Dave F.

Mar 18, 2012 at 7:24 PM

Thanks for your information Dave, I tried your problem using TFS11, and there I don't have this problem. I'll try it again with TFS2010 this week.

Alexander

Mar 20, 2012 at 1:59 PM

Hello,

I as for my investigation think it is due to the conflict with MS CMMI template (MSF for CMMI Process Improvement v5.0)  that is already defining field Microsoft.VSTS.CMMI.Blocked  with visual name "Blocked", as Dave noticed,

at least it looks for me as the cause.

so the thing to solve is:  reuse the CMMI field or change name in kanban card workitem....

Developer
Mar 21, 2012 at 2:47 PM

Thanks everyone for raising and investigating this issue.

Just to be clear, the repro for this is to...

1. Create a Project in a Collection using the MSF for CMMI template

2. Create a different Project in the same Collection using the Kanban template

The effect of this is that Data Warehouse sync fails to update the DW data (and therefore the Cube) for both the Microsoft.VSTS.CMMI.Blocked and Microsoft.VSTS.Kanban.Blocked fields.

The fix to this is for us to modify the Kanban template to either:

* Use the Microsoft.VSTS.CMMI.Blocked field or

* Modify the name of the Microsoft.VSTS.Kanban.Blocked (in Card.xml) to something like "Kanban Blocked"

Thanks,

adam