Coursedog allows institutions to define user Roles by customizing permissions. In Coursedog, permissions dictate what Users are able to see and do in the platform. For example, a Department Scheduler should have different access than an Administrator in the Registrar's Office. Coursedog comes pre-built with a variety of Roles, but offers flexibility around editing these Roles and adding additional Roles. A list of all Role permissions and their implications can be found at the bottom of this article (section 4.5 Role-based access and control)
4.2 Viewing Roles
To view all Roles, select 'Settings' from the left navigation and then click on 'Roles.'
There are several delivered user Roles, including: Super Admin, Admin, Department Scheduler, and Instructor. For an outline of these predefined roles and their permissions in Coursedog, click here. We recommend downloading this spreadsheet and using it as a tool to visualize and collaborate on roles.
You may view and edit permissions for each role by clicking on the various toggles next to Role names. If needed, you may also choose to design and add a new role by clicking on '+ Add Role.'
4.3 Adding Roles
If your institution needs to add a new role, you can do so by navigating to '+ Add Role' under the 'Roles' tab. Each configurable role allows or limits editing access to Coursedog functionality across the platform in each of the modules (Course Editor, Requests, Reports, Institution Settings, Optimizers, Preference Forms, and Rooms).
Permissions for each functionality in each module can be set to 'Allow' or 'Deny.' Certain permissions additionally have an 'Allow If' statement which is followed by a condition, as seen below.
Note: If you set a permission to 'Allow If' and leave the conditions field blank, this is equivalent to having the permission set to 'Allow.' The available 'Allow If' parameters are 'User is assigned to department,' 'Term is not historical,' 'Term is current scheduling term,' and 'Allowed terms.' Additionally, 'Custom conditions' can be built for the 'Edit Sections' permission, and 'User can edit section' can dictate when a role is able to delete sections.
Allowed terms allows you to make role based access control term-specific:
Custom conditions allows you to build filters dictating when editing a section is permissable:
4.4 Future Actions
The Future Actions function allows administrators to change user permissions on a certain date, acting as a one-time trigger to change the permission settings in the Coursedog system. Some examples include cutting off access to the section editor on a certain date, or granting access to the editor at the start of term scheduling.
To access future actions, select the 'Future Actions' button in the top right corner of the 'Roles' screen.
To add a future action, select the '+ Future Actions' button.
The following module will appear:
4.5 Downstream implications of RBAC changes for end-users
It’s important to understand the implications of changing RBAC permission settings for users who are currently navigating the platform while those edits are made. In short, role setting changes relating to permissions do not take effect in real-time. Any changes to role permissions require a browser refresh in order for such permission edits to take effect for end users. For example, if a particular role initially was allowed to add sections and a user with that role were navigating the platform while you removed the role's access to add sections, the end user would not be faced with that new restriction until they refreshed their browser.
In order to avoid end users continuing to operate under an outdated set of permissions after you have made edits, you should either:
- Prompt all users to refresh their browser after you have changed role permissions, or
- Not allow access to the platform for 24-hours after your changes have been made (this will result in Coursedog forcing a timeout, which will consequently require a browser refresh when users log in again)
4.6 Role-based access and control
|Add Courses From Curriculum |
|View Instructor Profile|
|View Schedule Analytics|
|Filter Dashboard Departments|
|Submit Department Schedules|
|Allow Inline Editing|
|View All Forms Within Institution|
|Edit Report Status Filters|
|Add Approval Workflows|
|Edit Approval Workflows|
|Edit Request Settings|
|Force Approve Requests|
|View All Requests|
Add Section from Course Inventory
|Edit Department Settings|
|Edit Standard Meeting Patterns|
|Edit Term Date Exceptions|
|Edit Term Conversion Dates|
|Edit Scheduling Workflow|
|Edit Field Options|
|Edit Notification Events|
|Edit Email Templates|
|Run Section Optimizer|
|Merge Optimizer Results|