Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Enrolment usage overview.

Development:Enrolment usage overview

From MoodleDocs
Enrolment usage overview
Project state Proposal
Tracker issue MDL-21655
Discussion n/a
Assignee Petr Škoda (škoďák)

Moodle 2.0


Goals

There is a lot of confusion related to guest access, enrolment of users, etc. This page is trying to sum up the usage of enrolments and guest access in various parts of Moodle.

Definitions

Core APIs

get_enrolled_users()
get_enrolled_sql()
isguest()
isguestuser()
is_siteadmin()
has_capability()
get_users_by_capability()


Core usage

Group membership

Only enrolled users may be members of groups. In 1.9 and earlier we only guess by looking at roles that have moodle/course:view which is not hidden, this may actually return incorrect results if overrides used. All group membership is removed when unenrolling form course.

Technically we need to look only at users that are returned by get_enrolled_users() when looking for new group membership candidates. Existing group membership should be filtered so that only enrolled users are displayed.

Gradebook

We keep only grades of enrolled users. Gradebook shows only enrolled users that have the gradebook role. In future it could be controlled by a special capability instead, this was not possible in 1:9 for performance reasons.

Anybody with capability may grade or manage gradebook.

Logs and reports

In some cases we want to see only enrolled users, in others we want to see really all users. This should be decided by a new capability.

User profiles

Only enrolled user have course visible profile. Users that have one of $CFG->coursemanager roles have profile on site level because we want them to be clickable on course description page. (This was originally controlled by isteacherinanycourse() which was both deprecated and incorrect.)

Profile displays also user roles in course, the list of roles is the same as on the profile page.

Participation page

Participants page displays only enrolled users (with moodle/course:view capability). It shows only limited number of roles specified in the $CFG->profileroles setting.

Messaging

Comments

Ratings

Modules

Assignment

Chat

Choice

Feedback

Forum

Glossary

Lesson

Quiz

SCORM

Survey

Wiki

Workshop

Blocks

Online users

See also