Deliver to stream that is owned by different team area
We have the following team area setup (Team All is a child under the project area and Team UI & Team Backend are children of Team All):
Project Area
Team All
Team UI
Team Backend
Team All is the owner of a stream called Design Documents.
The only member that directly belongs to Team All is the scrum master. The UI developers and backend developers are assigned to the appropriate team (so they are not members of Team All). They all have the default Team Member role.
The RTC server version is v4.0.7.
The Issue
Because the stream Design Documents belongs to Team All none of the members of either Team UI or Team Backend can deliver to that stream. But as the stream contains documents for both teams all of the members should have the permission for that.
What I tried
I used the "Restrict Change Set Delivery to Components in a Stream" precondition in the team area process configuration (of team area Team All) to enable all team members with the role Team Member to deliver to the components in the Design Documents stream. I followed the description in the jazz.net article (215) section Use permissions to control delivery to components. However, users in the UI or backend team area are still not allowed to deliver to that stream.
Question
So my actual question is: What am I doing wrong. Do I misunderstand that article and the corresponding documentation? Is there any other way to achieve that without adding all members to the Team All and set a new role to them that explicitly only allows deliver to a stream?
One answer
permission to deliver to a stream is managed by the role a user has in a certain context. Users that don't have a dedicated role (by being a team member and having a role assigned) have the everyone role.
The "Restrict Change Set Delivery to Components in a Stream" does not override that behavior. It only allows to restrict it a bit more.
You can add the users to the specific team area and have a custom role that only allows to deliver. Or you can allow the everyone role to deliver in the team areas.
Read:
Process behavior lookup in Rational Team Concert 2.0
Process permissions lookup in Rational Team Concert 2.0
Comments
In the following article (I should have mentioned it before) there is a similar example. https://jazz.net/library/article/1075/#com.ibm.team.process.definitions.server.componentPermissions
"If
Child1
has a stream that allows access to anyone with
Root Role
, anyone from
Root
,
Child1
, or
Child2
may deliver changes to it."
If In understand it correctly all members with the appropriate role then have write access to that stream (I should have mentioned this article earlier).
Please don't confuse the operational behavior with the permissions. The user needs to have permission to deliver, in the first place, then the operation behavior can limit it.
The roles refer to a specific context, the project/team area that owns the stream. Users need to have a role that allows them to deliver in that context.
All the users have the permission to deliver to a stream in general. They have the default Team Member role assigned which allows them to do that.