App permissions - kwantu/platformconfiguration GitHub Wiki
Permissions may be defined at the app level. These determine what users may see and do in the app. Permissions are grouped by modules and defined at the level of elements. Each element includes actions that determine what users with a role may do in relation to each element.
Actions
The following actions are available. Elements may not use all actions.
Action | Explanation |
---|---|
view | View an element |
add | Add an element (if possible for the element type) |
edit | Edit an element (if possible for the element type) |
delete | Delete an element (if possible for the element type) |
Roles
Permissions are managed by specifying which user role may carry out which action in relation to which element. You may also specify that all users can carry out an action or that no users may do so. The following table explains the options.
Action role | Explanation |
---|---|
* | All users may carry out this action, regardless of role |
No users may carry out this action, regardless of role | |
role id | Only users assigned this role may carry out the action |
Limiting Access to an Apex Page
To only allow access to certain roles on an apex page you must include "limitAccessTo"
. The following is an example:
"apex": {
'"available": true,'
"limitAccessTo": [
"Appowner",
"projectCreator"
],
"label": {
"i18n": {
"en": "Settings",
"_id": "uuid"
}
}
}
Limiting access to a dashboard
Any dashboards configured will appear in the app adoption config file. The following data structure will appear in the file:
"available": true,
"context": "profile",
"label": {
"i18n": {
"en": "Actividades"
}
},
"baseCommunity": "47d38fa8-8959-47b8-92ad-360221592e33",
"title": "Project level activity data",
"limitAccessTo": [
"Appowner",
"dmel",
"Borrar",
"Gestora",
"Guest"
],
"id": "dashboard:bc137507-2413-4b1e-c8e9-af5a188de4d2:layout",
"accessType": "owner"
}
Use the limitAccessTo
tag to specify which roles CAN view the dashboard page. Any roles excluded will not see the page.
Permissions
The following table lists the available elements.
Module | Element attribute | Element name | Explanation | How to see an example of the element | Allowed actions |
---|---|---|---|---|---|
Profile | Page | ProfileDetails | The Details page | Click on the name of a profile in a list. This is the first page (which loads by default). | View |
Profile | List | Instances | List of profile instances on app page. Add or delete | Click on the name of an app that has been adopted by your community. | View, Add, Delete |
Profile | Box | GeneralDetails | Details box on Details page | Visit a profile, note the section titled Details. | View |
Profile | Box | MemberDetails | Roles box on Details page | Visit a profile, note the section titled Profile Roles. | View; Add; Delete |
Profile | Box | Instruction | View | ||
Profile | Box | Linkages | Box that show parent profiles (eg linked participants) | View | |
System | Menu | Settings | Determines which role may see the settings page to view the language switcher | View | |
System | Menu | CommunityRoles | Determines which role may see the community roles page | View | |
Workflow | Page | WorkflowDetails | The process page | Visit profile and then move on the Process tab(next to the profile tab). | View |
Workflow | Process | (Specify process name) | Process tab provide and overview of the workflow process. | Visit profile and then move on the Process tab(next to the profile tab). | View; Add; Delete; Edit, Fix |
Workflow | box | reassign | Determines which role may view the re-assign widget | View | |
Indicator | Page | Registry | The data page | Visit profile and then move on the Data tab(next tab to the the workflow tab) | View |
Indicator | Indicator | (Specify process name) | Limit ability to view, add or edit for a specific data object | Visit profile and then move on the Data tab(next tab to the the workflow tab) | View |
Linkages | Page | ProfileLinkages | The linkages page | Visit profile and then move on the next tab to the data tab. | View |
Linkages | box | Linkages | Help text box on linkages | The page that provides an information of the linked profile. | View |
Application | box | MemberDetails | Adoption level roles assignment box | View; Add; Delete | |
Application | button | follow | The button to synchronise all profiles | view | |
Subprofile | button | ClearNode | The button to reset a node's configuration | view | |
Subprofile | box | MemberDetails | The box to assign node level roles | add; delete; view | |
Subprofile | category | (Specify category ID) | This controls which role may view which category | view |