TFS Lock Work Items in State - tfs

Once work items in a particular workflow reach a "tested/resolved" end state, I don't want them to be editable. I could enter Field restrictions on the end state for every field that exists, but that's a pain and doesn't easily support the addition of future fields. Is there an easier way?
Thanks!

Alas, I don't think there is an "out of the box" way to do this except for using the "when" clause on each of the fields or adding it to the state transitions to "tested/resolved" (as you have indicated).

Related

tfs tasks\bugs edited by me

Once I've finish working on an item and it is assigned to someone else, it exits my queries scope and I can't find it anymore. Sometimes I just need to make a quick look up on items that went through me and recognize an old bug by description or date.
Is there a query like that by default in TFS2010 ?
How else can I search bugs that have me in their history flow?
Yes you can. There is an "Was Ever" operator for the "Assigned To" field. This will allow you to query any work item that was ever assigned to you. The same operator exists on the "Changed By" field.

How can I add text to a work item

We have a few bugs and change requests which have a complicated iteration path. This results in people coming over the team to ask 'Where do we raise items' a lot.
As you can't set a default value for the iteration path in TFS 2010 we think the best solution would be to add a string of text under the field which we can manually update every 7 weeks with the correct area to raise items in.
However TFS doesn't seem to allow just a line of text on its work items as a control. Is there a way to add a line of display text i.e. Not a field you edit, but just to inform those writing the items?
Please note that it needs to be visible at all times, using the tooltip 'help text' field on a control is not enough in this case.
You can use the LabelControl for this purpose.
You can not have a default in the work item for the iteration path, but what you can do is making use or the template url in web access or the work item templates in the power tools to create a work item that is prepopulated with values.
What about a custom field with a display control in read-only? You can give a default value to the field and the "read-only" control prevent other to change it.

TFS work item change reason without state change

I am looking for a way to change workitem's reason field without changing work item state.
Reason field acts something like a "sub-state" field. I am adding some new values to this list but it is field recognized by TFS itself and it will not allow me to change the value of the reason field without changing state.
Naturally switching to another state and switching back just for changing the reason field is not cool.
Is there a way to do this?
Reason is set up in the work item definition to be a documentation for "why" the state changed. That's why you can't edit it without changing state. If you really wanted to change this, you could edit the work item definition to remove the state-change logic, but I wouldn't recommend this unless you are totally sure what you're doing.
If you find yourself needing to change this value without a state change on a regular basis, you may be trying to use the field incorrectly. You might want to consider setting up a different field with appropriate "reason" codes so that you can change them as necessary without worrying about state.

TFS: How to add more 'CheckIn' actions

Out-of-the-box TFS provides ability to either "Associate" or "Resolve" bug/task during check-in action.
I've added additional state "Implemented", created transition from "Active" to "Implemented", added into its "Action" value "Microsoft.VSTS.Actions.Checkin" and expect to have "Implemented" option in the list of "Check-in Action" on the "Pending changed => Work Items" panel.
I've saved updated work item type, imported it into TFS, 'refresged' team explorer... but in "Check-in Action" list there are still only "Associate" and "Resolve".
Please advise: how to add additional options into that list and implement switch of work item state.
Any thoughts are welcome. Thanks!
The checkin actions aren't item workflow states, but are used to trigger the transition of a work item from one state to another.
As a starting point, have a look at the MSDN Documentation to get a better idea of what's required.
You might also want to look at this older thread on the support forums.
The only thing I've found is that the only "resolve" action is allowed for Check-in operation. And it is only available if from "current" state you have defined "Microsoft.VSTS.Actions.Checkin" action. Some time it work's, sometime now. If you are adding few actions from one state (with different name) - they both works,... but not exactly as I want... don't know why...

SharePoint - checking Content Approval change status in event receiver

I have a SharePoint list with Content Approval enabled. The business requirement is that once the new list item is approved it should stay approved despite further updates by any user.
My first thought was to handle the ItemUpdating method, and if the corresponding before property is Approved then set the after property to Approved. This doesn't work however.
In the ItemUpdating method the "Approval Status" column does not show up in properties.BeforeProperties or properties.AfterProperties. properties.ListItem["Approval Status"] and properties.ListItem.ModerationInformation.Status both show the "before" value. In the ItemUpdated method the situation is the same, except instead the values shown are the "after" values.
Is there a way in either method to identify both the before and after methods? I can work around this by creating a new hidden column that I set when the item is approved but that doesn't seem best.
Should I be approaching this from a workflow perspective?
Would this help?
http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=25
Use field's internal name with AfterProperties or BeforeProperties.
i.e. properties.AfterProperties["internal name"].
It works for me
Please refer to the following properties in the AfterProperties section for a document library.
Document libraries are a bit different than lists. the doc libraries have .AfterProperties["vti_doclibmodstat"] and .AfterProperties["vti_doclibmodcomm"].

Resources