Collapsing work item states
On my project we have about ten different work item types and many of them have similar workflows. Because of the way people created the new work item types over time, we have several workflow states that are logically the same but treated as different values from a work item query perspective.
For instance, if I create a query and add the "Status" attribute, I see the following values simply for the logical "New" state:
As an experiment, I manually edited the process configuration source for a rarely used state ("Deferred") and was able to replace the duplicate logical states with a single state (basically by ensuring that both workflows referenced the same state ID). I then did a bulk work item update to update all work items with the old Deferred to the new Deferred and finally removed the old Deferred states.
The result is that I now see this in the work item query editor for Deferred:
... which is just fine.
My question is this: Is there any downside to performing this clean-up for every work item state that has logical duplicate states? I can only think of two:
I can handle #1 just via communication. I can live with the unlikely potential annoyance of #2. Anything else?
-----
PS - For your reference, here is my approach for making the change:
|
One answer
We don't typically recommend changing the process configuration source, but based on your requirement, this is the only option. The only problem which may arise is that if you have work items stuck in state A and change that state ID to match state B. Those work items will be stuck in 'no mans land' and not have a logical path to move to the next state.
To avoid this, make sure that no work items are in the state you are changing. First, move them into a new 'intermediary' state and then back into that state (you will need to configure a bunch of different workflow actions for this). Just be careful when changing the source and make the changes one at a time so that you can easily revert back to the previous process template and recover from any issues. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Comments
Bill, have you implemented this and if so, have you seen any issues? We are looking at doing some "simplifications" in our workflows and would like to do somewhat of the same ... have a 'Common New' which is used for all workflows so that we only have 1 "New" in the Query Builder as all workflows would use the same ID. So instead of something defectWorkflow.state.s2 and aparWorkflow.state.s7 and taskWorkflow.state.s3 ... we would have common.state.new as the ID (by manually editing the process XML) that is used in all Workflows as the initial state.
Hi Susan, yes I implemented this and it worked great, other than sending out many confusing emails to people.