JoomCourses integrates with Joomla's built-in access control system, allowing you to define what different user groups can do within the component.
Permission Levels
Component-Level Permissions
These permissions control what user groups can do in the JoomCourses admin area:
| Permission | Description |
|---|---|
| Configure | Access the component configuration settings |
| Access Administration Interface | View and manage JoomCourses in the admin backend |
| Create | Create new courses, course dates, applications, and other items |
| Delete | Delete items |
| Edit | Edit any item |
| Edit State | Change publishing state (publish, unpublish, archive, trash) |
| Edit Own | Edit items created by the user themselves |
| Edit Value | Edit field values |
Setting Component Permissions
- Go to Components > JoomCourses > Configuration.
- Click the Permissions tab.
- Select a user group from the left panel (e.g., Manager, Administrator, Author).
- For each permission, choose:
- Inherited — Use the global Joomla setting
- Allowed — Explicitly grant the permission
- Denied — Explicitly revoke the permission
- Save the settings.
Permission Inheritance
Permissions cascade from higher to lower levels:
- Global Configuration — Joomla's global permission settings
- Component Level — JoomCourses component settings (override global)
- Category Level — Per-category settings (override component)
A "Denied" permission at any level overrides "Allowed" at a lower level.
Category-Level Permissions
Course categories have their own permissions, allowing fine-grained control over who can manage courses in specific categories.
Setting Category Permissions
- Go to Components > JoomCourses > Categories.
- Open a category for editing.
- Click the Permissions tab.
- Configure permissions per user group:
| Permission | Description |
|---|---|
| Create | Create courses in this category |
| Delete | Delete courses from this category |
| Edit | Edit courses in this category |
| Edit State | Change publishing state of courses in this category |
| Edit Own | Edit own courses in this category |
Example: Departmental Access
You can set up category-level permissions so that different departments manage their own course categories:
- Marketing Team — Can create and edit courses in the "Marketing" category only
- IT Department — Can manage courses in the "Technology" category only
- Training Manager — Can manage courses across all categories
Custom Field Permissions
JoomCourses custom fields also support per-group permissions:
Field Group Permissions
| Permission | Description |
|---|---|
| Create | Create custom field groups |
| Delete | Delete field groups |
| Edit | Edit field groups |
| Edit State | Change field group state |
| Edit Own | Edit own field groups |
| Edit Value | Edit field group values |
Individual Field Permissions
| Permission | Description |
|---|---|
| Delete | Delete this field |
| Edit | Edit this field's definition |
| Edit State | Change this field's state |
| Edit Value | Edit the values of this field on items |
Frontend Access Levels
Access levels control which user groups can see specific content on the frontend.
Course Access Levels
Each course has an Access setting that determines who can view it:
| Access Level | Who Can See It |
|---|---|
| Public | All visitors, including guests |
| Registered | Logged-in users only |
| Special | Users in the Special access group |
| Custom | Users in any custom access levels you've created |
Setting Course Access
- Edit a course.
- In the Access field, select the desired access level.
- Save the course.
Users who don't have the required access level will not see the course in listings or be able to view its detail page.
Category Access
Categories also have access levels. If a category is set to "Registered", all courses within that category are effectively restricted to registered users, even if the individual courses are set to "Public".
Common Permission Scenarios
Scenario 1: Multiple Course Managers
Give different staff members the ability to manage their own courses:
- Create a Joomla user group called "Course Managers".
- At the component level, allow: Access Administration, Create, Edit Own, Edit State.
- Course managers can create courses and manage their own content but cannot edit others' courses.
Scenario 2: Read-Only Admin Access
Allow certain users to view admin data without making changes:
- Create a user group called "Course Viewers".
- At the component level, allow only: Access Administration Interface.
- Do not allow: Create, Edit, Delete, Edit State.
- These users can view applications, courses, and reports but cannot modify anything.
Scenario 3: Category-Specific Editors
Allow editors to manage courses only in specific categories:
- At the component level, set all edit permissions to "Denied" for the user group.
- On specific categories, set Create, Edit, and Edit State to "Allowed" for the group.
- The user can only manage courses within those specific categories.
User Group Auto-Assignment
JoomCourses can automatically assign users to a Joomla user group after they register for a course:
- Go to Configuration > Registration.
- Set the User Group option to the desired group.
- When a new user completes a booking, they are automatically added to this user group.
This is useful for granting registered attendees access to restricted content (e.g., course materials available only to registered users).
Tips
- Use the principle of least privilege — Only grant the permissions each user group actually needs.
- Test permissions by logging in as a user in each group to verify they can only do what they should.
- Use category permissions when different teams manage different course areas.
- Set course access levels to create premium or members-only course offerings.