Using the Author Site settings section in Console, content administrators can create permission groups for their Item banks, which can then be assigned to the Author Site users in the Management section.
The permission groups are based on the Author API initialization options, which are in the JSON format. The initialization options define the features that should be available or hidden and the Items available to the user when the Author API is rendered. Each permission group has its own configuration of initialization options used when the Author API is initialized for users in that permission group.
Using permission groups: we can filter out Items the users have access to; whether users can create or edit Items; and even configure the Question types available when creating Items.
The permission groups are defined and assigned at the Item bank level, hence it is possible to create different permission groups for the same user across different Item banks.
Creating a permission group
To create a permission group, select the Item bank in the Author Site settings section of Console and click on “Add New”.
The default Author API settings for the Item bank will be loaded as a template for the permission group. The default Author API settings control the availability of features for Author Site users not assigned any permission group and cannot be modified directly. To modify the default Author API settings for your Item Bank, contact our support team. For each permission group, you can make changes to the Default Author API settings made available as a template to create unique permission groups.
The names for permission groups are unique for an Item bank, and you can create multiple permission groups for the same Item bank to assign to different users. If users accessing an Item bank do not have any permission group assigned, Author API is initialized with the default settings for the Item bank.
Figure 1: Setting up read-only permissions in Console.
There are four main modes that can be configured for permission groups through the Author API initialization options:
- item_edit mode controls the configuration for the Author API while editing Items. We can configure this mode in the permission group to specify if authors can edit Items and whether options like “layout” should be available for the assigned users.
- item_list mode controls the configuration for the Item list, including search. This mode can be configured in the permission group to filter out Items based on Tags, status or users. This mode also needs to be configured if users assigned to the permission group should not be able to add new Items.
- activity_edit mode controls the configuration for the Author API while editing Activities. We can configure this mode in the permission group to specify if authors can edit Activities. You need to have the Author API based Activity editor enabled for your Item bank for configurations to activity_edit mode to be applied.
- activity_list mode controls the configuration for the Activity list, including search. This mode can be configured in the permission group to filter out Activities based on Tags, status or users. This mode also needs to be configured if users assigned to the permission group should not be able to add new Activities. You need to have the Author API based Activity editor enabled for your Item bank for configurations to activity_list mode to be applied.
Alongside these modes, the “global” mode can be used to hide Tags based on Tag types from the users.
Restricting Access to Items
You can restrict access to Items for users assigned to a permission group based on Tags, users who have created the Item, or status of the Items.
Adding the following filter configuration via the item_list initialization option displays only Items which are tagged as “Grade 5” for the subjects of “Math” or “Science”.
{ "item_list": { "filter": { "restricted": { "tags": { "either": [ { "type": "Grade", "name": "5" }, { "type": "Subject", "name": [ "Math", "Science" ] } ] } } } } }
Adding the following filter configuration via the item_list initialization option displays only Items with a status of “unpublished”.
{ "item_list": { "filter": { "restricted": { "status": ["unpublished"] } } } }
Creating Read Only Permission Groups
Using the Author API settings, it is possible to create permission groups with read-only access to Item banks for assigned users.
For Items, this can be done by specifying whether Items should load in a preview only mode, so that the users are unable to edit the Item.
{ "item_edit": { "item": { "mode": { "default": "preview", "show": false } } } }
You may also want to disallow users from creating new Items by disabling the ability to add new Items, as in the example below:
{ "item_list": { "limit": 50, "toolbar": { "add": false } } }