Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Metacourse.
A meta course is a course that is "with" or linked to one or more courses for its student enrolment (enrollment to some). Adding or subtracting participants in a metacourse can only be done from the courses it is linked to. The linked courses push enrolment information to the metacourse(s) every time cron is run. There are many uses for a metacourse.
- 1 Enrolments
- 2 Creating a meta course
- 3 Manage "child" courses
- 4 Tips and Tricks
- 5 See also
Metacourse enrolments occur only through one or more other courses that the meta course links to. This means that students cannot enroll in the meta course directly. Likewise, teachers and administrators cannot enroll students directly into meta courses either.
- Concept note: When using a meta course, Moodle calls the courses it is linked to child courses. Some people like to think of them as parent courses. In any case a meta course has a kinship with one or more non-meta courses when it comes to enrolment.
In the simplest form, a linked course only needs to contain just the Students who are to be enrolled in a meta course. There do not need to be resources, assignments, or wikis, etc., just the Students in the linked course. In the simplest form, a meta course cannot enroll Students, but will have resources and activities for students in the linked courses.
- Examples: one "child" course (a course linked to a meta course) can be associated with many meta courses. Or one meta course can have many child courses associated with it. Both the child courses (non-meta courses) and the meta courses are independent and can be recycled many times, that is, each can be associated with many of the other. However, a course can only be one type of the other and meta courses cannot be linked directly with other meta courses.
Creating a meta course
Create a meta course in the same manner as you do any other course. To change this to a meta course, set "Is this a meta course?" question to yes in the course settings.
Manage "child" courses
Once you have created a meta course you can link to or unlink from (add or delete) "child" courses by the course Administration menu. This icon and link only appears in meta courses.
Click this link and it will take you to the Child Courses dialogue that offers a list of "child courses" to choose from. You will note that only courses eligible to be child courses appear in this window.
It is here that you can associate more courses for this one meta course to get its enrolments. Alternatively, if you wish to associate one child course with many meta courses, you need to go into each meta course and, using this same technique, associate that child course to a each meta course.
Note: Do not be misled by the term "Child Courses". You are associating courses that the meta course will be dependent upon for its students.
In Moodle 1.5 and 1.6, if a meta course is chosen, the students page changes from listing/searching for students to listing/searching for courses. In Moodle 1.7 onwards, "parent courses" appears in the teacher's administration block.
Example Procedure for Experimenting with Metacourses
In this example, there are 2 sections of students in the "Parent" course: "Section 001" and "Section 002". Students are enrolled in the section courses.
- Turn Metacourses on by going to Site administration -> Plugins -> Enrolments -> Manage enrol plugins and enabled Course meta link.
- Created the following coures:
- Section 001
- Section 002
- Enroll users into Section 001 and Section 002. Leave Parent enrollment empty.
- Go to Parent course. Go to Settings -> Course admin -> Users -> Enrolment methods. On that screen, add method "Course Meta link" and choose Section 001. Repeat steps for Section 002. If you look at participants for the parent course, you will see the users from Section 001 and 002.
- If you log-in as a student from section 001, you will see section 001 and parent in your course listings. If you want only students to see the parent course, then go to:
- Site Administration -> Courses -> Add/edit courses. Choose the category for the section 001 course. Find the course section 001. Click the eye icon to hide the course.
- OR search for the course from the home page logged in as site admin. Click the eye icon to hide the appropriate courses.
- Repeat above for section 002. If you log in as a student, you can't see/search for section 001. However, an admin can still see/search for these now hidden child courses. The will be grayed out to indicate that they are hidden.
Tips and Tricks
Draw a map of your courses
Get an oversized piece of paper (A3 or 11"x17'), draw boxes for courses and give them names. Add lines to connect the boxes to show relationships. Label the meta courses (alternatively, color the meta course boxes). Add arrows to the lines so you will know where enrolments come from. This is a great tip from the Business Uses forum.
Groups do not transfer
Meta course enrolments do not transfer groups from the and enrolment does not happen immediately, but occurs next time the cronjob runs.
Transfer of roles
By default all role assignments from child courses are synchronised to meta courses. However, the "Roles that are not synchronised to metacourses" setting in Administration > Users > Permissions > User policies enables administrators to exclude particular roles.
Restoring a meta course
When restoring a meta course with the option "deleting the course first", you will notice that the enrolments that were used by the course previously are now gone. In order to re-link the course, navigate to the new course and select the link "Child Courses" from the "Administration" block on the main course page and re-link the course to its parent.
Converting a regular course to a metacourse
When you have a regular course which is populated with users you no longer have the option in the course settings to create a metacourse as below:
If you change your mind after making a course and really want to convert it to a metacourse you must first unenroll all the users in the course. When the course is empty the metacourse option returns.
- Metacourse examples of use - Why use a metacourse? here are many examples
- Related courses block - contributed code that shows meta or child course relationships
Using Moodle forum discussions: