Workplace plugins

From MoodleDocs
Revision as of 07:45, 12 March 2024 by Alex Büchner 2 (talk | contribs) (Complete rewrite)

Moodle Workplace has been built on top of Moodle LMS. Moodle Workplace contains all Moodle LMS features of the same version, that is, Moodle Workplace is always kept in sync with Moodle LMS.

Like Moodle LMS, Moodle Workplace can be extended via plugins. While there is a high degree of compatibility between the two systems, special consideration has to be given to some contributed plugins from Moodle LMS.

Workplace Plugins.png


Moodle Workplace comprises of a set of plugins, some of which are open-source and available in the plugins directory, for example


A plugin included in Moodle Workplace is the Workplace theme. Moodle Workplace sites must either use the Workplace theme or a custom theme that is a child theme thereof. An example of a child theme can be found at https://github.com/moodleworkplace/moodle-theme_wpchild.

Additionally, Moodle Workplace adds some core modifications that only change the LMS behaviour when Workplace plugins are present, and are mostly required for applying extra restrictions related to multi-tenancy. These modifications generally should not affect how other plugins work. Plugins of any other plugin type developed for Moodle LMS are expected to work with Moodle Workplace!

Plugins can, but don't have to, implement additional functionality that will only work when they are installed on top of Moodle Workplace, for example:

  • Multi-tenancy restrictions and features once certain capabilities for the Tenant administrator role are enabled
  • Dynamic rules conditions and actions
  • Audience types for custom pages
  • Other features that use APIs from workplace plugins, for instance, listening to events triggered in workplace plugins, using report builder entities such as jobs and programs, etc


As a rule of thumb, Moodle LMS plugins work in Moodle Workplace if they don't collide with multi-tenancy. For example, activity modules are not affected by multi-tenancy and should work as-is. Authentication plugins should also work, but won't support multi-tenancy; once adapted they will be multi-tenant-aware. SAML2 is a good example that has been extended to work in a Moodle Workplace fully.

Note: Moodle Workplace relies on a separate group mode for separate users from different tenants in the shared courses. When installing add-on Activity module plugins the admins need to ensure that they either support separate group mode or do not expose the participant list.