Dynamic cohorts

Administration tools ::: tool_dynamic_cohorts
Maintained by Dmitrii Metelkin, Catalyst IT
Dynamic cohorts plugin allows dynamically add and remove users from cohorts based on configured rules, which themselves are composed of conditions.
Latest release:
583 sites
364 downloads
38 fans
Current versions available: 2

Dynamic cohorts plugin allows dynamically add and remove users from cohorts based on configured rules, which themselves are composed of conditions.

For users to be added to the cohort specified by a rule, they must match all of rule's conditions (logical operator AND) or any of rule's conditions (logical operator OR).

Built-in conditions

  • Authentication method (Manual, SAML and etc)
  • Cohort fields (if a user is a member of cohort(s) matching specific cohort fields like cohort name, context, custom fields and etc)
  • Cohort membership (if a user is a member of cohort(s)).
  • Course completed (if a user has completed a course).
  • Course not completed (if a user has not completed a course).
  • User created time (time since a user was created).
  • User custom profile fields (text, menu, date and autocomplete types are supported).
  • User enrolment (if a user is enrolled into a course).
  • User last login (time since a user last logged in).
  • User role (if a user has a role in a given context)
  • User standard profile fields (e.g. first name, last name, username, auth method and etc).

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

Similar plugins

There are similar plugins that can add users to cohorts dynamically based on user profile fields.

However, "Dynamic cohorts" plugin gets this all to the next level as it provides an API for other plugins to implement pretty much any condition that can limit users from mdl_user table by SQL.

Warm thanks

Plugin funded by Murdoch University, Perth, Western Australia

Logo

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4

Contributors

Dmitrii Metelkin (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

إظهار التعليقات
  • Plugins bot
    الاثنين، 25 مارس 2024، 12:10 PM
    Approval issue created: CONTRIB-9534
  • Вячеслав Душин
    الاثنين، 25 مارس 2024، 9:51 PM
    Moodle 4.3.3 (Build: 20240212)

    Good afternoon

    1. Conditions are not saved
    2. When saving without conditions, it gives the error -generalexceptionmessage
  • Pablo Schmid
    الأربعاء، 23 أكتوبر 2024، 2:40 AM
    This plugin is absolutely brilliant. Thank you so much for the fantastic work!
  • David Delcò
    الأحد، 29 ديسمبر 2024، 2:14 AM
    Super plugin, great job! Thank you.
    May I take the liberty of suggesting some functionality?

    It would be stratospheric if you could bind different conditions with logical operators, or group certain conditions (e.g. a user should be added to a cohort if: (Condition 1 OR Condition 2 match) AND Condition 3 match.

    As for the rules, it would be interesting to have the possibility of making copies (and then changing one of the parameters, certainly the cohort to be managed).

    Finally, it would be interesting, at least from my point of view, to also have the possibility to manage cohorts manually, at least in part. I mean, for example, that it would be interesting to be able to manually add users to a cohort managed by the plugin, so that exceptions could also be managed optimally.

    Thank you, good work, and of course Happy New Year to all
  • Ricardo Caiado
    السبت، 22 فبراير 2025، 11:40 PM
    Hi, Dmitrii,

    I have a rule with the following condition:

    Condition: User role

    Operator: have role
    Role: Teacher
    Context: Category

    "including children (categories and courses)" is set

    The returning "Matching users" are not considering the sub-categories and its courses.

    My understanding is that "children" correspond to the sub-categories and courses located within these sub-categories.

    Am I right?

    Ricardo
  • Dmitrii Metelkin
    الاثنين، 24 فبراير 2025، 6:21 AM
  • András Bertalan Kiss
    الاثنين، 31 مارس 2025، 8:04 PM
    Very good plugin, sadly it cant see the custom profile fields.. can you solve that?
  • Ricardo Caiado
    الاثنين، 31 مارس 2025، 8:56 PM
    HI, András.

    I am using this plugin and I can see all the custom profile fields.

    Ricardo
  • Monika Jenkins
    الأربعاء، 2 أبريل 2025، 5:20 AM

    Is there a plan to maybe add on to this plugin to include other conditions, such as relative expiration dates, with either "inactivate this dynamic rule 2 months from creation/today,". I think many of us are using this wonderful too in conjunction with cohort sync which lacks expiration dates. In our case, we need to be able to have cohorts or rules be individually managed at customer level, not course level, ideally through fixed or relative dates.
  • Dmitrii Metelkin
    الثلاثاء، 8 أبريل 2025، 7:33 AM
    Hi Monika,
    Please don't hesitate to raise your request in github as we manage all feature requests there. See https://github.com/catalyst/moodle-tool_dynamic_cohorts/issues
Please login to post comments