Installation > Appendix 1: Configuration Management Use Cases > Controlling Access Using Package Protection and Access Rights
Controlling Access Using Package Protection and Access Rights
Modeler supports the ability to set read and write access control at database and model level. Write access controls are also supported at package level allowing you to control write access to different parts of the model for different users. This feature is supported by setting access permissions on Packages.
Alternatively, you may want to freeze the development of a Package and its contents. This may be for ongoing reasons, for example, to prevent parallel development of Packages that have been imported from elsewhere, or for temporary reasons, for example, to freeze a Package during a review. This feature is supported with the ability to set a protected flag on a Package.
Both of these features are supported in the Access Permissions tab of the property pages for a Package. Buttons are also provided to cascade access permissions and the protected flag to child Packages.
Usage
From Modeler, on the Property Pages of a Package, use the Access Permissions tab to modify, add or delete access permissions to the Package.
From Modeler, on the Property Pages of a Package, use the Protected check-box on the Access Permissions tab to protect and unprotect that Package. Protected Packages in a model can be easily identified by the padlock on the Package icon.
Benefits
Package protection is often used when part of a model is imported into a separate model for reference purposes. For example, the flow down of an analysis model from a systems engineering team to a software engineering team, where this part of the model is for reference only.
Access permissions are often used to limit the danger of inadvertent changes. For example, when you have a large team working in different parts of the same interrelated model, a growing team of new and inexperienced users, or many users accessing the model merely for review and audit purposes.
Recommendations
Only use access control when you need to. The need for access rights will depend upon the structure and size of your team and the development stage you are currently in. It is important therefore that you choose a strategy that makes the best compromise in terms of limiting access versus making it efficient for making the required changes. A key time for tightening access permissions is likely to be when you need to introduce a change control review board.
On small teams, assign a team leader as model owner and allow them to administer the access rights on the model. On larger teams, empower a CM controller to administer Model and Package access control.
Modeler access permissions at model and package level support up to eight different names or groups. When working with a large team it will be necessary to use groups, rather than discrete user names, to control access. If you want further advice on policies to adopt then speak to PTC support, who will be pleased to advise you.
It is worth remembering that diagrams in UML are used to present a view of the underlying data. For example, locking a Package that contains a diagram will lock the size and location of items on that diagram. If you wish to protect the names of items on a diagram then you need to also protect the Packages that contain the items shown on it. For example, all useful class diagrams will implicitly contain Classes, so if you do not want the Class names to change on the diagram then you also must protect the Packages that contain those Classes.
The Modeler Help provides extensive information on Access Permissions, including a summary table of access rights at database, model, and package level. See the Model, Component and Package Management > Access Permissions section of the Modeler Help.