Upload
shawn-davidson
View
216
Download
1
Embed Size (px)
Citation preview
®
IBM Software Group
© 2007 IBM CorporationIBM Confidential
Case Study forPermission and Behavior
IBM Confidential
IBM Rational software
2
Process behavior lookup In order to compute which preconditions and follow-up actions to run, we
look for a configuration of the operation's behavior following these steps: Decide which team area governs the operation.
Compute which roles the user plays in that area by adding up all the role assignments from the governing area up to the project area.
For each of these roles, in order:
Start at the governing team area.
For the governing team area and each parent team area up to and including the project area:
– Starting with the current iteration and working up any parent iterations:
– First, look for a configuration of the iteration itself.
– Second, look for a configuration of the iteration type.
– If a configuration is found in an area, remember this configuration.
– If a configuration is found in a parent area and it is declared as final, remember this configuration instead.
– Once we've looked all the way up the hierarchy, if we have a configuration, this is the one that is used.
IBM Confidential
IBM Rational software
3
Process permission lookup The lookup of process permissions is nearly identical to the Process
Behavior Lookup.
The key difference between permission lookup and behavior lookup is that behavior chooses a single "operation behavior configuration" from the XML, but permissions potentially choose multiple "operation permission configuration", one for each of a user's roles.
If a user has multiple roles: For behavior lookup, if a configuration data is found in one role, the lookup process will be
stopped and this configuration data will be used for this behavior.
For permission lookup, the user has the permissions granted for each of their roles.
For detailed information, please refer to http://jazz.net/library/article/33
IBM Confidential
IBM Rational software
4
Senarior1 ---- team configuration hierarchy Background
ProjectArea: Junit Project
TeamArea: Junit Team
Markus is one of the member in Junit Team and has the Team Member role.
Case1 --- for behavior Background: In the team configuration of the project area, the “Deliver” operation for
Team Member role has been configured to have the precondition “Prohibit Unused Java Imports” .
Question: Can this precondition be removed in Junit Team for this role and how?
Case2 --- for permission Background: In the team configuration of the project area, the Team Member role has
been granted the “Deliver” permission.
Question: Can this permission be revoked in Junit Team for this role and how?
Case3 --- final configuration Question: For Case2, if we set “Deliver” permission as final for Team Member in project
area, what will happen??
IBM Confidential
IBM Rational software
5
Senarior2 ---- multiple roles Background
ProjectArea: Junit Project
TeamArea: Junit Team
Role: Team Member, Scrum Master
Case1 --- for behavior Background: Markus has two roles: Team Member and Scrum Master. And Team Member
is the first role for Markus. The behavior configuration of “Deliver” for these two roles are listed below:
Question 1: Does Markus need to follow the pre-condition when he deliver code ?
Question 2: And if Scrum Master is the first role of Markus, what will happen?
Behavior Team Member Scrum Master
DeliverConfigured to has no
PreconditionsConfigured to has precondition "Prohibit Unused Java
Imports"
IBM Confidential
IBM Rational software
6
Senarior2 ---- multiple roles (cont) Case2 --- for permission
Background: Markus has two roles: Team Member and Scrum Master. And Team Member is the first role for Markus. The permission configuration of “Deliver” for these two roles are listed below:
Question 1 : Can Markus deliver code to the steam which Junit Team area governs?
Question 2 : And if Scrum Master is the first role of Markus, what will happen?
Notes: Don’t forget the default role: “everyone” role. If there is no configuration data found for all the process roles, the “everyone” role will be taken into account.
Permission
Team Member Scrum Master
Deliver Configured to has this permission. Configured to has no this permission
IBM Confidential
IBM Rational software
7
Senarior3 ---- configuration in iterations Background
ProjectArea: Junit Project
TeamArea: Junit Team
Markus if one of the member of Junit Team as Team Member
Timeline: development
Iterations:
Case1 --- iteration and iteration type
Background: For “Deliver” operation, we configure it both in “Development” iteration and its type “Development Milestone Phase”.
Question: Which configuration data will be selected for this operation? (Easy )
Case2 --- iteration hierarchy Background: For “Deliver” operation, we configure it both in “Development” iteration and its
parent iteration “4.4 s2”.
Question: Which configuration data will be selected for this operation? (Easy )
Iterations Iteration Type
4.4 Project Phase
4.4 s2 Milestone
Development (Current Iteration) Development Milestone Phase
IBM Confidential
IBM Rational software
8
Senarior3 ---- configuration in iterations (cont) Case3 --- With Team Area hierarchy and final flag (a little bit difficult )
Background: (for “Deliver” operation)
Question 1: which configuration data will be selected for this operation?
Question 2: which configuration data will be selected for this operation if the configuration for Development iteration in Junit Project area is not set to final?
Question 3: which configuration data will be selected for this operation if there is no configuration data found for Development iteration in Junit Project area? (It’s clear now )
Area Iterations Configuration Is Final
Junit Project
4.4 Configured to have no precondition. Yes
4.4 s2Configured to have the "Prohibit Unused Java
Imports" precondition.Yes
Developme
nt(Current)
Configured to have the "Prohibit Unused Java Imports" and "Require Work items and Comments" precondition.
Yes
Junit Team
4.4 No configured data N/A
4.4 s2 No configured data N/A
Developme
nt(Current)
Configured to have the "Prohibit Unused Java Imports", "Require Work items and Comments" and "Require Work Item Approval"preconditions.
No
IBM Confidential
IBM Rational software
9
Senarior3 ---- configuration in iterations (cont) Background for Question2 in Case3:
Area Iterations Configuration Is Final
Junit Project
4.4 Configured to have no precondition. Yes
4.4 s2Configured to have the "Prohibit Unused Java Imports" precondition.
Yes
Developme
nt(Current)
Configured to have the "Prohibit Unused Java Imports" and "Require Work items and Comments" precondition.
No
Junit Team
4.4 No configured data N/A
4.4 s2 No configured data N/A
Development(Current)
Configured to have the "Prohibit Unused Java Imports", "Require Work items and Comments" and "Require Work Item Approval"preconditions.
No
IBM Confidential
IBM Rational software
10
Senarior3 ---- configuration in iterations (cont) Background for Question3 in Case3:
Area Iterations Configuration Is Final
Junit Project
4.4 Configured to have no precondition. Yes
4.4 s2Configured to have the "Prohibit Unused Java Imports" precondition.
Yes
Developme
nt(Current)
No configured data N/A
Junit Team
4.4 No configured data N/A
4.4 s2 No configured data N/A
Development(Current)
Configured to have the "Prohibit Unused Java Imports", "Require Work items and Comments" and "Require Work Item Approval"preconditions.
No
IBM Rational software
11
QUESTIONS?
THANK YOU!