openXdata controls access through roles and permissions

openXdata uses Roles and Permissions to control access to different components of the openXdata interface.

Permissions

Permissions are the finest grain of control. They control individual functionality. For example, within forms there are pemissions for the following functionality:

  • Perm_Add_Forms – Ability to add forms in the system
  • Perm_Delete_Forms – Ability to delete forms from the system
  • Perm_Edit_Forms – Ability to edit forms in the system
  • Perm_View_Forms     – Ability to view forms in the system

Roles

Roles are groups of permissions. openXdata comes with 7 pre-defined groups of permissions that cover many common functional needs:

  • Administrator – has permission to do everything
  • Study Manager – Creates studies and designs forms
  • Data Manager – Review and edits collected data
  • Data Collected – Collects data through the web dashboard
  • Mobile User – Collects data through the mobile client
  • Report Manager & Report User – these are not currently functionally useful but are there for future implementations of reporting functionality

Assigning users roles and permissions

Users are given privileges to different functionality by assigning them roles (covered in Users – New and Users – Edit).

If a role does not have the set of permissions you’d like to assign your user, you can create a new role and customize the privileges in the Admin interface.

Users can be assigned more than one role at once.

Note, as a user you cannot add or edit permissions as this functionality is set inside the code base. Of course openXdata is open-source so you are welcome to modify the code as you see fit. Or, you can file a ticket for a feature request if you feel something is missing.

Further information

On the developer wiki, all the permissions are described in detail along with the standardized set of roles – https://trac.openxdata.org/wiki/permissions