User Overview
Paideia LMS has a comprehensive user management system with two distinct role systems: system-wide roles and course-specific enrollment roles. This dual role system allows for flexible permissions across the platform.
System-Wide Roles
Section titled “System-Wide Roles”There are six system-wide user roles defined in the users collection:
admin- Full platform access, can manage all users and system settingscontent-manager- Can create courses and manage contentanalytics-viewer- View-only access to reports and analyticsinstructor- Can create courses and activity modulesstudent- Default role for new usersguest- (coming soon) Limited access for unauthenticated users
These roles control platform-level permissions. For example:
- Only
adminandcontent-managercan create courses admin,instructor, andcontent-managercan create activity modulesadminusers have override permissions across all courses regardless of enrollment
Course Enrollment Roles
Section titled “Course Enrollment Roles”Within courses, users have separate enrollment-specific roles:
student- Enrolled learner in a courseteacher- Course instructor with full course managementta- Teaching assistant with limited instructor permissionsmanager- Course manager roleguest- (coming soon) Limited course access for unauthenticated users
These enrollment roles determine what users can do within specific courses:
teacherandmanagerroles can see course settings and participants- All enrolled users can view course content
- System-wide
adminusers have override permissions regardless of enrollment
User Entity
Section titled “User Entity”The User entity is stored in the users collection with fields including:
- Basic profile:
firstName,lastName,bio,email - System role:
role(one of the six system-wide roles) - Authentication:
password,sessions - Preferences:
theme,avatar
Flexible Permissions
Section titled “Flexible Permissions”The dual role system allows flexible permissions: a user might be a system-wide instructor (able to create courses) while being enrolled as a student in specific courses. This design allows users to have different roles in different contexts, providing maximum flexibility for educational institutions.
