Enrolment: Course completed enrolment

enrol_coursecompleted
Maintained by Renaat Renaat Debleu
Enrol users upon completion of a course.
358 sites
781 downloads
38 fans

With this plugin it is possible to create a chain of courses. After completion of a course, the student is automatically enrolled in one or more other courses. But it is also possible to give a user another role in the same course when he/she completes the course.


Documentation

As a teacher go to the course in which students will be enrolled in the future.  Navigate to Course Administration > Users > Enrollment Methods and add the Course Completed Enrollment method. Fill in the role - duration - start date - end date, and search for the course that needs to be completed.  Save your changes and do an extra check if course completion is enabled and working in the required course.


Sample use

If you want to enroll users in course2 after they complete course1, you have to add the enrolment method to course2 and choose course1 as the course parameter.

If you want to enroll users in course2 and coure3 after they complete course1, you have to add the enrolment method to course2 and course3, with course1 as the course parameter.

If you want to enroll users in course3 after they complete course1 OR course2,  you have to add 2 instances to course3, one with course1 as requirement, one with course2 as requirement.

If you want to enroll users in course 3 after they complete course1 AND course2,  you can add the enrolment method to course3 and choose course2 as the course parameter. Add in course2 the completion of course1 (course completion - Condition: Completion of other courses) as a course completion requirement.

If you want to give a user a new role in a course1, add the enrolment method to course1, choose course1 as the course parameter and pick the new role for the participant.


Installation

  • copy the content of the package into the enrol/coursecompleted directory under the root of Moodle.
  • log in as administrator and complete the installation
  • enable the plugin under Settings, Site administration, Plugins, Enrolments
  • configure the default settings for this enrolment method when it is added to a course
Read the Plugin installation guide for complete steps about installing a new plugin in Moodle.


travis

Screenshots

Screenshot #0
Screenshot #1

Contributors

Renaat
Renaat Debleu (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Eduardo García Blanco
    Tue, Nov 6, 2018, 4:38 PM
    Justo lo que andaba buscando. Solo una pregunta... ¿Se contempla la opción de desmatricular del curso anterior una vez matriculado en el nuevo? Si no es así quizás sea interesante para una nueva versión.
  • Renaat
    Tue, Nov 6, 2018, 5:53 PM
    Hello Eduardo,

    THX for your message.

    I'm not convinced about adding an unroll option: the un-enrolment of a user is a complete different thing with lots of strings attached. Let's say someone payed for a course, the person finishes the course and the plugin starts to do the job, here we do not want that the payment is cancelled! The moment I would add un-enrolment support, I would need to add support for all possible enrolment methods (database - profile field - cohorts - ....) and this is far more complicated than one man can handle.

    In your case I would write a local plugin or modify your theme to do the un-enrolment in the background. In one specific environment where you know all enrolment methods, this can work fine.

    R
  • Picture of Govind Pant
    Fri, Jan 25, 2019, 6:28 PM
    Hi Rennat,
    I have installed plugin and configured as per requirement. In my use case I have created a new course (Course-1) and enrol relevant students on it. I have also set course completion option in course-1. Then I have created another course (Course-2) and updated enrolment setting as per course-1 completion criteria. But when users are completing course-1 they are not able to see course-2 (Error is "You will be enrolled in this course when you complete course Course-1").
  • Renaat
    Fri, Jan 25, 2019, 10:51 PM
    Hello Govind,

    THX for your post.

    There are a lot of possibilities why your users are not (yet) enrolled into course 2:
    1. Is the course start date of course 2 in the future?
    2. Is the enrolment start date in course 2 in the future?
    3. Which other enrolment methods are used in course 2?
    4. Is your cron job running?
    5. Does the course completion report of course 1 mark the users as complete? Activity completion is NOT course completion
  • Picture of Govind Pant
    Sun, Jan 27, 2019, 1:46 PM
    Hi Rennat,
    Thanks for your response. Yes you were correct. My course completion settings were not correct. Now it is fixed and plugin is working as per desired way. Again Thanks for guiding me to the solution.

    Govind Pant
  • Picture of Pedro Giesel
    Fri, Feb 1, 2019, 1:06 PM
    HI Renaat, thanks for the plugin it is pretty good!
    I got a particular need.
    I have an Induction course, that is mandatory, and I have other 23 courses, where students will be enrolled in different courses, based on student by student. Some students may complete all the 23 courses, some others may complete 2~22 courses..
    How could I use the plugin for this? Is it possible?

    Thanks
  • Renaat
    Tue, Feb 5, 2019, 2:44 AM
    Hello Pedro,

    this plugin does not support enrolment 'logic', all users who completed the introduction course would be enrolled in all 23 other courses.

    Personally I would add logic in the intro course: based on different availabilities (course completed AND group AND result >90), a user can see a resource with an enrolment key for one course, another availability ( (course completed AND group AND result <90 AND result > 80) gives a user a different enrolment key for another course....
  • Picture of JCarlos Lopes
    Thu, Feb 14, 2019, 4:14 AM
    Hi
    When a user is enrolled in another course, the option to cancel does not appear in the menu and he can not unsubscribe.
    The cancel option appears only if the subscription is manual.
    Is there any way to do this?
  • Renaat
    Thu, Feb 14, 2019, 5:24 AM
    Hello JCarlos,

    You can modify the code in the enrol/coursecompleted/lib.php file: public function allow_unenrol(stdClass $instance) { return true; } As a result the unenrol option should be available.

    But, when administrators bulk enrol users who completed past courses, those users will be re-enroled.




  • Renaat
    Mon, Feb 25, 2019, 4:44 PM
    Update your student role to allow "Unenrol self from the course" (enrol/coursecompleted:unenrolself)
  • Picture of Filippo Caburlotto
    Tue, Mar 26, 2019, 3:47 PM
    Hi Renaat,
    above all thank you for the plugin.
    Just a question: is it possible to enroll students in different courses according to their score in a course? For example student A course completed 50% of score enrolled in course A; students B course completed 70% of score enrolled in course B and so on...
  • Renaat
    Wed, Mar 27, 2019, 4:55 PM
    Hi Filippo,

    It is NOT possible to enroll students in different courses according to their course results. But this idea seems great idea for a GSOC....

    R
  • Picture of Dag Klimas
    Wed, Apr 10, 2019, 11:24 PM
    Hi Renaat,

    many thanks for your development!

    Do you have any idea how I can implement the following situation?
    * There are two starting courses: Start 1 and Start 2.
    * There is a follow-up course A which requires Start 1 OR Start 2. That's what I got solved.
    * But now there is the follow-up course B, in which only have to enrol, if Start 2 and follow-up course A has completed.

    Thanks for your time, Dag
  • Renaat
    Thu, Apr 11, 2019, 4:50 PM
    HI Dag,

    My first advise would be: "Keep things simple!", it is all to easy to create a situation where a user never is enrolled into a course or can complete a course.

    But if you want to enrol users in course B after they complete course A AND start 2 you can add the enrolment method to course B and choose course A as the course parameter. Add in course A the completion of start 2 as a course completion requirement.

    So when a user completes start 1, he/she will be enrolled into course A.
    When a user completes start 2, he/she will be enrolled into course A.
    When a user completes course A (this will only happen when start 2 is completed), he/she will be enrolled into course B.
    But beware that users who only completed start 1 only will be able to complete Course A if they take start 2.

    Greetings,
    R
  • Picture of Dag Klimas
    Thu, Apr 11, 2019, 6:03 PM
    Hi Renaat,

    thank you for your answer!

    @My first advise would be: "Keep things simple!": +1
    I use Moodle since 15 years, and I understand you wink

    Greetings,
    Dag
1 2 3
Please login to post comments