Back to news list

New permissions for instructors and course staff

Posted on 2024-07-23 by Matt West

Tim Bretl has completely restructured the way that course staff permissions work in PrairieLearn. The new permissions are much simpler to use and provide more fine-grained control over who can access student data. Student access control has not been changed in any way.

To use the new permissions, click on your course number in the top menubar (e.g., "XC 101") and then click on the "Staff" tab. Your existing permissions for Instructors have been automatically migrated to the new system, so you will see something like this:

ACTION REQUIRED: TA access updates

TA permissions were not automatically migrated to the new system because there is not an exactly equivalent set of new permissions. To restore access for TAs, the recommended approach is for the course owner to do:

Course content access

The new permissions separate out access to course content (questions, assessments, etc) from access to student data. The new course content access levels are:

Course content access
Action None Previewer Viewer Editor Owner
View questions and assessments ·
View issues ·
View aggregate statistics in all course instances ·
View question code and JSON files · ·
Close issues · · ·
Edit question code and JSON files · · ·
Sync from GitHub · · ·
Edit course staff permissions · · · ·

Student data access

Student data access permissions apply for individual course instances, so instructors and TAs can be given access to student data in Fall semester but not Spring semester, for example. These permissions can be mixed and matched with the above course content permissions, so you can separately control access to course content from access to student data. The new student data permissions are:

Student data access
Action None Viewer Editor
View individual student scores ·
Download gradebook data ·
Manually grade student submissions · ·
Edit individual student scores · ·
Change time limits and close assessments · ·

Recommended access levels

While every course should use the different permissions in way that best suits the course needs, some recommended guidelines are:

Role Course content access Student data access
Instructor Course content owner Student data editor
TAs developing course content Course content editor Student data editor
Student content developers (not TAs) Course content editor None
TAs involved in grading None Student data editor
Other TAs None Student data viewer
Instructors from other classes Course content viewer None

Remove old Instructor/TA access rules

The new course staff permissions are managed entirely on the "Staff" tab and any Instructor or TA access rules in JSON files are ignored. You will receive warning messages about existing Instructor/TA access rules, like this:

To fix these warnings you should delete any Instructor or TA access rules in infoAssessment.json or infoCourseInstance.json:

    "allowAccess": [
        ...
        {                      # should be deleted
            "role": "TA",      # should be deleted
        },                     # should be deleted
        ...
    ],

The userRoles property should also be deleted in infoCourseInstance.json:

    "userRoles": {                                 # should be deleted
        "mfsilva@illinois.edu": "Instructor",      # should be deleted
        "mwest@illinois.edu": "TA"                 # should be deleted
    },                                             # should be deleted

See the documentation for more information.