Meta-course group synchronization

General plugins (Local) ::: local_metagroups
Maintained by Paul Holden
Automatically synchronize groups from child courses into meta-courses.
Latest release:
369 sites
175 downloads
39 fans
Current versions available: 3

Meta-course functionality in Moodle currently lacks the ability to synchronize groups from child courses in to a meta-course. This plugin implements this functionality by listening for relevant events related to groups.

After installing the plugin, any amendments to groups (add, update and delete) and their membership (add or remove users) from child courses will be automatically reflected in the linked meta-course.

Meta groups

See the project readme file for the most up to date instructions.

Supports Moodle version 4.1 onwards (up to and including 4.4).

Build status

The latest plugin release is 4.4 (22 April 2024):

  • Support for Moodle 4.4
  • Raised minimum requirement to Moodle 4.1

Screenshots

Screenshot #0

Contributors

Paul Holden (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • MD shot of me from his iphone4
    Wed, 12 Feb 2014, 3:15 PM
    This looks really useful unfortunately i didn't test it completely. Installation and code seemed fine smile
  • Nadav Kavalerchik
    Wed, 12 Feb 2014, 5:08 PM
    Beautiful! I was almost about to code it myself. Thank you smile
  • Salvador Banderas Rovira
    Thu, 10 Apr 2014, 8:58 PM
    Tested in Moodle 2.6.2+ (Build: 20140403) and working perfectly. I was propagating all the groups "manually" once a day with a script but something like this is what I was really looking for. Thank you!
  • Salvador Banderas Rovira
    Mon, 14 Apr 2014, 8:01 PM
    Talked too soon. I found something that could be an expected behavior, but it represents a major problem for the organization I work for.

    When having the same name for groups in two or more child courses, the plugin creates the same number of duplicate groups in the meta-course instead of using just one.

    Example:
    - course A has group "org_es"
    - course B has group "org_es"
    - course C is meta-linked to courses A and B
    - two groups "org_es" are created in course C (one with course A students, the other with course B students) instead of just one group "org_es" (with both course A and course B students)

    Also, it doesn't matter if group "org_es" was already created in course C. Three groups remain: one with course A students, another one with course B students and the one already created in course C.

    Again, maybe this is the expected behavior.
  • Paul Holden
    Wed, 23 Apr 2014, 4:27 PM
    Hi Salvador,

    That is the current behaviour, yes. If you take a look at the group_created event observer, you'll see that it currently matches on the 'idnumber' property of the group:

    https://github.com/paulholden/moodle-local_metagroups/blob/master/classes/observers.php#L46-53

    Perhaps a configuration option to match on group name could be added..?
  • Ahmad Faridi
    Sat, 5 July 2014, 4:59 PM
    Hi guys, I followed the installation instruction as specified in the read me file. But, when i went to the part where i had to run the sync.php script, it is giving me database connection failed error.

    I figured that this error is caused by this line in the script.
    require_once (__DIR__ . '/../../../config.php');

    moodle, is working just fine. So, I am not sure why it is the script is giving me this error.

    any idea why, this is happening.?
  • samuel teixeira
    Sat, 11 Oct 2014, 3:27 AM
    Hello, does anyone knows if it works with moodle 2.7? There is any modification that I can do?
  • Paul Holden
    Fri, 17 Oct 2014, 11:20 PM
    Hi Samuel,
    Although the plugin was designed for Moodle 2.6, it should continue to work fine in later versions - please let me know if not!
  • David Challoner
    Thu, 6 Nov 2014, 4:52 PM
    I've installed this plugin, but can't seem to run the sync.php file. When I try to run it from the browser it says I can't. When I try to run it from the Windows Command Line on the server (we use Windows Servers) it just opens the file in notepad and doesn't execute it. Can anyone help me with what I am doing wrong?
Please login to post comments