11
® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

Embed Size (px)

Citation preview

Page 1: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

®

IBM Software Group

© 2007 IBM CorporationIBM Confidential

Case Study forPermission and Behavior

Page 2: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission 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.

Page 3: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 4: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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??

Page 5: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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"

Page 6: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 7: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 8: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 9: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 10: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

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

Page 11: ® IBM Software Group © 2007 IBM Corporation IBM Confidential Case Study for Permission and Behavior

IBM Rational software

11

QUESTIONS?

THANK YOU!