Profile field based cohort membership

General plugins (Local) ::: local_profilecohort
Maintained by Ulm University, Alexander Bias, Luca Bösch
Moodle plugin which lets admins manage cohort memberships based on users' custom profile fields
Latest release:
1271 sites
66 fans

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 anymore.

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


Ulm University (Lead maintainer)
Alexander Bias: Maintainer
Luca Bösch: Maintainer
Davo Smith: Initial developer
Kathrin Osswald: Developer
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Mon, Aug 20, 2018, 4:40 PM
    I have some problem with the plugin. Cohort remains empty in every cases. Can someone help me with the case?

  • Wed, Oct 3, 2018, 1:23 AM
    Is there a way to add a different conditional rather than just "if matches". I would like to use "if not" match put into a certain cohort. Such as I have one cohort that only needs to match one conditional and I want everyone else (not including those in the other cohort) into a separate cohort. How can I accomplish this?
  • Fri, Oct 19, 2018, 5:33 PM
    Hello Corey, there was a probe with cron and now it works. But i now i have another problem, when some user are divided in course by position, after changing position the activity results are losing about the user. for example the user's quiz information etc.
  • Fri, Jul 5, 2019, 8:16 PM
    Hello, this plugin is very handy. The only problem we have with it is that it loads very slowly when there are lots of rules as in our case. We have nearly 500 rules ( and the page takes a good minute to load all of the data. Can you add pagination as a setting so admins can choose to display let's say 50 rules per page? Regards, Majid
  • Fri, Jul 19, 2019, 2:15 PM
    +1 If setting alot of rules the plugin becomes unusable unfortunately because the page won't load. Hopefully introducing pagination would resolve this problem we've experienced on a few occasions. Would be very grateful if a developer could investigate smile
  • 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.

  • 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.
  • 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?
  • Tue, Nov 10, 2020, 11:54 PM
  • Fri, Feb 5, 2021, 2:26 AM
    This plugin is made of unicorns and rainbows. Thank you so much for your work here.
  • Tue, May 4, 2021, 3:50 AM
    I would like to know if I can manage more than 500 cohorts with this plugin?
  • 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
  • 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
  • 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.
1 2
Please login to post comments