Group permissions for interfaces
Set permissions for interfaces and their attributes
When using the Permissions Manager to configure a group, you can set permissions for any interface in your customer project. This includes the system interfaces provided with Alloy and any custom interfaces made by your organisation.
As designs inherit permissions from any interface they implement, setting permissions on an interface provides a way to set them across multiple designs simultaneously.
For each interface, you can define a granular level of access. This affects all items of all designs that implement the interface and determines what the group's users can do with them, e.g. Group C can read and edit items that implement the Defects interface. Group D can also create and delete them.
For the attributes on the interface, you can set a default level of access, which can then be overridden for individual attributes if needed, e.g. Group D has read/write access to all attributes of the Tasks interface but Group C has no access to the Priority attribute.
Setting permissions on interfaces can potentially affect a wide range of designs and other interfaces. However, inherited permissions can be overridden by setting permissions directly on a design/interface.
Interface permissions
To set permissions on an interface when configuring a group in the Permissions Manager:
-
Select Interfaces in the Categories column.
-
Select the relevant interface in the next column.
-
Enable one or more of the following Design interface permissions, according to your needs:
-
Create - allow the group's users to create items that implement this interface.
-
Read - allow the group's users to view items that implement this interface.
-
Edit - allow the group's users to edit items that implement this interface.
-
Delete - allow the group's users to delete items that implement this interface.
-
These permissions let users perform these actions on items. However, attribute permissions should also be set accordingly, otherwise they won't be accessible.
For example, if the Create permission is enabled on an interface, but the Read write permission isn't enabled for all required attributes, it won't be possible to create an item (unless the permission is set on its design).
-
Enable one of the following Default attribute permissions, according to your needs:
-
None - attributes will be hidden from users of this group.
-
Read only - allow the group's users to view the attributes.
-
Read write - allow the group's users to view and edit the attributes.
You can override this default permission for individual attributes (see below).
-
Default attribute permissions will apply to all attributes on the designs/interfaces that implement this interface.
For example, if set to "Read only" on the Jobs interface, all attributes on the Bench Jobs design will be read only by default (not just the inherited attributes).
Inheritance
If the interface implements one or more other interfaces, it will inherit any permissions set on those interfaces by this group.
Inherited permissions are highlighted blue. You can select an inherited permission to enable it on the interface (so it stays enabled if the other interface's permissions change). However, you can't disable an inherited permission.
Override attribute permissions
To override the Default attribute permission for a particular attribute on the selected interface:
-
Select the attribute in the Attributes column.
-
In the Permissions column, enable one of the following Override attribute permissions, according to your needs:
-
None - the selected attribute will be hidden from users of this group.
-
Read only - allow the group's users to view the selected attribute.
-
Read write - allow the group's users to view and edit the selected attribute.
Remember, this will affect the attribute on all designs that implement this interface!
-
Inheritance
If the interface implements one or more other interfaces, some of its attributes will be inherited from those interfaces.
The permission of an inherited attribute can't be overridden. However, Alloy will tell you where it comes from, so you can edit the attribute on that interface if needed. Remember, doing so will affect that attribute on all designs/interfaces that implement that interface!
Link attributes
When granting access to any Link attribute on this interface, ensure the group also has access to the design of the linked items (or an implemented interface). Otherwise, the group's users will receive an E1539905172 error whenever they view items that implement this interface.
For more information, see Planning permissions.