It's all about the answers!

Ask a question

Error condition when using "Require Work Item Approval"

William Hunsicker (40610) | asked Jun 28 '13, 8:36 a.m.
 I have created a project area with two team areas in it, all of which is being used to control source code processes.  I have placed the require work item or comment on the project area operation behavior Deliver(Server).  I have placed the default Require Work Item Approval on the second team area process configuration Deliver(Server) Everyone role, and set the required approvals to a role we call Component_Lead.

I create two streams: one owned by the first team area, the second owned by the second team area (with the precondition).  They were both sourced from the mainline stream which houses all our components for source code.

The flow targets go from the developer eclipse area, to the developers personal repository area to stream 1 then to stream 2 (the one that should be restricted).

My developer user can check in the code, associate it with a new work item, deliver it to the first stream and then deliver it to the second stream without the work item being approved

When I look at the XML for the second team area, the precondition has a red X next to it that reads:
               cvc-complex-type.3.1: Value '' of attribute 'id' of element 'precondition' is not valid with respect to the corresponding attribute use. Attribute 'id' has a fixed value of 'com.'.
  I have tried placing the precondition at both the team level and the project level and the developer still is able to check in code and it shows the red X on all XML areas.

Question 1:  Does anyone know how to resolve this?
Question 2:  Is this behavior a result of the fact that I have configuration options defined at both the Project Area and the Team Area levels?


Bill Hunsicker

2 answers

permanent link
Lauren Hayward Schaefer (3.3k11727) | answered Jul 02 '13, 7:11 a.m.
Hi Bill,

I found work item, which says that the warning you're seeing is "effectively a warning. It does not degrade performance or functionality."

I don't know enough about the precondition myself to suggest why this isn't working for you.

William Hunsicker commented Jul 02 '13, 8:06 a.m.

Thank you Lauren.  I have posted on that defect my observations. 

permanent link
Ralph Schoon (62.9k33645) | answered Jul 02 '13, 8:23 a.m.
Please be aware that it is easy to overwrite the preconditions. For example, if you just check the "Preconditions and follow up actions are configured..." for another role and don't provide any preconditions, that role effectively has no behavior for that extension point.

In general the approach you take is correct, but I would make sure there is no other role configured, and if so, make sure to configure the approval for all roles that configure the operational behavior. You also want to check that there s no override on the timelines.

See for more information on how that works.

William Hunsicker commented Jul 02 '13, 8:36 a.m.

Hi again Ralph :).  I have checked all other roles in the project and team area and no other role overrides the precondition check.  I have configured the precondition to be effective for the default "Everyone". 

I just checked the timelines (didnt know those could do that), and there are no Operational Behaviors configured at any level.

The one thing I am not sure of is this:  I have two team areas defined in the Project Area.  The project area has no Operational Behaviors defined.  Team Area 1 has some defined, but not the Deliver (Server) ones.  Team Area 2 has the Deliver (Server) defined for only the Everyone role.  Do the different Team Areas merge the behaviors in any way?  As I understood it, they should behave as if they were seperate project areas, right?

Ralph Schoon commented Jul 02 '13, 8:51 a.m. | edited Jul 02 '13, 8:51 a.m.

Hi William,

operational behavior does not merge. There is a hierarchy involved though. Look at the article I mention above for details.
Operational behavior is selected from the owner of the item. E.g. Stream 1 is owned by Team 1. The operational behavior for Team 1 applies. If there is no operational behavior defined, the operational behavior in Team configuration on project area level applies.
The operational behavior is processed for the first role a user has in the context first. If non is found it goes down the roles (everyone if for users that have no role or have one that has none configured). Roles have an order top to down/left to right in the users role assignment.

In your example, if there is no override, I would expect the user needs an approval for the delivery (on all work items) associated to the change set when delivering to stream 2.

Your answer

Register or to post your answer.