openedx-authz permission list
WIP: This document is a work in progress.
Here we document the permissions from a technical standpoint, listing the permissions as they are defined in openedx-authz or other modules code.
Existing openedx-authz permissions
At the moment of writing, these are the permissions that are already implemented on openedx-authz for the libraries v2 feature:
content_libraries.view_library
content_libraries.manage_library_tags
content_libraries.delete_library
content_libraries.edit_library_content
content_libraries.publish_library_content
content_libraries.reuse_library_content
content_libraries.view_library_team
content_libraries.manage_library_team
content_libraries.create_library_collection
content_libraries.edit_library_collection
content_libraries.delete_library_collection
Proposed new permissions
These are the permissions being proposed for the AuthZ for Course authoring project:
This list was derived from a technical perspective given the findings of the technical discovery with the objective of meeting requirements while keeping implementation complexity as low as possible.
The following list was also used as reference: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/4945838087
Please note, we are starting with a simplified list of permissions, trying to be granular enough for the objectives of this project but not too granular as to make the implementation too complex and time consuming.
If required, granularity can be extended as we discover specific needs for the different parts of the course authoring process.
Section | Permission | Description | Screenshots |
|---|---|---|---|
Course list / Course outline | courses.view_course | Allows viewing a course on the studio courses list and the course outline (read only) |
|
courses.create_course | Allows creating a new course |
| |
courses.delete_course | Allows deleting a course. | This is not a currently supported action in studio. | |
Course outline / Unit | courses.edit_course_content | Allows editing course content, including: Edit/Duplicate/Delete/Create Section Edit/Create/Delete Sub-Section Edit/Create/Delete Xblocks |
|
courses.publish_course_content | Publish course content, including: Publish Section and Sub-Section changes |
| |
Library Updates | courses.manage_library_updates | Gives full access to the Library Updates page and functionality |
|
Course Updates | courses.view_course_updates | View contents of the course updates page, including course updates and handouts (read only) |
|
courses.manage_course_updates | Manage course updates and handouts, create, edit, delete. | ||
Pages & Resources | courses.view_pages_and_resources | View pages and resources section (read only) |
|
courses.manage_pages_and_resources | Do any action in the pages and resources section, including enabling and disabling features like the Wiki and Discussions, changing configurations, Creating and editing Textbooks and Custom pages. | ||
Files / Files modal | courses.view_files | View the Files section and list all files (read only) |
|
courses.create_files | Create and upload new files | ||
courses.delete_files | Delete existing files | ||
courses.edit_files | Do Non destructive file actions on files, like Lock/Unlock | ||
Schedule & Details | courses.view_schedule_and_details | View Schedule & Details page (read only) |
|
course.edit_schedule | Edit course schedule | ||
course.edit_details | Edit course details, includes Course Summary, Course Pacing, Course Details, Course Pre requisite. | ||
Grading | courses.view_grading_settings | View Grading page (read only) |
|
course.edit_grading_settings | Full edit access to the Grading page | ||
Course Team* | courses.view_course_team | View the course team roster | New Admin Console view for Course Team |
courses.manage_course_team | Access to the Course Team management in the Admin Console (new development) | ||
Group Configurations | courses.manage_group_configurations | Gives full access to the Group configurations page and functionality |
|
Advanced Settings | courses.manage_advanced_settings | Gives full access to the Advanced Settings page and functionality |
|
Certificates | courses.manage_certificates | Gives full access to the Certificates page and functionality |
|
Import | courses.import_course | Gives full access to the Import course page and functionality. Implies courses.edit_course_content, courses.publish_course_content, and most, if not all, the rest of the edit permissions. |
|
Export Course | courses.export_course | Gives full access to the Export Course page and functionality |
|
Export Tags | courses.export_tags | Gives full access to the Export Tags page and functionality |
|
View Checklists | courses.view_checklists | Gives full access to the View Checklists page |
|
Instructor Dashboard | courses.view_instructor_dashboard | Gives full access to the Instructor Dashboard |
|
Tags and Taxonomies | courses.manage_tags | Create, edit, delete tags |
|
courses.manage_taxonomies | Create, edit, delete taxonomies |
Observations
The new instructor dashboard, under Membership > Course Team Management should have a link to manage course team admin console, which should be hidden if courses.manage_course_team is not allowed -> sync with Instructor Dashboard team.