How to set up and manage user roles and permissions in Open edX?
Setting Up and Managing User Roles and Permissions in Open edX
Open edX provides a role-based access control (RBAC) system, allowing administrators to assign different roles to users, each with specific permissions. Below is a step-by-step guide to setting up and managing user roles and permissions.
1. Understanding Open edX User Roles
Open edX includes the following main user roles:
Role | Permissions |
---|---|
Learner | Can enroll in courses, participate in discussions, and complete assessments. |
Course Staff | Can manage course content, moderate discussions, and track student progress. |
Instructor | Can manage assignments, grades, and send announcements. |
Admin (Superuser) | Full access to manage courses, users, and system-wide settings. |
Discussion Moderator | Can moderate forums and manage flagged posts. |
E-Commerce Manager | Can configure pricing, manage enrollments, and oversee transactions. |
2. Assigning Roles in Open edX
A. Assigning Course-Specific Roles
- Log into Open edX LMS.
- Go to “Instructor Dashboard” → “Membership”.
- Add Users to Roles:
- Enter the email address of the user.
- Select a role (Instructor, Staff, Moderator).
- Click “Add User”.
B. Assigning Platform-Wide Roles (Superuser/Admin)
- Log into Open edX Admin Panel (
/admin
). - Go to “Auth → Users” and search for the user.
- Assign Superuser or Staff Status:
- Click the user profile.
- Check “Superuser Status” or “Staff Status”.
- Save changes.
3. Managing Permissions for Custom User Groups
If you need custom roles, you can define Group-Based Permissions:
- Go to the Admin Panel (
/admin
) → “Auth → Groups”. - Click “Add Group” and name it (e.g., “Course Reviewers”).
- Assign specific permissions (e.g., view course reports).
- Add users to the group under “Auth → Users”.
4. Managing Course Access Permissions
Restricting Access to Certain Features
- Go to “Advanced Settings” in Studio.
- Set:
"RESTRICTED_COURSE_ROLES": ["staff", "instructor"]
- This limits certain course functions to only instructors or staff.
Enabling or Disabling Discussions for Specific Roles
- Navigate to Discussions → Manage Discussions.
- Set moderation privileges for course staff or moderators.
5. Monitoring User Activity and Role-Based Reports
- Go to Instructor Dashboard → Data Download.
- Download:
- Enrollment Reports (for managing users).
- Course Progress Reports (for tracking learner activity).
6. Automating Role Assignments (SSO Integration)
If using Google SSO or LDAP, you can automate role assignments:
- Enable Third-Party Authentication (
lms.env.json
):"ENABLE_THIRD_PARTY_AUTH": true
- Configure role-based group assignments for auto-enrollment.
7. Removing Users from a Course or Revoking Roles
- Go to Instructor Dashboard → Membership.
- Find the user and click “Remove” to revoke access.
- For platform-wide roles, go to Admin Panel → Users and uncheck the role.
Conclusion
By assigning the right roles and permissions, Open edX ensures secure access and efficient management of courses, instructors, and students. 🚀