First we need to define the User Roles for this app.
1. On the App List click ‘Trouble Tickets System’ app.
2. Click the User Role List.
3. Mouse over the row of Manager and click settings .
This is a generic setting for all the pages and records in this app. Every page, workflow state, and widget can have their own user role permission settings. If they are not specifically in lower levels of permission settings, the privileges that the user can enjoy will follow the “User Role Settings” here.
Whether the users belong to this role are able to access the page in this app or not
Whether the users are able to access saved records.
[All: can read all records; Self: can read records created by the user him/herself; None: cannot read records]
Whether the users are able to edit saved records or create new records.
[All: can edit all records and can create new records; Self: can edit records created by the user him/herself and can create new records; None: cannot create new records or read any records]
Whether the users are able to delete records.
All: can delete all records
Self: can delete records created by the user him/herself
None: cannot delete records
1. For each role, we need to add different users into different roles. Mouse over a user role and click the button to add users and/or user groups. If a user does not belong to any of the user roles, he or she will not be able to find the app icon of this app in the launch board and cannot access this app.
When a user belongs to more than one user role, and there is a conflict between the roles’ permissions, then the system will adopt the greater permission settings.
For example, John belongs to “Manager” (Read All; Save Self) and “Mid Manager” (Read Self; Save All), then John enjoys a higher permission setting (Read All; Save All).
You may think that setting the container as No Access and then overriding it in widget level for Start state is a more convenient way. However, according to the Generosity Principle, when the container is set as No Access all the widgets contained will become invisible and cannot be overridden.
There are various levels of runtime permissioning available on DragOnce:
● App User Role
● Overridden by Page Permission
● Overridden by Widget Level User Role
● Overridden by Widget Level Workflow
● Overridden by Workflow Permission
When you set permissions at a higher level, the permission settings will apply to lower levels. Overriding will occur only when permission at higher level is more relaxed than permission at lower levels.
When the permission of the higher level is stricter than that of lower levels, the lower levels will be of a stricter permission.
For example, when the page permission is set to be “Read None Save None” data and a widget in that page is set to be “Editable”, then the whole page is still invisible. But when the page permission is set to be “Read All” and “Save All” data, and the widget is set to be “No Access”, then the widget will be invisible.
When a table is set to be “Read Only” for a certain user role, the users therein will not have the “Add+” and “Delete” buttons on the table and thus are unable to create or delete records.
Owner
The user who created the form
Current Stakeholder
The users who are responsible for taking action (pressing one of the workflow edge buttons). These users will have a to do list item once they become a Current Stakeholder.
If you would like to add user roles so that they can take action also, you can click on the arrow of Current Stakeholder. Please be noted that for these user roles, their to do list will not contain this records unless they are the current stakeholder originally.
Previous
Stakeholders
All the users who have been a Current Stakeholder before for the record.
e.g. The record is now in ‘Closed’ state, and it has passed through ‘IT Reviewing’, ‘Processing’, and ‘User Testing’. So Previous Stakeholders include the owner, and all the stakeholders of ‘IT Reviewing’, ‘Processing’, and ‘User Testing’.
Other Users
Users that do not belong to any of the groups here. If not specified, their permission privileges will follow app runtime user roles.
Specific User & Group In FormOwner
Allows you to choose the User & Group widgets in the form to set permissions
Specific Previous Stakeholders
Allows you to choose the users who have been a Current Stakeholder for different states to set permissions.
Delete Button
When selected, a blue Delete button will appear in the form
Editability
When selected, the form will be accessible and editable
Visibility
When selected, the form will be accessible and not editable
No Access
When selected, the form will be inaccessible