Workplace plugins: Difference between revisions

From MoodleDocs
(Added Moodle LMS Plugins section)
(Complete rewrite)
Line 1: Line 1:
==Compatibility==
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 contributed plugins from [https://moodle.org/plugins Moodle LMS].


== Moodle LMS plugins in Workplace ==
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 [https://moodle.org/plugins Moodle LMS].
Moodle Workplace has been built on top of Moodle LMS, that is, Moodle Workplace is not a Moodle LMS fork. Moodle Workplace is effectively a set of plugins plus a number of hooks when plugins are technically not feasible. Moodle Workplace is always kept in sync with Moodle LMS.
[[File:Workplace_Plugins.png|border|center|frameless|600x600px]]


Moodle LMS can be extended via [https://moodle.org/plugins Moodle plugins]. Most plugins will also work in Moodle Workplace, however, there are certain types of plugins that require some additional consideration. <TEXT>


[[File:Workplace Plugins.png|border|frameless|600x600px]]
Moodle Workplace comprises of a set of plugins, some of which are open-source and available in the plugins directory, for example
* [https://moodle.org/plugins/mod_coursecertificate Workplace course certificate] and [https://moodle.org/plugins/tool_certificate Workplace certificate manager]
* [https://moodle.org/plugins/block_rbreport Reporting block]
* [https://moodle.org/plugins/tool_datewatch Date Watcher]
* [[Workplace list course format]] (legacy plugin, not supported any more)


There are also some Workplace-only plugins that are being maintained by Moodle HQ:


* [[Workplace list course format]] (legacy plugin, not supported any more)
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.
* <CERTIFICATE>
 
* <REPORT>
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|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!'''
* <DATE WATCHER?>
 
* <OTHER?>
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|Tenant administrator]] role are enabled
* [[Dynamic rules]] conditions and actions
* Audience types for [[Custom pages|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


==Plugins and multi-tenancy==
One of the key advancements of Moodle Workplace is the ability to support [[multi-tenancy]]. All Moodle Workplace tools are multi-tenant-aware, and thus, plugins also have to support multi-tenancy to work correctly in Moodle Workplace.


As a rule of thumb, Moodle LMS plugins work in Moodle Workplace if they don't collide with multi-tenancy. For example, activity modules don't support multi-tenancy and should work as-is, whereas authentication plugins have to be adapted since tenants are multi-tenant-aware.
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. [[Multi-tenancy authentication#SAML|SAML2]] is a good example that has been extended to work in a Moodle Workplace fully.
==Extended workplace support==
Plugins supporting Workplace specific features also require some attention. [[Multi-tenancy authentication#SAML|SAML2]] is a good example since it has been extended to work in a Moodle Workplace fully.


Any theme-related extensions fall into the same category since Moodle Workplace uses a different core theme than Moodle Workplace.
'''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.
[[Category:Workplace]]
[[Category:Workplace]]

Revision as of 07:45, 12 March 2024

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.