Read only component - vs. do not allow deliver to a stream
Dr. Hans-Joachim Pross (1.1k●44●58)
| asked Sep 28 '15, 8:11 a.m.
JAZZ DEVELOPER edited Sep 28 '15, 8:12 a.m.
I'd like to have a component with reusable stuff.
This component should be changed only by a specific reuse team, but all other teams should be allowed to read that stuff. I have a project area and below a team area for that reusable stuff. The same project area has other teams which should have read only access to the stuff from the reuse team. I can configure my project in a manner, that only the reuse team is allowed to deliver to the reuse main stream. But others could modify the component, check in and deliver to other streams. Is there a way to inhibit changes to the files in that component (for other teams than the reuse team) and not only to deliver those to a specific stream? If not, what is the use of allowing changes to (reusable) stuff by not responsible teams? |
One answer
Geoffrey Clemm (30.1k●3●30●35)
| answered Sep 28 '15, 9:39 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
It is my (strongly held :-) opinion that if someone has read access to a component, they should always be able to make private changes to that component in their own workspace or their own stream. If you disallow this, you are just forcing them to make those changes in an uncontrolled way in the file system (if they have read access to the component, they can modify it in the file system). Anyone who is not interested in those changes can ignore them, and restrict who/what can be delivered to their streams (which is why component write access is controlled at the stream level).
Comments 1
Geoff, yes, someone could always change his private copy in his file system. But my customer is aware of that but nevertheless he wants to have some stuff read only except for a specific team.
Geoffrey Clemm
commented Sep 29 '15, 10:04 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
There is no support provided for this functionality, and it is very unlikely that we would consider adding such a function, for the reasons identified in my message above. One of the criticisms of high-end SCM tools is that they "get in your way". Sometimes a tool has to "get in your way" to prevent a serious problem, but I have seen no convincing arguments for this being one of those cases.
Ralph Schoon
commented Sep 29 '15, 10:27 a.m.
| edited Sep 29 '15, 10:29 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I would like to see this too, because I think you should indeed be able to do this kind of stuff. I also think that operational behavior in general is too brittle to work well, if you are not very careful. Just clicking on "Preconditions and operational behavior is configured..." for some role and doing nothing but save will override all operational behavior configured for everyone immediately for anyone happening to have this role in the context.
Geoffrey Clemm
commented Sep 29 '15, 10:57 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
WRT disallowing creating private change sets on a component, I'm happy to continue the discussion in this forum entry, or via another medium if you prefer. Note that "I have a customer that wants to do it" is not a sufficient reason (:-).
We have permissions that can be set up to prevent a lot of stuff. In the last releases ownership and visibility has been introduced for almost everything. Ownership and visibility and permissions determine what can be done and what can't. I can make sure a stream is owned by a team and you can't deliver there due to a missing permission, I can not deliver to a repository workspace at all, if that is owned by someone else - for good reasons. There are many things you can do to limit now, that we did not have in the beginning. We even have capabilities to make stuff read only.
I don't buy your reason in this case. There are other situations where the user can't deliver (e.g. with the precondition) and they don't even see that in advance. Wanting to be able to limit who can deliver to a component by ownership is from my perspective as legitimate as the other precautions we already have. To me this is a gap and I think if RTC is supposed to be used in big enterprises it has to adopt to these kinds of things.
I don't, by the way argue that users should be able to do their local changes and be able to e.g. check in to their repository workspace. What sometimes should be prevented is delivering to the component. One example: certified code stored in the component and you want to make sure only that is available to users etc.
Geoffrey Clemm
commented Sep 30 '15, 6:36 p.m.
| edited Sep 30 '15, 6:36 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
A few comments on the points raised by Ralph:
showing 5 of 8
show 3 more comments
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Comments
Have you read and tried https://jazz.net/library/article/215#componentadvisor ?
Restrict delivery to a component in a stream, from my perspective only protects the component in said stream. If one creates another stream with the component, he could still deliver.
It's also on a do not deliver to a stream base, and not a component based solution.
Dang, I missed that line.