Profile field based cohort membership

General plugins (Local) ::: local_profilecohort
Maintained by Logo "Moodle an Hochschulen e.V."Moodle an Hochschulen e.V., Alexander Bias
Moodle plugin which lets admins manage cohort memberships based on users' custom profile fields
Latest release:
1982 sites
96 fans
Current versions available: 14

Moodle core provides a mechanim to manually fill cohorts with users (on Site administration -> Users -> Accounts -> Cohorts). This is fine for small Moodle installations where the cohort members don't change too often and where the Moodle admin has plenty of time to update the cohorts.

Now, larger or fragmented Moodle installations may have the need to manage a large number of cohorts which have a large amount of members and which may also change quite often. Managing cohorts by hand in such scenarios is simply unprofessional overkill - even / particularly if you distribute the work among multiple Moodle admins.

On the other hand these large or fragmented Moodle installations might already have some custom user profile fields which can be leveraged to decide which cohort(s) a user should be a member of. This plugin implements a simple solution to manage cohort memberships based on a users' custom profile field.

Please see README file for details about the usage and features of this plugin.

No support in the comments section on this page

Please note that we don't provide any support for this plugin in the comments section on this page.

We appreciate your commendation and reviews for this plugin in the comments. For bug reports and support requests, please read the extensive information in the plugin's README file first and create, if needed, a ticket in the bug tracker which is linked below.

Thanks for your cooperation.


Screenshot #0


Logo "Moodle an Hochschulen e.V."
Moodle an Hochschulen e.V. (Lead maintainer): Maintainer
Alexander Bias: Maintainer
Ulm University: Initial Maintainer
Davo Smith: Initial developer
Kathrin Osswald: Former Developer
Luca Bösch: Contributor
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Alexander Bias
    Tue, Jul 23, 2019, 5:29 PM
    Hi Majid, hi Edd,

    thank you for your input.

    If you look at the top of this page, you will find a note that feature requests and issues must be directed to If one of you could create an issue in Github, we will be more than happy to discuss the topic there.

  • Timothy Johnson
    Thu, Sep 26, 2019, 5:16 PM
    Allowing the user to skip the enrol page is great. It would be nice to have the option to specify a cohort to allow to Auto-Enrol.
  • Dianne Volek
    Mon, Aug 10, 2020, 4:53 AM
    This looks exactly the functionality I need - I do have a custom profile field I can use. I am on Moodle V3.9 - do you think it will work on that version?
  • Ricardo Caiado
    Tue, Aug 18, 2020, 4:45 AM
    Is it compatible with 3.9+ version of Moodle?
  • Leo Führinger
    Tue, Nov 10, 2020, 11:54 PM
  • Raymond C
    Fri, Feb 5, 2021, 2:26 AM
    This plugin is made of unicorns and rainbows. Thank you so much for your work here.
  • José Luis Ortiz Vázquez
    Tue, May 4, 2021, 3:50 AM
    I would like to know if I can manage more than 500 cohorts with this plugin?
  • mikaël rocton
    Mon, Jun 14, 2021, 5:50 PM
    to work with ldap_syncplus plugin just add in "locallib.php"
    after line 39 : require_once($CFG->dirroot . '/auth/ldap_syncplus/auth.php');
    between $this->errorlogtag = '[AUTH LDAP] ';
    and } else {
    return false;
    just add :
    } else if (is_enabled_auth('ldap_syncplus')) {
    $this->authtype = 'ldap_syncplus';
    $this->roleauth = 'auth_ldap';
    $this->errorlogtag = '[AUTH LDAP SYNCPLUS] ';

    i think it would be interressent to make the change directly in the next release
  • Simon Davies
    Thu, Jun 17, 2021, 8:16 PM
    Hi guys - just discovered that this only works with custom profile fields - but not custom conditional profile fields I would imagine that the filter that presents the fields for selection doesn't include these, so it might be a quick task to extend the functionality? Any thoughts on that? Thanks
  • A K
    Mon, Nov 29, 2021, 9:50 PM
    Is there a way to use this plugin based on standard Moodle fields (Country, City/town, Institution, Department) as well? As far as I understand, it only works for custom user profile fields.
  • John Anderson
    Tue, Jun 21, 2022, 9:18 PM
    Hi all, @Simon Davies - I too found that 'custom conditional profile fields' does not work/show as options. I want to add I think it would really useful to have these plugins work together. Thanks for this great plugin.
  • Kim Solis
    Wed, Aug 31, 2022, 2:18 AM
    I have an urgent problem that I hope someone can help me with. I love this plugin. I just spent days setting up all the rules so that students are automatically added to cohorts and then those cohorts are enroled in classes. But here's my problem. If a student doesn't keep up with their work in the class, the teacher can un-enrol them from that specific class. However, since they are part of a cohort, they can not be unenroled from a class, without having to unenrol them from the cohort, which then kicks them out of all their classes. Is there a way around this? Is there something I can do to be able to manage their course enrolment manually even though they were enrolled as part of a cohort? I guess my question isn't really about forming the cohort from their profile field, but rather enroling by cohort into a class.
  • Ben Girard
    Tue, Nov 22, 2022, 9:12 PM
    This is truly an amazing plugin... it does exactly what we need. Does anyone know if there is a hard limit on how many cohorts/rules this plugin can manage? Due to the nature of our structure, we might easily end up with 720 rules to manage 360 cohorts, is that going to be a problem?
  • Ben Girard
    Wed, Apr 5, 2023, 12:14 AM
    It seems this plugin can only have 1 set of rules for 1 cohort. I'm trying to manage multiple cohorts with their own set of rules, is that possible? It looks like only 1 set of rules can manage multiple cohorts, but I need multiple set of rules...
  • David Delcò
    Sat, Feb 24, 2024, 5:59 AM
    The plugin is certainly very interesting and for me solves quite a bit of work. Unfortunately, since I have multiple criteria by which I have to place users in different cohorts, the current layout seem to be inefficient and also heavy. Would it be possible to improve the interface for creating rules, for example through the use of radio buttons or check buttons and AND/OR selectors?
    Another interesting feature would be the possibility to handle exceptions, or better yet, manually add users to a group, even if it does not match the default automatic criteria.
    In any case thank a lot for this plugin.
1 2 3
Please login to post comments