Multiple preconditions for operation behaviour.
The second question is about the description of Pre-conditions as seen in the page for setting operations from the Eclipse client (emphasis mine).
Preconditions are checked before running an operation; follow-up actions are executed after. An operation's preconditions and follow-up actions can be configured differently for each role. Note that operation configurations completely replace each other; they are not additive. The process runtime will choose the most appropriate operation configuration for the logged-in user and will use only the preconditions and follow-up actions defined in that configuration.The text in bold is apparently referring to the fact the final condition is not a AND of the comprising conditions. So, what happens if multiple configurations are actually provided ?
Here is an example. For Deliver (client) and Deliver (server), there is a precondition for to have a Work Item and comments. (I presume, comments are for change-sets ?). Then, there is one for the Work Item to have an Approval. My requirement is to have both. That is, a change set should be delivered if an associated Work Item exists AND the Work Item has an approval. So, if both preconditions have been selected, then exactly what is in effect ?
I seem to have achieved my goal by selecting the precondition for approval; but, I do not understand what do the options on this page actually mean.
Accepted answer
the highest authority role configuration wins. these pre/post actions are configured by role.
<br>
The process runtime will choose the most appropriate operation configuration for the logged-in user and will use only the preconditions and follow-up actions defined in that configuration.
Comments
"the highest authority role configuration wins"
- Is the "highest authority" role determined by the position of process roles for a person in a team area ?
- How is the "highest authority" determined if the same name with different roles appeared with only one of the roles in different team areas ?
- How does RTC figure out the role after a user has logged on ?
everytime I see the role grid, it is left to right, everyone, then lower further to the right.
you could look at the grid used for pre-condition setup..
the workitem the user is acting on determines the role the user has. the workitem has the data in it that selects the TeamArea.
everytime I see the role grid, it is left to right, everyone, then lower further to the right. you could look at the grid used for pre-condition setup..
Sorry, Sam, I didn't follow that. Perhaps, I am being dense. Are you saying the highest is at the left of the grid ?
the workitem the user is acting on determines the role the user has. the workitem has the data in it that selects the TeamArea.Yes, I got that. However, what if a person has different roles in different team areas ? We want to nominate a person as a "Librarian" whose task is to migrate code to system testing and then to production regions. However, as our team is small, this person is also expected to be a "Developer". Naturally, we would like to have the Librarian role have broader access than the Developer. I thought, we could implement this by having different team areas where the same person has different roles. But, I am not sure, what roles takes into effect as soon as this person logs in ?
(In the meantime, I am arguing with management to allow a different person for librarian activities to avoid such hassle.)
see the great articles posted below by Ralph
2 other answers
on the seconds part, they mean if you have multiple roles assigned to the user, they are not additive.I see. So, it is about multiple roles a user could have; not the multiple preconditions as applied to a given role.
Having said that, these preconditions can be adjusted up and down. So, there does seem to be some order of the preconditions being applied. What does this mean ?
Comments
I don't think the order of the preconditions is significant. Or at least not very significant. I think all preconditions are still run even if the first one fails. Even if that is not true and precondition checking stops at the first failure, the order of the preconditions would only affect the error message that you receive, not the overall success or failure of the operation.
I hadn't noticed the up/down even after all this time.
testing this shows the order just returns the messages in the order of failure,
but all the pre-conditions run.
I think, the key message is, all the preconditions do run.
Thank you !