<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/405/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Openumlaut</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/405/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Openumlaut"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/Special:Contributions/Openumlaut"/>
	<updated>2026-05-08T17:51:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=File:Multi-tenancy_-_Move_between_tenants.png&amp;diff=151513</id>
		<title>File:Multi-tenancy - Move between tenants.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=File:Multi-tenancy_-_Move_between_tenants.png&amp;diff=151513"/>
		<updated>2026-01-24T07:02:49Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: Openumlaut uploaded a new version of File:Multi-tenancy - Move between tenants.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multi-tenancy - Move between tenants&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Multi-tenancy&amp;diff=151337</id>
		<title>Multi-tenancy</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Multi-tenancy&amp;diff=151337"/>
		<updated>2025-05-08T04:28:12Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Multi-tenant support for user profile fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Workplace}}&lt;br /&gt;
= Overview =&lt;br /&gt;
Tenants are isolated entities with their look and feel, structure, users, and learning entities. They are critical for when you wish to represent multiple self-contained business entities in your organisation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi-tenancy&#039;&#039;&#039; has been implemented as a single instance of Moodle Workplace that serves multiple client organisations (tenants), where its data and configuration are virtually partitioned, and each client organisation works with a customized virtual application instance.&lt;br /&gt;
&lt;br /&gt;
Multi-tenancy is the ability to enable the configuration for multiple tenants with different themes and permissions, keeping them separated so that users in one tenant cannot see the users in another. Each tenant has its own users, hierarchies, roles, dynamic rules, theme settings, reports, and learning entities (courses, programs, and certifications).&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=MoLskzvCYRk|100%|center|Moodle Workplace Multi Tenancy}}&lt;br /&gt;
All Moodle Workplace tools are multi-tenant-aware - depending on the features, different levels of multi-tenancy are supported.&lt;br /&gt;
=Managing tenants=&lt;br /&gt;
The main administrator or a user with the capability [[Capabilities/tool/tenant:manage|tool/tenant:manage]] can access the management of tenants via &#039;&#039;&#039;Site administration &amp;gt; Users &amp;gt; Organisation &amp;gt; Manage tenants&#039;&#039;&#039; or directly via the &#039;&#039;&#039;All tenants&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Multi-tenancy - Managing tenants.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active tenant, you see the &#039;&#039;&#039;Tenant name&#039;&#039;&#039;, the number of assigned &#039;&#039;&#039;Users&#039;&#039;&#039;, &#039;&#039;&#039;Category&#039;&#039;&#039;, up to two &#039;&#039;&#039;Login URL&#039;&#039;&#039;s, and the &#039;&#039;&#039;Archive&#039;&#039;&#039; action.&lt;br /&gt;
&lt;br /&gt;
A default tenant has been created during installation, and at least one user has already been assigned to it (the site admin account). After [[Moodle Workplace Installation|upgrading from Moodle LMS]] to Moodle Workplace, all users will belong to the default tenant.&lt;br /&gt;
&lt;br /&gt;
Each tenant can have a top-level course category attached to it. Note that a course category can only be attached to a single tenant.&lt;br /&gt;
&lt;br /&gt;
To create a new tenant, click on the &#039;&#039;&#039;+New tenant button&#039;&#039;&#039;. You will then see a pop-up screen and a range of tenant details.&lt;br /&gt;
*&#039;&#039;&#039;Tenant name&#039;&#039;&#039; (Required) Name of the tenant. While multiple tenants can have the same name, it is recommended that you use different names for different tenants.&lt;br /&gt;
*&#039;&#039;&#039;Site name&#039;&#039;&#039; and &#039;&#039;&#039;Site short name&#039;&#039;&#039; Site name and Site short name are effectively the same as the full site name and the short name for the site settings used for the front page in Site administration &amp;gt; Front page settings. Once a tenant is active (either by selecting it via the tenant switcher or when a user belongs to a tenant), the tenant settings will override the site settings.&lt;br /&gt;
*&#039;&#039;&#039;ID number&#039;&#039;&#039; A unique identifier for your tenant. It is used when uploading users via the upload user tool or connecting to external systems via web services or as a parameter in the login URL. There two HTML data attributes &amp;lt;code&amp;gt;[data-tenantid=&amp;quot;{tenant_id}&amp;quot;]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[data-tenantidnumber=&amp;quot;{tenant_idnumber}&amp;quot;]&amp;lt;/code&amp;gt; help you to customise the styles for specific tenants. However, the tenant ID Number has to be specified for these attributes to function.&lt;br /&gt;
*&#039;&#039;&#039;Login URL&#039;&#039;&#039; There are two selections available to access the login directly: one containing the ID number and the other an internal numeric tenant ID (the default tenant always has ID=1 and cannot be changed). The internal tenant ID is not available during tenant creation. As a consequence, the login URLs are displayed as tenantid={ID} and tenant={IDNUMBER}, respectively&lt;br /&gt;
*&#039;&#039;&#039;Course category&#039;&#039;&#039; Courses that belong to a particular tenant have to be located in a tenant category. There are three options for the &#039;&#039;&#039;Course category&#039;&#039;&#039; choice:&lt;br /&gt;
**&#039;&#039;&#039;No category&#039;&#039;&#039;: No tenant category is selected (default).&lt;br /&gt;
**&#039;&#039;&#039;Create a new category&#039;&#039;&#039;: A top-level course category with the same name as the tenant name is created.&lt;br /&gt;
**&#039;&#039;&#039;Choose an existing category&#039;&#039;&#039;: All top-level categories that are not already assigned to any other tenants are available for selection.&lt;br /&gt;
Moodle Workplace also supports courses that are [[Multi-tenancy#Shared Content|shared across tenants]].&lt;br /&gt;
[[File:Multi-tenancy - New tenant.png|border|center|frameless|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Three roles are created automatically during the Workplace installation and are assigned automatically to the following users:&lt;br /&gt;
*[[Tenant administrator role|Tenant administrator]]: Assigned to the tenant administrator (in the system context).&lt;br /&gt;
*[[Tenant administrator in course category role|Tenant administrator in the course category]]: Assigned to the tenant administrator (in the context of the course category of the tenant). Also known as tenant manager.&lt;br /&gt;
*[[Tenant user role|Tenant user]]: Assigned to all tenant users (in the context of the course category of the tenant). By default, this role only has the capability &#039;moodle/category:viewcourselist&#039;&lt;br /&gt;
You cannot delete these three roles, nor can you change their assignments. However, as a site administrator, you can modify these roles if necessary. For example, the &amp;quot;Tenant administrator&amp;quot; role by default contains the capability [[Capabilities/tool/tenant:managetheme|tool/tenant:managetheme]] that allows the tenant administrator to change the look of their tenant (logo and colours). The main administrator may decide that theme customisation should only be done centrally and prohibit this capability in the &amp;quot;Tenant administrator&amp;quot; role. The same can be done for the [[Capabilities/tool/tenant:manageusers|tool/tenant:manageusers]] capability.&lt;br /&gt;
&lt;br /&gt;
Once you have added a tenant, you will be redirected to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab, where you should add a tenant admin. &lt;br /&gt;
== Tenant Users ==&lt;br /&gt;
When dealing with tenant users, two fundamental rules apply:&lt;br /&gt;
#&#039;&#039;&#039;A user is always assigned to a tenant; that is, an account cannot be tenantless.&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;A user cannot be assigned to more than one tenant; an account always belongs to a single tenant and a single tenant only.&#039;&#039;&#039; This rule might be relaxed in the future.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When a new user account is created, whether by self-registration, manual entry, batch upload, or via web services, it is always attached to the default tenant, unless specified otherwise. The following diagram illustrates how users are assigned to tenants:&lt;br /&gt;
[[File:Multi-tenancy - Overview.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each user belongs to precisely one tenant. Each tenant can have zero, one, or many tenant administrators. By default, a tenant admin has permission to manage tenant users, manage tenant roles, configure authentication settings, and adjust the tenant branding.&lt;br /&gt;
&lt;br /&gt;
You can manage all tenant users and also add new users to the tenant in the &#039;&#039;&#039;Users&#039;&#039;&#039; tab. The required capability is &#039;&#039;&#039;tool/tenant:manageusers&#039;&#039;&#039;.&lt;br /&gt;
[[File:Multi-tenancy - Users.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add a new tenant user manually, select the &#039;&#039;&#039;+New User&#039;&#039;&#039; button. The screen contains the same information as the standard user form, plus an extra &#039;&#039;&#039;Tenant administration&#039;&#039;&#039; section at the bottom where you can assign the user tenant administration rights.&lt;br /&gt;
[[File:Multi-tenancy - New user.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a course category has been assigned to the tenant, the tenant administrator is automatically assigned the tenant manager role in this category; this means they have permission to create courses, assign roles, etc. Access to the course management is done through &#039;&#039;&#039;Workplace launcher &amp;gt; Courses&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Using the drop-down menu at the bottom, a administrators can perform a number of actions. By default, that is without granting or denying permissions, the following actions are available to tenant adminstrators and site administrators, respectively:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Tenant Admin&lt;br /&gt;
!Site Admin&lt;br /&gt;
|-&lt;br /&gt;
|Confirm accounts&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Send a message&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Delete users&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Force password change&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Add to cohort&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Suspend users&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Activate user accounts (unsuspend users)&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Resend confirmation emails&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Resend user authentication factors&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Allocate to [[Programs|program]] &lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Allocate or [[Certifications|certification]]&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Add to tenant administrators (role)&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Remove from tenant administrators (role)&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Move between tenants*&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; To move users between tenants the [[Capabilities/tool/tenant:allocate|tool/tenant:allocate]] capability required. None of the user data, such as courses or certification completion, will be affected by this.[[File:Multi-tenancy - Move between tenants.png|border|center|frameless|600x600px]]&lt;br /&gt;
As a tenant administrator, you can also batch upload users via the [[Upload users in Moodle Workplace#Tenant allocation|Upload users]] tool. A tenant is matched by its tenant ID number.&lt;br /&gt;
&lt;br /&gt;
If the user also has the [[Capabilities/tool/tenant:allocate|tool/tenant:allocate]] capability, they will be able to specify a tenant when uploading users (both when creating new users and updating existing ones). If the user does not have this capability, users can only be created and updated in their own tenant.&lt;br /&gt;
&lt;br /&gt;
Since a user cannot be tenantless, it is impossible to remove tenant allocation. However, you can move a user from one tenant to another by replacing the old tenant in the CSV file with the new value.&lt;br /&gt;
==Multi-tenant support for user profile fields ==&lt;br /&gt;
Moodle&#039;s [[User profile fields|user profile fields]] have been extended to allow the definition of different user profile fields for each tenant. When creating or editing a user profile category in &#039;&#039;&#039;Site administration &amp;gt; Users &amp;gt; User profile fields&#039;&#039;&#039;, the following three self-explanatory options are available:&lt;br /&gt;
*This category is available to all tenants (including future ones)&lt;br /&gt;
*This category is available to the following tenants...&lt;br /&gt;
*This category is available to all tenants except the following...&lt;br /&gt;
[[File:Multi-tenancy - User profile fields.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When profile fields belong to tenant-specific categories, they will only appear in the profile for users in those tenants; this includes sign-up and edit forms.&lt;br /&gt;
&lt;br /&gt;
A tenant admin has permission to edit locked profile fields for users in their tenant.&lt;br /&gt;
&lt;br /&gt;
User profile fields can be defined as identity fields (found under &#039;&#039;&#039;Site administration &amp;gt; Users &amp;gt; User permissions&#039;&#039;&#039;), which means that various user reports across Moodle Workplace will display the fields relevant to the current tenant.&lt;br /&gt;
== Tenant Details==&lt;br /&gt;
In the &#039;&#039;&#039;Details&#039;&#039;&#039; tab, the meta-information about the tenant is displayed. Tenant administrators do not have access to the main tenant list, so this is where they can view data about the following fields:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ID number&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Site name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Site short name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Login URL&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Administrators&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Course category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Tenant Roles==&lt;br /&gt;
The &#039;&#039;&#039;Roles&#039;&#039;&#039; tab is where the available roles and their assignment to users in the current tenant are displayed and managed.&lt;br /&gt;
&lt;br /&gt;
By default, the [[Tenant administrator role]] has the capability [[Capabilities/tool/tenant:manageusers|tool/tenant:manageusers]]. Unless this capability has been removed from the role by the main administrator, the tenant administrator can create and edit users inside their tenant.&lt;br /&gt;
&lt;br /&gt;
The tenant administrator can also assign other roles to their users, for example, &amp;quot;Program manager&amp;quot; or &amp;quot;Organisation structure manager&amp;quot; in the system context.&lt;br /&gt;
&lt;br /&gt;
Suppose the tenant has its own course category. In that case, the tenant administrator also has a role &amp;quot;[[Tenant administrator in course category role|Tenant administrator in course category]]&amp;quot; in this course category and can assign roles in the context of this course category, for instance, &amp;quot;Course creator&amp;quot;. For easier management, a single page lists all the roles that the tenant administrator can assign in both the System and Category context, which can be accessed via &#039;&#039;&#039;Workplace launcher &amp;gt; Users &amp;gt; Roles&#039;&#039;&#039;.&lt;br /&gt;
[[File:Multi-tenancy - Roles.png|border|center|frameless|900x900px|alt=|]]Each tenant user is automatically assigned the role &#039;&#039;&#039;[[Tenant user role|Tenant user]]&#039;&#039;&#039; in the context of their tenant category. Even a site administrator cannot edit this role or assign it to any users manually to avoid confusion.&lt;br /&gt;
==Tenant Authentication ==&lt;br /&gt;
Moodle Workplace supports multi-tenancy for authentication; that is, you can configure different authentication options for different tenants. On the &#039;&#039;&#039;Authentication&#039;&#039;&#039; tab, all authentication plugins which have been enabled in &#039;&#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage authentication&#039;&#039;&#039; are shown.&lt;br /&gt;
&lt;br /&gt;
Authentication methods that fully support multi-tenancy can be individually configured via the cogwheel icon. Authentication plugins that don&#039;t (yet) support multi-tenancy (indicated by the lock symbol) cannot be configured at the tenant level. It is further possible to deactivate individual authentication plugins via the &#039;&#039;&#039;Hide&#039;&#039;&#039; icon.&lt;br /&gt;
[[File:Multi-tenancy - Authentication.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To override selected authentication settings such as authentication instructions and allowed domains, select the &#039;&#039;&#039;Common settings&#039;&#039;&#039; link. Here, you can modify general authentication settings for each tenant.&lt;br /&gt;
[[File:Multi-tenancy - Common settings.png|border|center|frameless|820x820px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Site administrators can force some settings for all tenants via the &#039;&#039;&#039;Force for all tenants&#039;&#039;&#039; settings in the Common settings section in &#039;&#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage authentication&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Tenant admins can override common settings or settings for multi-tenant auth plugins using the &#039;&#039;&#039;Authentication&#039;&#039;&#039; tab. This feature requires the &#039;&#039;&#039;tool/tenant:authconfig&#039;&#039;&#039; capability, which is enabled by default for the Tenant admin role.&lt;br /&gt;
&lt;br /&gt;
Details on configuring authentication plugins in a multi-tenancy setup can be found on the [[Multi-tenancy authentication]] page.&lt;br /&gt;
==Tenant Branding==&lt;br /&gt;
The &#039;&#039;&#039;Branding&#039;&#039;&#039; tab lets you customise the look and feel of the tenant (the required capability is &#039;&#039;&#039;tool/tenant:managetheme&#039;&#039;&#039;). The available categories are &#039;&#039;&#039;Images&#039;&#039;&#039;, &#039;&#039;&#039;Colours&#039;&#039;&#039;, and &#039;&#039;&#039;Advanced:&#039;&#039;&#039;&lt;br /&gt;
=== Images ===&lt;br /&gt;
The &#039;&#039;&#039;Images&#039;&#039;&#039; category on the Branding tab deals with the pictures displayed on your site: &lt;br /&gt;
*&#039;&#039;&#039;Header logo&#039;&#039;&#039;: The company logo to be displayed in the navigation bar.&lt;br /&gt;
*&#039;&#039;&#039;Login logo&#039;&#039;&#039;: The organization logo displayed above the username and password fields on the login screen. This is often the same as the header logo.&lt;br /&gt;
*&#039;&#039;&#039;Tenant selector logo&#039;&#039;&#039;: This logo will be displayed on the login tenant selector if enabled. If not specified, the Login logo will be used.&lt;br /&gt;
*&#039;&#039;&#039;Login background image&#039;&#039;&#039;: The picture to be displayed on the login screen. We will take a closer look at the login screen(s) later in this section.&lt;br /&gt;
* &#039;&#039;&#039;Favicon&#039;&#039;&#039;: The icon associated with this site is usually shown in the browser&#039;s address bar.&lt;br /&gt;
[[File:Multi-tenancy - Branding - Grey tones hue.jpg|thumb]]&lt;br /&gt;
===Colours===&lt;br /&gt;
The &#039;&#039;&#039;Colours&#039;&#039;&#039; category on the Branding tab deals lets you specify the primary colour of your site:&lt;br /&gt;
* &#039;&#039;&#039;Primary colour&#039;&#039;&#039;: The colour of all links and the accent colour of the site&lt;br /&gt;
* &#039;&#039;&#039;Match gray tones hue with primary colour&#039;&#039;&#039;: When enabled, shades of grey are generated automatically based on the tenant primary colour. This feature reinforces the brand identity while avoiding disturbing the experience.&lt;br /&gt;
===Advanced===&lt;br /&gt;
The following settings are available in the Advanced category on the Branding tab. Only users with the &#039;&#039;&#039;tool/tenant:managethemeadvanced&#039;&#039;&#039; capability can edit the advanced branding settings. By default, only site Site Admins have this capability allowed; it can be added to the tenant admin role, if needed.&lt;br /&gt;
&lt;br /&gt;
The following settings are available in the Advanced category&lt;br /&gt;
*&#039;&#039;&#039;Footer text&#039;&#039;&#039;: Text displayed at the bottom of all pages, for example, a copyright disclaimer.&lt;br /&gt;
*&#039;&#039;&#039;Support name&#039;&#039;&#039;: The name of the person or other entity providing support via the support form or support page.&lt;br /&gt;
*&#039;&#039;&#039;Support email&#039;&#039;&#039;: This email address will receive messages submitted through the support form.&lt;br /&gt;
*&#039;&#039;&#039;Link to &#039;Contact site support&#039;&#039;&#039;&#039;: URL of a support page or leave empty to link to a contact form.&lt;br /&gt;
*&#039;&#039;&#039;Support availability&#039;&#039;&#039;: Determines who has access to contact site support from the footer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The support-related fields are configured at the site level by default. By selecting &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;Override&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;, you can provide a new value that only applies to users in this tenant.&lt;br /&gt;
[[File:Multi-tenancy - Support.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Settings that have been placed in the &#039;&#039;&#039;Show more...&#039;&#039;&#039; area may impact the accessibility of the site and the user experience. The default values fully comply with accessibility standards.&lt;br /&gt;
* &#039;&#039;&#039;Navigation bar colour&#039;&#039;&#039;: Background colour of the top navigation bar&lt;br /&gt;
*&#039;&#039;&#039;Primary button colour&#039;&#039;&#039;: The colour of the main action buttons&lt;br /&gt;
*&#039;&#039;&#039;Custom SCSS&#039;&#039;&#039;: Any valid custom SCSS code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By clicking the &#039;&#039;&#039;Reset tenant appearance&#039;&#039;&#039; button, you will be able to select which elements will be restored to their default values.&lt;br /&gt;
[[File:Multi-tenancy - Reset appearance.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resetting tenant appearance cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
==Tenant Dashboard==&lt;br /&gt;
By default all tenants&#039; dashboards are linked to the content defined in &#039;Default site dashboard page&#039; and any modifications to the site default dashboard will appear for the new users in any tenant. Any user with the &#039;&#039;&#039;tool/tenant:managedashboard&#039;&#039;&#039; capability (Site admin and Tenant admin by default) can define a tenant-specific dashboard with the same editing capabilities as the core [[Dashboard]]. Tenant administrators are able to manage their tenant&#039;s dashboard and reset the configuration for tenant users.&lt;br /&gt;
&lt;br /&gt;
Once the button &amp;quot;&#039;&#039;&#039;Create personalised dashboard&#039;&#039;&#039;...&amp;quot; is clicked, the tenant dashboard will no longer be linked to the content defined in &#039;Default site dashboard page&#039;. Instead, it will become an independent dashboard page that can be configured individually via the &#039;&#039;&#039;Edit Dashboard&#039;&#039;&#039; button.&lt;br /&gt;
[[File:Multitenancy - Dashboard linked.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Dashboard status will change from &#039;&#039;&#039;Linked&#039;&#039;&#039; to &#039;&#039;&#039;Un-linked&#039;&#039;&#039;. When the &#039;&#039;&#039;Remove personalised dashboard, use site default dashboard&#039;&#039;&#039;... button is clicked, the tenant dashboard will be linked back to the content defined in &#039;Default site dashboard page&#039;.&lt;br /&gt;
[[File:Multitenancy - Dashboard unlinked.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The dashboard of new tenant users will be created from the default dashboard. Existing users will not be affected by changes to the linked or un-linked dashboard, respectively. However, they can be manually reset by clicking the &#039;&#039;&#039;Reset dashboard for all users&#039;&#039;&#039;... button.&lt;br /&gt;
==Limiting the number of tenants==&lt;br /&gt;
A site administrator can restrict the number of tenants that can be created on the site from &#039;&#039;&#039;Site administration &amp;gt; Advanced features &amp;gt; Enable tenant limit&#039;&#039;&#039;. Enabling this setting and configuring the &#039;&#039;&#039;Tenant limit&#039;&#039;&#039; to a specific value will prevent more than this number of tenants from being created. &lt;br /&gt;
[[File:Multi-tenancy - Limiting the number of tenants.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
It is also possible to add the following lines to your [[Configuration file|site configuration]] to hardcode this configuration:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;tool_tenant_tenantlimitenabled = true;&lt;br /&gt;
$CFG-&amp;gt;tool_tenant_tenantlimit = &amp;lt;VALUE&amp;gt;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that archived tenants, as well as [[Multi tenancy#Shared Space|Shared space]], also counted towards this limit.&lt;br /&gt;
== Tenant Mobile==&lt;br /&gt;
The settings on this page allow you to configure app-related settings covering [[Moodle app guide for admins|app banners]] and [[Moodle app notifications|mobile messaging]]. For each value there are three possible settings:&lt;br /&gt;
*&#039;&#039;&#039;Use default&#039;&#039;&#039;: the value specified in the site-wide setting (see below) is applied to the current tenant&lt;br /&gt;
*&#039;&#039;&#039;Override&#039;&#039;&#039;: the site-wide setting can be overridden with a unique value for the current tenant&lt;br /&gt;
*&#039;&#039;&#039;Hidden&#039;&#039;&#039;: if a value has been locked, it won&#039;t appear on this screen and the site-wide value specified will be applied in all tenants&lt;br /&gt;
[[File:Multi-tenancy - Mobile.png|alt=|border|center|frameless|900x900px]]&lt;br /&gt;
Each value on this screen has a site-wide counterpart elsewhere. The following values can be overridden, unless the site-wide setting has not been locked:&lt;br /&gt;
*App banners (site-wide settings at &#039;&#039;&#039;General &amp;gt; Mobile app &amp;gt; Mobile appearance&#039;&#039;&#039;)[[File:Multi-tenancy - Mobile app banners.png|alt=|thumb]]&lt;br /&gt;
** Enable App Banners&lt;br /&gt;
**iOS app&#039;s unique identifier&lt;br /&gt;
**Android app&#039;s unique identifier&lt;br /&gt;
**App download page&lt;br /&gt;
*[[File:Multi-tenancy - Mobile notifications.png|alt=|thumb]]Mobile messaging (site-wide settings at &#039;&#039;&#039;General &amp;gt; Messaging &amp;gt; Mobile&#039;&#039;&#039;)&lt;br /&gt;
**Airnotifier URL&lt;br /&gt;
**Airnotifier port&lt;br /&gt;
**Mobile app name&lt;br /&gt;
**Airnotifier app name&lt;br /&gt;
** Airnotifier access key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each value can be locked via the respective site-wide settings screen. Note, if a value has been locked, it will not appear in the list of values at tenant level.&lt;br /&gt;
== Limiting number of users==&lt;br /&gt;
A site administrator can restrict the number of users per tenant and/or site-wide:&lt;br /&gt;
*Site-wide: the maximum number of users that can exist on the site&lt;br /&gt;
*Per-tenant: the maximum number of users that can exist in any tenant&lt;br /&gt;
These settings are available from &#039;&#039;&#039;Site administration &amp;gt; Advanced features&#039;&#039;&#039;. Suspended users count towards the limits. &lt;br /&gt;
[[File:Multi-tenancy - Limiting the number of users.png|border|center|frameless|800x800px]]&lt;br /&gt;
When the site limit is lower than the number of current users on the site, no new users can be created. When the number of users reaches the tenant limit, no new users can be created in or moved to the tenant. &lt;br /&gt;
&lt;br /&gt;
It is also possible to add the following lines to your site configuration to hardcode this configuration:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Site limit.&lt;br /&gt;
$CFG-&amp;gt;userlimitenabled = true;&lt;br /&gt;
$CFG-&amp;gt;userlimit = &amp;lt;VALUE&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
// Tenant limit.&lt;br /&gt;
$CFG-&amp;gt;tool_tenant_userlimitenabled = true;&lt;br /&gt;
$CFG-&amp;gt;tool_tenant_userlimit = &amp;lt;VALUE&amp;gt;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Archiving and Deleting Tenants==&lt;br /&gt;
Moodle Workplace supports the archiving of tenants via the corresponding icon. Archiving a tenant performs the following two actions:&lt;br /&gt;
*All users are moved to the default tenant.&lt;br /&gt;
*The tenant is made unavailable throughout the site.&lt;br /&gt;
Note that the default tenant cannot be archived.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Archived&#039;&#039;&#039; tenants tab gives you access to all non-active tenants. Here, you can either &#039;&#039;&#039;Restore&#039;&#039;&#039; or irrevocably &#039;&#039;&#039;Delete&#039;&#039;&#039; a tenant. A restored tenant keeps all its settings, roles, and theme variables. It also moves users back from the default tenant to the restored tenant. This reallocation does not apply to users who have already been moved out of the default tenant.&lt;br /&gt;
==Multi-tenancy domain configuration ==&lt;br /&gt;
In Moodle Workplace, the following tenant domain names (logins URLS) are supported:&lt;br /&gt;
*https://&amp;lt;DOMAIN&amp;gt;/?tenantid=&amp;lt;TENANTID&amp;gt;&lt;br /&gt;
*https://&amp;lt;DOMAIN&amp;gt;/?tenant=&amp;lt;IDNUMBER&amp;gt;&lt;br /&gt;
For example, if the internal TENANTID equals 3 and the specified tenant IDNUMBER is set to &#039;atlantis&#039;, the login URLs could be https://workplacedemo.moodle.com/?tenantid=3 and https://workplacedemo-atlantis.moodle.com/?tenant=atlantis&lt;br /&gt;
&lt;br /&gt;
In some setups, it might be required to specify a tenant domain that does not conform to the described standard format. For example, on the demo site, the same tenants can be accessed as https://workplacedemo-kams.moodle.com and https://workplacedemo-atlantis.moodle.com&lt;br /&gt;
&lt;br /&gt;
To facilitate this, the following domain-per-tenant configuration is supported at &#039;&#039;config.php&#039;&#039; level:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;wwwroot  = &#039;https://workplacedemo.moodle.com&#039;; // Main domain used for site registration and also default domain for the tenants.&lt;br /&gt;
$CFG-&amp;gt;allowmultipledomains = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have modified your &#039;&#039;config.php&#039;&#039;, navigate to the &#039;&#039;&#039;Manage tenants&#039;&#039;&#039; page. You will now be able to specify a &#039;&#039;&#039;Custom domain&#039;&#039;&#039; for each tenant. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Your web server must be properly configured so that each custom domain points to the directory where its Moodle Workplace codebase is located.&lt;br /&gt;
&lt;br /&gt;
[[File:Workplace custom tenant domain setup.png|thumb|center|900x900px]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Custom domain&#039;&#039;&#039; will be used to detect the current tenant and apply the appropriate branding for non-authenticated users.&lt;br /&gt;
&lt;br /&gt;
Emails generated in Moodle Core and Moodle Workplace (such as forum post notifications, completion notifications, forgotten password links, and so on) will use this domain for links back to the site. Please note that add-on plugins may not always support the multi-tenant domains feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The Workplace team will continue expanding custom domain support to other product features. For example, currently, login is not restricted to the user&#039;s tenant domain. In the example above, a user from the &#039;Kams&#039; tenant can log in from the &#039;Atlantis&#039; domain and vice versa. Additional work is also underway to allow third-party providers (such as google, ldap, h5p, badges, etc.) to function across multiple domains.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: If you used the &#039;experimental&#039; multi-domain feature in Workplace 4.0-4.4, you will need to [[Migrating multi-domain configuration|migrate tenant domain configuration]].&lt;br /&gt;
&lt;br /&gt;
==User Tour Tenant selector==&lt;br /&gt;
The tenant user tour selector allows you to customise onboarding [[Multi-tenancy - User tours|tours]] by tenant. &lt;br /&gt;
[[File:Multi-tenancy - User tours.png|center|frameless|600x600px]]&lt;br /&gt;
You can create different user tours for different tentants by selecting one or many tenants when creating a new user tour.&lt;br /&gt;
&lt;br /&gt;
= Sharing Entities=&lt;br /&gt;
There are two ways that sharing across tenants can be facilitated:&lt;br /&gt;
* [[Multi-tenancy#Shared Content|Shared Content]]: sharing of courses and certificates&lt;br /&gt;
* [[Multi-tenancy#Shared Space|Shared Space]]: sharing of Moodle Workplace data such as programs or organisation structure&lt;br /&gt;
==Shared Content==&lt;br /&gt;
Typically each tenant has its own course category and hence its own courses. The manual enrolment method has been modified, so the user picker only displays users from the current tenant. However, there are scenarios where a business might want to have courses shared among tenants.&lt;br /&gt;
&lt;br /&gt;
To provide courses across tenants, you need to create a course category and adjust the permissions as follows: &lt;br /&gt;
# In &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Course and category management&#039;&#039;&#039; select &#039;&#039;&#039;Permissions&#039;&#039;&#039; from the options drop-down of the category that will contain the shared courses&lt;br /&gt;
# Filter by or search for the capability &#039;&#039;&#039;moodle/category:viewcourselist&#039;&#039;&#039;&lt;br /&gt;
#Grant &#039;&#039;&#039;permission&#039;&#039;&#039; to the &#039;&#039;&#039;Authenticated user role&#039;&#039;&#039;&lt;br /&gt;
Any courses that will be placed in the &#039;shared courses&amp;quot; category will be seen across tenants. The reason for this work-around is the moodle/category:viewcourselist capability is removed from the &#039;Authenticated users&#039; role during the installation of Moodle Workplace to implicitly support multi-tenancy without breaking the compatibility with Moodle LMS.&lt;br /&gt;
&lt;br /&gt;
Please note that multi-tenancy does not apply to the course content. This means that if a user (either a learner or a trainer) is enrolled in a course, they will see users from other tenants while browsing the course. This could be forum posts, the list of course participants, gradebook, reports, or any other module that displays course participants.&lt;br /&gt;
&lt;br /&gt;
There are various reasons for this behaviour:&lt;br /&gt;
*Suppose the organisation wants to have shared courses. In that case, they may expect this behaviour since they want the learners to study together and/or the trainer from one tenant to be a trainer for all learners regardless of their tenant.&lt;br /&gt;
*It is simply impossible to modify all activity modules and reports to add multi-tenancy restrictions, especially considering that there can be third-party plugins.&lt;br /&gt;
*The same functionality can be achieved by using separate group mode if needed.&lt;br /&gt;
If you share courses between different tenants and you want users from each tenant to learn independently, they must belong to different groups, and &#039;&#039;&#039;the course has to be in separate group mode&#039;&#039;&#039; (preferably forced). Please review the &amp;quot;Trainer&amp;quot; and &amp;quot;Non-editing trainer&amp;quot; roles in the course and ensure that they do not have the [[Capabilities/moodle/site:accessallgroups|accessallgroups]] capability. The trainers are also allocated to the relevant groups.&lt;br /&gt;
&lt;br /&gt;
Allocation to separate groups is done automatically when a shared course is part of a program. See also how to share content across tenants via [[Programs|programs]].&lt;br /&gt;
&lt;br /&gt;
You can also share [[Certificate templates]] across tenants by selecting &#039;None&#039; in the Course category selector.&lt;br /&gt;
==Shared Space==&lt;br /&gt;
Shared space enables the sharing of entities across all tenants. It works like a special tenant where users can create supported entities to be available in other tenants. The following Workplace tools are supported in Shared space:&lt;br /&gt;
* [[Programs]]&lt;br /&gt;
*[[Certifications]]&lt;br /&gt;
*[[Organisation structure]] &lt;br /&gt;
*[[Dynamic rules]]&lt;br /&gt;
*[[Report builder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shared space is a special tenant to share Moodle Workplace entities among all tenants.&lt;br /&gt;
&lt;br /&gt;
The site administrator has to enable the Shared space feature once using one of these two options:&lt;br /&gt;
*Choose Shared space from the tenant switcher and select &#039;&#039;&#039;Enable Shared&#039;&#039;&#039; space. If you select the &#039;&#039;&#039;Not now&#039;&#039;&#039; button, the option will be removed from the tenant switcher, and enabling the feature will only be possible from the tenant menu.&lt;br /&gt;
&lt;br /&gt;
*Go to the tenant menu (via the Workplace launcher) and select &#039;&#039;&#039;Enable Shared&#039;&#039;&#039; space. The shared space will be created as before, and the option will reappear in the tenant switcher.&lt;br /&gt;
[[File:Multi-tenancy - Shared space.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
Note, enabling the Shared space feature cannot be undone. Once enabled, always enabled!&lt;br /&gt;
&lt;br /&gt;
When you are in the Shared space, any supported entities created are available in all tenants. You can think of them as site-wide entities. Shared entities are labelled with a Shared space indicator.&lt;br /&gt;
=Privacy considerations=&lt;br /&gt;
All user information from each tenant is stored in the same database and the same table. However, by default, no personal data is shared from one tenant to the other, and they can remain unaware of any other tenants. This is to comply with Moodle&#039;s commitment to the [[GDPR|GDPR requirement]] to implement data protection by default and by design. It is still open to the administrator to enable sharing for users from different tenants to see users from other tenants, including forum posts, list of course participants, gradebook, reports or any other modules that display course participants. &lt;br /&gt;
&lt;br /&gt;
Certain professional or institutional bodies may require that data is not stored together with other entities. If you are required to physically separate tenants, unfortunately, you may not benefit from multi-tenancy and may need to set up separate sites.&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Multi-tenancy capabilities]]&lt;br /&gt;
*[[Capabilities/tool/tenant:manage]]&lt;br /&gt;
*[[Migrating multi-domain configuration]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Rolling_Release_Updates&amp;diff=151315</id>
		<title>Rolling Release Updates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Rolling_Release_Updates&amp;diff=151315"/>
		<updated>2025-04-12T17:53:51Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* New actions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Workplace}}This page provides documentation of all improvements in rolling releases. It is expected that these new features will be added to the next major release.&lt;br /&gt;
&lt;br /&gt;
== Custom pages ==&lt;br /&gt;
A description has been added to the action option on the custom page to provide more details on the different type of custom pages.&lt;br /&gt;
[[File:Custom pages - New page menu.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;viewall capabilty&#039;&#039;&#039; has been added to allow view all pages in the page listing report regardless of audience. This applies to current tenant and global pages. Note that this doesn&#039;t mean the user with this capability will see any custom page in the primary navigation, it&#039;s just about the custom pages list.&lt;br /&gt;
&lt;br /&gt;
== Dynamic rules ==&lt;br /&gt;
&lt;br /&gt;
==== New actions ====&lt;br /&gt;
The following actions have been added to dynamic rules:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Action name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Setting(s)&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Prerequisite&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Delete users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to delete users&lt;br /&gt;
|-&lt;br /&gt;
|Suspend users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to suspend users&lt;br /&gt;
|-&lt;br /&gt;
|Unsuspend users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to unsuspend users&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== User-defined time frames ====&lt;br /&gt;
User-defined time frames lets you schedule dynamic rules to run in the future. The rules header has been enhanced with two new options:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start date&#039;&#039;&#039;: The selected start date marks the beginning for evaluating the rule. Events affecting conditions such as &amp;quot;course completed&amp;quot; can happen at any time before or after the selected date.&lt;br /&gt;
* &#039;&#039;&#039;End date&#039;&#039;&#039; (optional): The selected end date serves as the fixed deadline for evaluating this rule. &lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic rules - Details 5.0.png|border|center|frameless|900x900px]]&lt;br /&gt;
The &#039;&#039;&#039;Details&#039;&#039;&#039; tab of each dynamic rule has also been enhanced and now displays the start and end date. &lt;br /&gt;
&lt;br /&gt;
== Multi-tenancy ==&lt;br /&gt;
&lt;br /&gt;
=== Tenant selector auto-complete ===&lt;br /&gt;
The tenant selector has been enhanced and now supports &#039;&#039;&#039;auto-complete&#039;&#039;&#039;. This new feature is particularly helpful on sites with a large number of tenants.&lt;br /&gt;
[[File:Multitenancy - Tenant selector autocomplete.jpg|border|center|frameless|600x600px]]&lt;br /&gt;
&lt;br /&gt;
=== Improvents to user suspension process when archiving tenants ===&lt;br /&gt;
This new feature is about improving the tenant archiving process as follows:&lt;br /&gt;
&lt;br /&gt;
* When archiving a tenant without any allocated users just archive it&lt;br /&gt;
* When archiving a tenant with allocated users, suspend users&lt;br /&gt;
* Option to allocate suspended users to a any tenant&lt;br /&gt;
&lt;br /&gt;
The full tenant archiving process is shown in the following workflow:&lt;br /&gt;
[[File:Multi-tenancy - Archiving process.png|border|center|frameless|600x600px]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Rolling_Release_Updates&amp;diff=151292</id>
		<title>Rolling Release Updates</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Rolling_Release_Updates&amp;diff=151292"/>
		<updated>2025-04-01T08:17:40Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Multi-tenancy */ Tenant archiving process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Workplace}}This page provides documentation of all improvements in rolling releases. It is expected that these new features will be added to the next major release.&lt;br /&gt;
&lt;br /&gt;
== Custom pages ==&lt;br /&gt;
A description has been added to the action option on the custom page to provide more details on the different type of custom pages.&lt;br /&gt;
[[File:Custom pages - New page menu.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;viewall capabilty&#039;&#039;&#039; has been added to allow view all pages in the page listing report regardless of audience. This applies to current tenant and global pages. Note that this doesn&#039;t mean the user with this capability will see any custom page in the primary navigation, it&#039;s just about the custom pages list.&lt;br /&gt;
&lt;br /&gt;
== Dynamic rules ==&lt;br /&gt;
&lt;br /&gt;
==== New actions ====&lt;br /&gt;
The following actions have been added to dynamic rules:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Action name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Setting(s)&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Prerequisite&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Delete users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to delete users&lt;br /&gt;
|-&lt;br /&gt;
|Suspend users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to unsuspend users&lt;br /&gt;
|-&lt;br /&gt;
|Unsuspend users&lt;br /&gt;
|None&lt;br /&gt;
|Permission to unsuspend users&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== User-defined time frames ====&lt;br /&gt;
User-defined time frames lets you schedule dynamic rules to run in the future. The rules header has been enhanced with two new options:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start date&#039;&#039;&#039;: The selected start date marks the beginning for evaluating the rule. Events affecting conditions such as &amp;quot;course completed&amp;quot; can happen at any time before or after the selected date.&lt;br /&gt;
* &#039;&#039;&#039;End date&#039;&#039;&#039; (optional): The selected end date serves as the fixed deadline for evaluating this rule. &lt;br /&gt;
&lt;br /&gt;
[[File:Dynamic rules - Details 5.0.png|border|center|frameless|900x900px]]&lt;br /&gt;
The &#039;&#039;&#039;Details&#039;&#039;&#039; tab of each dynamic rule has also been enhanced and now displays the start and end date. &lt;br /&gt;
&lt;br /&gt;
== Multi-tenancy ==&lt;br /&gt;
&lt;br /&gt;
=== Tenant selector auto-complete ===&lt;br /&gt;
The tenant selector has been enhanced and now supports &#039;&#039;&#039;auto-complete&#039;&#039;&#039;. This new feature is particularly helpful on sites with a large number of tenants.&lt;br /&gt;
[[File:Multitenancy - Tenant selector autocomplete.jpg|border|center|frameless|600x600px]]&lt;br /&gt;
&lt;br /&gt;
=== Improvents to user suspension process when archiving tenants ===&lt;br /&gt;
This new feature is about improving the tenant archiving process as follows:&lt;br /&gt;
&lt;br /&gt;
* When archiving a tenant without any allocated users just archive it&lt;br /&gt;
* When archiving a tenant with allocated users, suspend users&lt;br /&gt;
* Option to allocate suspended users to a any tenant&lt;br /&gt;
&lt;br /&gt;
The full tenant archiving process is shown in the following workflow:&lt;br /&gt;
[[File:Multi-tenancy - Archiving process.png|border|center|frameless|600x600px]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=File:Multi-tenancy_-_Archiving_process.png&amp;diff=151291</id>
		<title>File:Multi-tenancy - Archiving process.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=File:Multi-tenancy_-_Archiving_process.png&amp;diff=151291"/>
		<updated>2025-04-01T08:16:21Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multi-tenancy - Archiving process&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151269</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151269"/>
		<updated>2025-03-25T10:10:27Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services are available for handling programs: &lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:config|enrol/program:config]]&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:enrol|enrol/program:enrol]]&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:manage|enrol/program:manage]]&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:unenrol|enrol/program:unenrol]]&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:configurecustomfields|tool/program:configurecustomfields]]&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:edit|tool/program:edit]]&#039;&#039;&#039;: Edit programs&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151268</id>
		<title>Moodle Workplace Test2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151268"/>
		<updated>2025-03-25T10:10:00Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Use Case 1: Onboarding of new staff ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: tbd &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
==Use Case 2: Program with courses released periodically ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: Users have to be certified once, that is without re-certification, and certification expires after a specified period.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: A program contains 12 courses and on every 1st of a month a course should be released. Course 1 will be released on 1st of January, course 2 on 1st of February, course 3 on the 1st of March, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: Make use of the [[Course settings#Hiding%20course%20until%20start%20date/Hiding%20course%20upon%20end%20date|hiding course until start date start]] feature.&lt;br /&gt;
&lt;br /&gt;
*Enable the task &#039;&#039;&#039;Show courses on start date&#039;&#039;&#039; (\core\task\show_started_courses_task). Check out [[Scheduled tasks]] for details.&lt;br /&gt;
*Create your 12 courses and add them to a program&lt;br /&gt;
*Give each course a start date in the future (Jan 1st, Feb 1st, Mar 1st, etc)&lt;br /&gt;
*Make the courses invisible&lt;br /&gt;
&lt;br /&gt;
Once the start date for each course has been reached, it will become visible to users who are assigned to the program.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151267</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151267"/>
		<updated>2025-03-25T10:09:26Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. The most common use case is the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using programs ==&lt;br /&gt;
Programs are usually accessed from a number the [[My courses]] page, which contains both, courses and programs. When users access a program for the first time, they see the &#039;&#039;&#039;Program cover page&#039;&#039;&#039; containing program information. The cover page is not displayed again for this program once the user proceeds to the &#039;&#039;&#039;Program page&#039;&#039;&#039; containing any program sets and courses.&lt;br /&gt;
&lt;br /&gt;
=== Program cover page ===&lt;br /&gt;
The Program cover page appears as long as the program has not been accessed. The page can also be viewed via the Information tab on the Program page.&lt;br /&gt;
[[File:Program_cover_page.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
The program cover page comprises the following areas:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Header&#039;&#039;&#039; displays the program image and program title.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Help&#039;&#039;&#039; box provides a brief explanation of what programs are. Once the Don&#039;t show this again button has been clicked, the box won&#039;t appear on any program cover pages.&lt;br /&gt;
* In the &#039;&#039;&#039;About&#039;&#039;&#039; section, the program description is displayed. If specified, program tags and program custom fields are shown.&lt;br /&gt;
* The &#039;&#039;&#039;Dates&#039;&#039;&#039; section displays the program&#039;s Start date, Due date, and End date. Depending on the Show days left until the program is due setting, a reminder badge is shown next to the Due date.&lt;br /&gt;
* The &#039;&#039;&#039;Certifications&#039;&#039;&#039; section only appears if the program is associated with a certification, and the certification&#039;s status is shown.&lt;br /&gt;
* The last section displays the &#039;&#039;&#039;Program structure&#039;&#039;&#039;, which allows users to browse through the program content before proceeding to the program page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As soon as a user proceeds to the program content (via the button at the bottom), this screen won&#039;t be shown again. However, the same content can be viewed via the &#039;&#039;&#039;Information&#039;&#039;&#039; tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
=== Program page ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Program page&#039;&#039;&#039; shows the program content and all related information (dates, certifications, etc.).&lt;br /&gt;
[[File:Program page.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program page comprises the following areas:&lt;br /&gt;
*The &#039;&#039;&#039;Header&#039;&#039;&#039; contains the program title, which is displayed underneath the breadcrumb navigation.&lt;br /&gt;
*If the program is part of a certification, it will display a dismissable &#039;&#039;&#039;Alert&#039;&#039;&#039;. By clicking on &#039;I understand&#039;, that specific alert won&#039;t be shown again for that user.&lt;br /&gt;
*Within the &#039;&#039;&#039;Sub-menu&#039;&#039;&#039;, users can toggle between this &#039;&#039;&#039;Program&#039;&#039;&#039; (this page) and &#039;&#039;&#039;Information&#039;&#039;&#039; (same as [[Program cover page]])&lt;br /&gt;
*The &#039;&#039;&#039;Recently accessed courses block&#039;&#039;&#039; shows up to three courses from the current program.&lt;br /&gt;
*The &#039;&#039;&#039;To Do&#039;&#039;&#039; section displays the completion criteria in which order the user must complete the program components.&lt;br /&gt;
*The &#039;&#039;&#039;Program content&#039;&#039;&#039; area shows all program courses and sets. Available courses can be accessed directly; restricted elements are marked accordingly. When a user clicks on a program set, a sub-page will open with the same structure as the program page.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Programs in the learning catalogue&lt;br /&gt;
* [[Certifications]]&lt;br /&gt;
* Other relevant links...&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151266</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151266"/>
		<updated>2025-03-25T10:07:45Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Using programs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. The most common use case is the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using programs ==&lt;br /&gt;
Programs are usually accessed from a number the [[My courses]] page, which contains both, courses and programs. When users access a program for the first time, they see the &#039;&#039;&#039;Program cover page&#039;&#039;&#039; containing program information. The cover page is not displayed again for this program once the user proceeds to the &#039;&#039;&#039;Program page&#039;&#039;&#039; containing any program sets and courses.&lt;br /&gt;
&lt;br /&gt;
=== Program cover page ===&lt;br /&gt;
The Program cover page appears as long as the program has not been accessed. The page can also be viewed via the Information tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
[[File:Program cover page.png|border|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
The program cover page comprises the following areas:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Header&#039;&#039;&#039; displays the program image and program title.&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Help&#039;&#039;&#039; box provides a brief explanation of what programs are. Once the Don&#039;t show this again button has been clicked, the box won&#039;t appear on any program cover pages.&lt;br /&gt;
* In the &#039;&#039;&#039;About&#039;&#039;&#039; section, the program description is displayed. If specified, program tags and program custom fields are shown.&lt;br /&gt;
* The &#039;&#039;&#039;Dates&#039;&#039;&#039; section displays the program&#039;s Start date, Due date, and End date. Depending on the Show days left until the program is due setting, a reminder badge is shown next to the Due date.&lt;br /&gt;
* The &#039;&#039;&#039;Certifications&#039;&#039;&#039; section only appears if the program is associated with a certification, and the certification&#039;s status is shown.&lt;br /&gt;
* The last section displays the &#039;&#039;&#039;Program structure&#039;&#039;&#039;, which allows users to browse through the program content before proceeding to the program page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As soon as a user proceeds to the program content (via the button at the bottom), this screen won&#039;t be shown again. However, the same content can be viewed via the &#039;&#039;&#039;Information&#039;&#039;&#039; tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
=== Program page ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Program page&#039;&#039;&#039; shows the program content and all related information (dates, certifications, etc.).&lt;br /&gt;
[[File:Program page.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The program page comprises the following areas:&lt;br /&gt;
*The &#039;&#039;&#039;Header&#039;&#039;&#039; contains the program title, which is displayed underneath the breadcrumb navigation.&lt;br /&gt;
*If the program is part of a certification, it will display a dismissable &#039;&#039;&#039;Alert&#039;&#039;&#039;. By clicking on &#039;I understand&#039;, that specific alert won&#039;t be shown again for that user.&lt;br /&gt;
*Within the &#039;&#039;&#039;Sub-menu&#039;&#039;&#039;, users can toggle between this &#039;&#039;&#039;Program&#039;&#039;&#039; (this page) and &#039;&#039;&#039;Information&#039;&#039;&#039; (same as [[Program cover page]])&lt;br /&gt;
*The &#039;&#039;&#039;Recently accessed courses block&#039;&#039;&#039; shows up to three courses from the current program.&lt;br /&gt;
*The &#039;&#039;&#039;To Do&#039;&#039;&#039; section displays the completion criteria in which order the user must complete the program components.&lt;br /&gt;
*The &#039;&#039;&#039;Program content&#039;&#039;&#039; area shows all program courses and sets. Available courses can be accessed directly; restricted elements are marked accordingly. When a user clicks on a program set, a sub-page will open with the same structure as the program page.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Programs in the learning catalogue&lt;br /&gt;
* [[Certifications]]&lt;br /&gt;
* Other relevant links...&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151265</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151265"/>
		<updated>2025-03-25T10:05:45Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. The most common use case is the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using programs ==&lt;br /&gt;
Programs are usually accessed from a number the My courses page, which contains both, courses and programs. When users access a program for the first time, they see the Program cover page containing Program information. The cover page is not displayed again for this program once the user proceeds to the Program page containing any program sets and courses.&lt;br /&gt;
&lt;br /&gt;
=== Program cover page ===&lt;br /&gt;
The Program cover page appears as long as the program has not been accessed. The page can also be viewed via the Information tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
[[File:Program cover page.png|border|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
The program cover page comprises the following areas:&lt;br /&gt;
&lt;br /&gt;
* The Header displays the program image and program title.&lt;br /&gt;
&lt;br /&gt;
* The Help box provides a brief explanation of what programs are. Once the Don&#039;t show this again button has been clicked, the box won&#039;t appear on any program cover pages.&lt;br /&gt;
* In the About section, the program description is displayed. If specified, program tags and program custom fields are shown.&lt;br /&gt;
* The Dates section displays the program&#039;s Start date, Due date, and End date. Depending on the Show days left until the program is due setting, a reminder badge is shown next to the Due date.&lt;br /&gt;
* The Certifications section only appears if the program is associated with a certification, and the certification&#039;s status is shown.&lt;br /&gt;
* The last section displays the Program structure, which allows users to browse through the program content before proceeding to the program page.&lt;br /&gt;
&lt;br /&gt;
As soon as a user proceeds to the program content (via the button at the bottom), this screen won&#039;t be shown again. However, the same content can be viewed via the Information tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
=== Program page ===&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Programs in the learning catalogue&lt;br /&gt;
* [[Certifications]]&lt;br /&gt;
* Other relevant links...&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151264</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151264"/>
		<updated>2025-03-25T10:04:55Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. The most common use case is the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using programs ==&lt;br /&gt;
Programs are usually accessed from a number the My courses page, which contains both, courses and programs. When users access a program for the first time, they see the Program cover page containing Program information. The cover page is not displayed again for this program once the user proceeds to the Program page containing any program sets and courses.&lt;br /&gt;
&lt;br /&gt;
=== Program cover page ===&lt;br /&gt;
The Program cover page appears as long as the program has not been accessed. The page can also be viewed via the Information tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
[[File:Program cover page.png|border|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
The program cover page comprises the following areas:&lt;br /&gt;
&lt;br /&gt;
* The Header displays the program image and program title.&lt;br /&gt;
&lt;br /&gt;
* The Help box provides a brief explanation of what programs are. Once the Don&#039;t show this again button has been clicked, the box won&#039;t appear on any program cover pages.&lt;br /&gt;
* In the About section, the program description is displayed. If specified, program tags and program custom fields are shown.&lt;br /&gt;
* The Dates section displays the program&#039;s Start date, Due date, and End date. Depending on the Show days left until the program is due setting, a reminder badge is shown next to the Due date.&lt;br /&gt;
* The Certifications section only appears if the program is associated with a certification, and the certification&#039;s status is shown.&lt;br /&gt;
* The last section displays the Program structure, which allows users to browse through the program content before proceeding to the program page.&lt;br /&gt;
&lt;br /&gt;
As soon as a user proceeds to the program content (via the button at the bottom), this screen won&#039;t be shown again. However, the same content can be viewed via the Information tab on the Program page.&lt;br /&gt;
&lt;br /&gt;
=== Program page ===&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Programs in the learning catalogue&lt;br /&gt;
* [[Certifications]]&lt;br /&gt;
* Other relevant links...&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151263</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151263"/>
		<updated>2025-03-25T09:49:54Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:config|enrol/program:config]]&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:enrol|enrol/program:enrol]]&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:manage|enrol/program:manage]]&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:unenrol|enrol/program:unenrol]]&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:configurecustomfields|tool/program:configurecustomfields]]&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:edit|tool/program:edit]]&#039;&#039;&#039;: Edit programs&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151262</id>
		<title>Moodle Workplace Test3</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151262"/>
		<updated>2025-03-25T09:49:36Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Sharing content across tenants==&lt;br /&gt;
Moodle Workplace offers two ways to share content across tenants via programs: &lt;br /&gt;
*Sharing courses across tenants in a single program&lt;br /&gt;
*Placing programs in shared space&lt;br /&gt;
===Sharing courses across tenants===&lt;br /&gt;
By default, neither the Tenant Administrator nor the Programs Manager can see courses outside their own tenant&#039;s course category when adding courses to programs. However, the site can be configured to allow a &#039;&#039;&#039;Shared&#039;&#039;&#039; course category to override permissions, enabling users to browse courses from other tenants. Alternatively, a specific user can be designated to create programs for different tenants and granted access to all courses. This setup allows the same course to be added to different programs belonging to various tenants.&lt;br /&gt;
&lt;br /&gt;
To grant the permission to add courses to a program outside their own tenant&#039;s course category, you need to assign the &#039;&#039;&#039;moodle/category:viewcourselist&#039;&#039;&#039; capability at the category context. The handling of programs will remain the same, so program managers must be vigilant when arranging courses in programs from different tenants.&lt;br /&gt;
&lt;br /&gt;
If a course has been set up using &#039;&#039;&#039;Separate Groups&#039;&#039;&#039;, an attention icon will be displayed. Users will be enrolled in the same course but will not be able to see each other. If the course is configured with &#039;&#039;&#039;Visible Groups&#039;&#039;&#039; or &#039;&#039;&#039;No Groups&#039;&#039;&#039;, the attention icon will appear next to courses that do not belong to the current tenant&#039;s course category. Users from one tenant will be able to see users from other tenants, for example, in the participants’ list or collaborative activities such as forums. Therefore, it is highly recommended to have all shared courses in [[Groups#Group modes|&#039;&#039;&#039;Separate groups&#039;&#039;&#039;]] mode and to enforce group mode for all activities.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Programs enrolment method&#039;&#039;&#039; will always allocate users from different tenants into different groups. These groups will be created automatically based on the name of the tenant and can be manually renamed later without affecting the allocation of future students.&lt;br /&gt;
===Programs in shared space===&lt;br /&gt;
After enabling &#039;&#039;&#039;Shared space&#039;&#039;&#039;, administrators can create shared programs within it. These shared programs will be listed on the &#039;&#039;&#039;Programs&#039;&#039;&#039; main page in all tenants and will be marked with a &#039;&#039;&#039;Shared space&#039;&#039;&#039; label. Users from these tenants without access to the Shared space will be only able to allocate users to these programs.&lt;br /&gt;
[[File:Programs - Shared space.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The range of actions has been limited to program duplication, user allocation, and accessing the program report. All other actions can only be performed when managing the program from within the Shared space.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151261</id>
		<title>Moodle Workplace Test2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151261"/>
		<updated>2025-03-25T09:49:18Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Use Case 1: Onboarding of new staff ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: tbd &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
==Use Case 2: Program with courses released periodically ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: Users have to be certified once, that is without re-certification, and certification expires after a specified period.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: A program contains 12 courses and on every 1st of a month a course should be released. Course 1 will be released on 1st of January, course 2 on 1st of February, course 3 on the 1st of March, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: Make use of the [[Course settings#Hiding%20course%20until%20start%20date/Hiding%20course%20upon%20end%20date|hiding course until start date start]] feature.&lt;br /&gt;
&lt;br /&gt;
*Enable the task &#039;&#039;&#039;Show courses on start date&#039;&#039;&#039; (\core\task\show_started_courses_task). Check out [[Scheduled tasks]] for details.&lt;br /&gt;
*Create your 12 courses and add them to a program&lt;br /&gt;
*Give each course a start date in the future (Jan 1st, Feb 1st, Mar 1st, etc)&lt;br /&gt;
*Make the courses invisible&lt;br /&gt;
&lt;br /&gt;
Once the start date for each course has been reached, it will become visible to users who are assigned to the program.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151260</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151260"/>
		<updated>2025-03-25T09:48:59Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
[[Programs custom fields]] are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
* If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151259</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151259"/>
		<updated>2025-03-25T09:48:38Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
[[Programs custom fields]] are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
* If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151258</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151258"/>
		<updated>2025-03-25T09:47:19Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. The most common use case is the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using Programs ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151257</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151257"/>
		<updated>2025-03-25T09:46:20Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
!&lt;br /&gt;
!Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using Programs ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151256</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151256"/>
		<updated>2025-03-25T09:45:22Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using Programs ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151255</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151255"/>
		<updated>2025-03-25T09:45:02Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
----&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;br /&gt;
&lt;br /&gt;
== Using Programs ==&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151254</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151254"/>
		<updated>2025-03-25T09:43:26Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151253</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151253"/>
		<updated>2025-03-25T09:43:10Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151252</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151252"/>
		<updated>2025-03-25T09:42:37Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151241</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151241"/>
		<updated>2025-03-19T11:01:05Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Programs details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
[[Programs custom fields]] are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
* If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151240</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151240"/>
		<updated>2025-03-19T10:56:54Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
* If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151239</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151239"/>
		<updated>2025-03-19T10:56:39Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
* If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151238</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151238"/>
		<updated>2025-03-19T10:55:46Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
*&#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
* &#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
=== New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses ===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
* &#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
* &#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
* &#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
# &#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
===Availabilty===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
** &#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
** &#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
** &#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
** &#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
===Allocation window===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window.  &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
** &#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
** &#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information: &lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom: &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation ===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
#&#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
==Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151237</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151237"/>
		<updated>2025-03-19T10:50:42Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Program allocation methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:config|enrol/program:config]]&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:enrol|enrol/program:enrol]]&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:manage|enrol/program:manage]]&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:unenrol|enrol/program:unenrol]]&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:configurecustomfields|tool/program:configurecustomfields]]&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:edit|tool/program:edit]]&#039;&#039;&#039;: Edit programs&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151236</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151236"/>
		<updated>2025-03-19T10:50:07Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program allocation methods ==&lt;br /&gt;
tbd&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:config|enrol/program:config]]&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:enrol|enrol/program:enrol]]&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:manage|enrol/program:manage]]&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:unenrol|enrol/program:unenrol]]&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:configurecustomfields|tool/program:configurecustomfields]]&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:edit|tool/program:edit]]&#039;&#039;&#039;: Edit programs&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151235</id>
		<title>Moodle Workplace Test3</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151235"/>
		<updated>2025-03-19T10:45:26Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Programs in shared space */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sharing content across tenants==&lt;br /&gt;
Moodle Workplace offers two ways to share content across tenants via programs: &lt;br /&gt;
*Sharing courses across tenants in a single program&lt;br /&gt;
*Placing programs in shared space&lt;br /&gt;
===Sharing courses across tenants===&lt;br /&gt;
By default, neither the Tenant Administrator nor the Programs Manager can see courses outside their own tenant&#039;s course category when adding courses to programs. However, the site can be configured to allow a &#039;&#039;&#039;Shared&#039;&#039;&#039; course category to override permissions, enabling users to browse courses from other tenants. Alternatively, a specific user can be designated to create programs for different tenants and granted access to all courses. This setup allows the same course to be added to different programs belonging to various tenants.&lt;br /&gt;
&lt;br /&gt;
To grant the permission to add courses to a program outside their own tenant&#039;s course category, you need to assign the &#039;&#039;&#039;moodle/category:viewcourselist&#039;&#039;&#039; capability at the category context. The handling of programs will remain the same, so program managers must be vigilant when arranging courses in programs from different tenants.&lt;br /&gt;
&lt;br /&gt;
If a course has been set up using &#039;&#039;&#039;Separate Groups&#039;&#039;&#039;, an attention icon will be displayed. Users will be enrolled in the same course but will not be able to see each other. If the course is configured with &#039;&#039;&#039;Visible Groups&#039;&#039;&#039; or &#039;&#039;&#039;No Groups&#039;&#039;&#039;, the attention icon will appear next to courses that do not belong to the current tenant&#039;s course category. Users from one tenant will be able to see users from other tenants, for example, in the participants’ list or collaborative activities such as forums. Therefore, it is highly recommended to have all shared courses in [[Groups#Group modes|&#039;&#039;&#039;Separate groups&#039;&#039;&#039;]] mode and to enforce group mode for all activities.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Programs enrolment method&#039;&#039;&#039; will always allocate users from different tenants into different groups. These groups will be created automatically based on the name of the tenant and can be manually renamed later without affecting the allocation of future students.&lt;br /&gt;
===Programs in shared space===&lt;br /&gt;
After enabling &#039;&#039;&#039;Shared space&#039;&#039;&#039;, administrators can create shared programs within it. These shared programs will be listed on the &#039;&#039;&#039;Programs&#039;&#039;&#039; main page in all tenants and will be marked with a &#039;&#039;&#039;Shared space&#039;&#039;&#039; label. Users from these tenants without access to the Shared space will be only able to allocate users to these programs.&lt;br /&gt;
[[File:Programs - Shared space.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The range of actions has been limited to program duplication, user allocation, and accessing the program report. All other actions can only be performed when managing the program from within the Shared space.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151234</id>
		<title>Moodle Workplace Test3</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151234"/>
		<updated>2025-03-19T10:43:08Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sharing content across tenants==&lt;br /&gt;
Moodle Workplace offers two ways to share content across tenants via programs: &lt;br /&gt;
*Sharing courses across tenants in a single program&lt;br /&gt;
*Placing programs in shared space&lt;br /&gt;
===Sharing courses across tenants===&lt;br /&gt;
By default, neither the Tenant Administrator nor the Programs Manager can see courses outside their own tenant&#039;s course category when adding courses to programs. However, the site can be configured to allow a &#039;&#039;&#039;Shared&#039;&#039;&#039; course category to override permissions, enabling users to browse courses from other tenants. Alternatively, a specific user can be designated to create programs for different tenants and granted access to all courses. This setup allows the same course to be added to different programs belonging to various tenants.&lt;br /&gt;
&lt;br /&gt;
To grant the permission to add courses to a program outside their own tenant&#039;s course category, you need to assign the &#039;&#039;&#039;moodle/category:viewcourselist&#039;&#039;&#039; capability at the category context. The handling of programs will remain the same, so program managers must be vigilant when arranging courses in programs from different tenants.&lt;br /&gt;
&lt;br /&gt;
If a course has been set up using &#039;&#039;&#039;Separate Groups&#039;&#039;&#039;, an attention icon will be displayed. Users will be enrolled in the same course but will not be able to see each other. If the course is configured with &#039;&#039;&#039;Visible Groups&#039;&#039;&#039; or &#039;&#039;&#039;No Groups&#039;&#039;&#039;, the attention icon will appear next to courses that do not belong to the current tenant&#039;s course category. Users from one tenant will be able to see users from other tenants, for example, in the participants’ list or collaborative activities such as forums. Therefore, it is highly recommended to have all shared courses in [[Groups#Group modes|&#039;&#039;&#039;Separate groups&#039;&#039;&#039;]] mode and to enforce group mode for all activities.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Programs enrolment method&#039;&#039;&#039; will always allocate users from different tenants into different groups. These groups will be created automatically based on the name of the tenant and can be manually renamed later without affecting the allocation of future students.&lt;br /&gt;
===Programs in shared space===&lt;br /&gt;
After enabling &#039;&#039;&#039;[[Shared space]]&#039;&#039;&#039;, administrators can create shared programs inside of it. These shared programs will be listed on the &#039;&#039;&#039;Programs&#039;&#039;&#039; main page in all tenants and marked with a &#039;&#039;&#039;Shared space&#039;&#039;&#039; label next to it. Users from these tenants with no access to the Shared space will be only able to allocate users to these programs.&lt;br /&gt;
[[File:Programs - Shared space.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The range of actions has been restricted to program duplication, user allocation, and accessing the program report. All other actions can only be performed when you manage the program from within the shared space.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151233</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151233"/>
		<updated>2025-03-19T10:37:50Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
# &#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either active or archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use, meaning learners are working through the program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data must remain accessible. Once a program is archived (using the &#039;&#039;&#039;Archive&#039;&#039;&#039; button in the &#039;&#039;&#039;Action&#039;&#039;&#039; column), it will no longer be available for managers or learners and can only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the &#039;&#039;&#039;Archived&#039;&#039;&#039; tab, where you have three available actions:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report shown for active programs.&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: This action changes the program&#039;s status from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This action will permanently remove the program and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you can access to the following program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: This report provides status and progress data of all users and programs.&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: This report is similar to the progress report, but is already pre-filtered to show programs that are running late.&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151232</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151232"/>
		<updated>2025-03-19T10:32:22Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program and the program settings are changed afterward, their program remains in the &#039;&#039;&#039;Completed&#039;&#039;&#039; status, even if they no longer meet the completion requirements. This feature allows users to reset and recalculate program completion, which is particularly useful when adding a mandatory course to the program for all users. &lt;br /&gt;
&lt;br /&gt;
The recalculation is applied to users allocated to the program based on course completion, including those who have already completed the program. However, program completion recalculation does not affect any program courses or linked certifications.&lt;br /&gt;
&lt;br /&gt;
There are three ways to achieve program completion re-calculation: &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;For all users&#039;&#039;&#039;When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;. This will trigger the recalculation for all users allocated to the program.&lt;br /&gt;
# &#039;&#039;&#039;For some users&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, choose the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option from the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the recalculation for the selected users.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;For a single user&#039;&#039;&#039;Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the recalculation for the respective user.&lt;br /&gt;
&lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. Please not that this action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] let you configure conditions and actions. Programs dynamic rules only apply to the particular program. These dynamic rules apply specifically to the individual program, helping to avoid the need for numerous site-wide rules. This organisation improves the maintenance of programs by keeping everything in a single location&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions for dynamic rules are the same as those found in the &#039;&#039;&#039;Program&#039;&#039;&#039; section of [[Dynamic rules]]. These conditions cannot be changed; you can only configure the actions of each rule. Since the conditions are fixed in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program.&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected.&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled.&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, as indicated in the condition name. Additionally, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected, and the date option &amp;quot;Completion date on or after&amp;quot; is disabled. If you need any of those settings to be any different, you will have to create a site-wide rule; this restriction may be addressed in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules are set up as scheduled tasks, meaning the action will not be executed immediately but will occur during the next cron run.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151231</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151231"/>
		<updated>2025-03-19T10:22:08Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039; capability can reset programs. This action will complete any completion data, meaning that any course completion data will be reset for all courses within the program, and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality operates similarly to Moodle&#039;s course reset feature for individual users, but it currently only supports core activity modules. Third-party plugins are not supported for reset at this time.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is affected by the program reset functionality, as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
During a program reset, course certificates are archived.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take occur during the next cron run and might take a few minutes to complete. This option is only available if the &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to M&#039;&#039;&#039;anual&#039;&#039;&#039; or &#039;&#039;&#039;Dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source &#039;&#039;&#039;Course reset for individual users&#039;&#039;&#039; provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program, and program settings are changed afterwards, their program remains in the &#039;Completed&#039; status even if they no longer satisfy completion requirements. This feature allows users to reset and recalculate the program completion, which is useful when adding a course to a program that is mandatory for all users. &lt;br /&gt;
&lt;br /&gt;
The re-calculation is applied to users allocated to the program based on course completion, including those who already have completed the program. Program completion re-calculation doesn&#039;t affect any program courses or linked certifications. &lt;br /&gt;
&lt;br /&gt;
There are three ways program completion re-calculation can be achieved: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, which triggers the re-calculation for all users allocated to the program. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some users&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option in the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the re-calculation for the selected users. &lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&#039;&#039;&#039;For a single user&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, you select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the re-calculation for the respective user. &lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. This action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] allow programs to be configured both in conditions and actions. Programs dynamic rules only apply to the particular program. They save you from creating lots of site-wide rules and keeping everything in a single place, which improves the maintenance of programs.&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions are the same as the ones available in the &#039;&#039;&#039;Program&#039;&#039;&#039; section in [[Dynamic rules]]. They cannot be changed; that is, you can only configure the actions of each rule. Since the conditions cannot be configured in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, which is also mentioned in the condition name. Furthermore, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected and the date option &amp;quot;Completion date on or after&amp;quot; is set to Disabled. If you require any of those settings to be any different, you need to create a site-wide rule; this restriction is likely to be rectified in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules have been set up as scheduled tasks; that is, the action will not be carried out immediately, but when the next cron run will be executed.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151230</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151230"/>
		<updated>2025-03-19T10:17:02Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Program users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the capability &#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;tool/program:coursereset&#039;&#039;&#039; capability can reset programs. Any completion data will be deleted; that is, any course completion data is reset in all courses of the program and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality works in the same way as  Moodle&#039;s course reset feature for individual users, but currently only supports core activity modules. That is, third-party plugins are currently not supported to be reset.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is impacted by the program reset functionality as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
Course certificates are archived during a program reset.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take place during the next cron run and might take a few minutes to complete. This option is only available if &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to &#039;&#039;&#039;manual&#039;&#039;&#039; or &#039;&#039;&#039;dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source called Course reset for individual user provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program, and program settings are changed afterwards, their program remains in the &#039;Completed&#039; status even if they no longer satisfy completion requirements. This feature allows users to reset and recalculate the program completion, which is useful when adding a course to a program that is mandatory for all users. &lt;br /&gt;
&lt;br /&gt;
The re-calculation is applied to users allocated to the program based on course completion, including those who already have completed the program. Program completion re-calculation doesn&#039;t affect any program courses or linked certifications. &lt;br /&gt;
&lt;br /&gt;
There are three ways program completion re-calculation can be achieved: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, which triggers the re-calculation for all users allocated to the program. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some users&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option in the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the re-calculation for the selected users. &lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&#039;&#039;&#039;For a single user&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, you select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the re-calculation for the respective user. &lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. This action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] allow programs to be configured both in conditions and actions. Programs dynamic rules only apply to the particular program. They save you from creating lots of site-wide rules and keeping everything in a single place, which improves the maintenance of programs.&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions are the same as the ones available in the &#039;&#039;&#039;Program&#039;&#039;&#039; section in [[Dynamic rules]]. They cannot be changed; that is, you can only configure the actions of each rule. Since the conditions cannot be configured in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, which is also mentioned in the condition name. Furthermore, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected and the date option &amp;quot;Completion date on or after&amp;quot; is set to Disabled. If you require any of those settings to be any different, you need to create a site-wide rule; this restriction is likely to be rectified in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules have been set up as scheduled tasks; that is, the action will not be carried out immediately, but when the next cron run will be executed.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151229</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151229"/>
		<updated>2025-03-19T10:15:49Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the &#039;&#039;&#039;capability tool/program:allocateuser&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|This action removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|This action opens a modal window that displays an overview of the program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
The following actionscan be applied in bulk to multiple users via the &#039;&#039;&#039;With Selected Users...&#039;&#039;&#039; drop-down menu at the bottom:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Edit Status and Dates&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reset Users&#039; Program&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Re-calculate Program Completion&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;De-allocate Users&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
The rules regarding allocation sources are the same as those listed in the table above. This means that if users with different allocation sources are selected, the actions will only be executed for users for whom the selected action is supported.&lt;br /&gt;
&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;tool/program:coursereset&#039;&#039;&#039; capability can reset programs. Any completion data will be deleted; that is, any course completion data is reset in all courses of the program and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality works in the same way as  Moodle&#039;s course reset feature for individual users, but currently only supports core activity modules. That is, third-party plugins are currently not supported to be reset.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is impacted by the program reset functionality as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
Course certificates are archived during a program reset.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take place during the next cron run and might take a few minutes to complete. This option is only available if &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to &#039;&#039;&#039;manual&#039;&#039;&#039; or &#039;&#039;&#039;dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source called Course reset for individual user provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program, and program settings are changed afterwards, their program remains in the &#039;Completed&#039; status even if they no longer satisfy completion requirements. This feature allows users to reset and recalculate the program completion, which is useful when adding a course to a program that is mandatory for all users. &lt;br /&gt;
&lt;br /&gt;
The re-calculation is applied to users allocated to the program based on course completion, including those who already have completed the program. Program completion re-calculation doesn&#039;t affect any program courses or linked certifications. &lt;br /&gt;
&lt;br /&gt;
There are three ways program completion re-calculation can be achieved: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, which triggers the re-calculation for all users allocated to the program. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some users&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option in the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the re-calculation for the selected users. &lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&#039;&#039;&#039;For a single user&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, you select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the re-calculation for the respective user. &lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. This action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] allow programs to be configured both in conditions and actions. Programs dynamic rules only apply to the particular program. They save you from creating lots of site-wide rules and keeping everything in a single place, which improves the maintenance of programs.&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions are the same as the ones available in the &#039;&#039;&#039;Program&#039;&#039;&#039; section in [[Dynamic rules]]. They cannot be changed; that is, you can only configure the actions of each rule. Since the conditions cannot be configured in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, which is also mentioned in the condition name. Furthermore, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected and the date option &amp;quot;Completion date on or after&amp;quot; is set to Disabled. If you require any of those settings to be any different, you need to create a site-wide rule; this restriction is likely to be rectified in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules have been set up as scheduled tasks; that is, the action will not be carried out immediately, but when the next cron run will be executed.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151228</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151228"/>
		<updated>2025-03-19T09:58:20Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you will see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any assigned &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. To the right of each program, the following actions are available:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space)&lt;br /&gt;
* &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications)&lt;br /&gt;
* &#039;&#039;&#039;Users&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Progress report&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. A pop-up screen will appear, prompting you to enter various program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; A unique ID used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; A summary of the program displayed on the users dashboards.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; An image representing the program, displayed on users’ dashboards. Supported formats include JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; A toggle indicating whether the program is visble on the dashboard and accessible to users.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags displayed in the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group upon course enrolment. The group&#039;s name will match the program name and will be created automatically if it does not already exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties that allow you to store additional information about the program, such as the program&#039;s cost. These custom fields are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally, meaning they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content includes courses, sets, and completion types that together form the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added to the program immediately.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, &#039;&#039;&#039;Course short name&#039;&#039;&#039;, &#039;&#039;&#039;Course category&#039;&#039;&#039;, and &#039;&#039;&#039;Course category&#039;&#039;&#039; are the same standard fields used when adding new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate entry in the program.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, making it an excellent tool for modelling recursive program structures, such as when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers the recalculation of the status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; once the course has been added. The main effect of this setting is that completed programs may revert to an &#039;&#039;&#039;Open&#039;&#039;&#039; state. For more details, refer to the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexibility in defining the completion criteria for all elements and within sets. You can choose from three different completion criteria:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the specified order&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed, but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at both the set-level (or subset-level) and for the entire program using the &#039;&#039;&#039;Main Completion&#039;&#039;&#039; selector located at the bottom right.&lt;br /&gt;
&lt;br /&gt;
Once the program structure is finalised, you can reorder sets and courses, as well as move courses to different sets, all through the built-in drag-and-drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] serves as the foundation for program completion; each element in a program must be completed according to the defined criteria. Program completion tracks course completion events and will automatically update the user&#039;s program as they completes course(s) within the program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
To ensure that users can complete a program, you must fulfill the following criteria for all courses that are part of the program: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Completion tracking&#039;&#039;&#039;: This must be enabled in the course settings&lt;br /&gt;
*&#039;&#039;&#039;Course completion configuration&#039;&#039;&#039;: At least one activity completion must be enabled&lt;br /&gt;
&lt;br /&gt;
If either criteria is not met, a warning will be displayed in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule allows you to specify various dates relevant to the program&#039;s availability and allocation times. The available options offer a high degree of flexibility to model various scheduling scenarios for your programs. These options can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date, allowing you to specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;. For example, a user&#039;s start date could be set to immediately after their allocation date, with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
=== Availabilty ===&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date during which a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can begin working on the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that must pass after a user has been allocated to the program. For example, if a user is allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time by which the user should complete the program. &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s start date. For example, if the start date is on a Monday, and the due date is set to 1 day after start date, the due date will be on Tuesday. Note that the system does not check if the user actually started the program; it simply calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started.&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program.&lt;br /&gt;
&lt;br /&gt;
=== Allocation window ===&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. [[Certifications]] use their own allocation date, and [[Dynamic rules]] ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date.&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place.&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated.&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date.&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that must pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; must be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: The user&#039;s first name and last name.&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: The date when the user was allocated to the program&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The date by which the user is expected to complete the program. This can either be &#039;&#039;&#039;Not set&#039;&#039;&#039; or a specific date. The date is determined by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability&#039;&#039;&#039; section of the [[Programs#Program schedule|Schedule]] or may be overridden by the manager. If overridden, a warning symbol will be displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indicates how the user was allocated to the program: &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: Allocated manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services.&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: Allocated via dynamic rules.&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: Allocated as part of a certification.&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: Indicates the user&#039;s progress of the program:&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet, and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached.&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program.&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program.&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future.&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. In this case, the entry in the table will be greyed out. Note that this suspension is not related to a user&#039;s account suspension, and it is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the &#039;&#039;&#039;capability tool/program:allocateuser&#039;&#039;&#039; capability can manually override the scheduling information. This may be necessary due to circumstances such as long-term illness or maternity/paternity leave. You can set the &#039;&#039;&#039;Status&#039;&#039;&#039; to &#039;&#039;&#039;Default (Not set)&#039;&#039;&#039; or &#039;&#039;&#039;Suspended&#039;&#039;&#039;. Additionally, you can modify the &#039;&#039;&#039;Start date&#039;&#039;&#039;, &#039;&#039;&#039;Due date&#039;&#039;&#039;, and &#039;&#039;&#039;End date&#039;&#039;&#039; for the user in this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|Removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|Opens a modal window, which provides a view of a program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;tool/program:coursereset&#039;&#039;&#039; capability can reset programs. Any completion data will be deleted; that is, any course completion data is reset in all courses of the program and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality works in the same way as  Moodle&#039;s course reset feature for individual users, but currently only supports core activity modules. That is, third-party plugins are currently not supported to be reset.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is impacted by the program reset functionality as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
Course certificates are archived during a program reset.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take place during the next cron run and might take a few minutes to complete. This option is only available if &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to &#039;&#039;&#039;manual&#039;&#039;&#039; or &#039;&#039;&#039;dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source called Course reset for individual user provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program, and program settings are changed afterwards, their program remains in the &#039;Completed&#039; status even if they no longer satisfy completion requirements. This feature allows users to reset and recalculate the program completion, which is useful when adding a course to a program that is mandatory for all users. &lt;br /&gt;
&lt;br /&gt;
The re-calculation is applied to users allocated to the program based on course completion, including those who already have completed the program. Program completion re-calculation doesn&#039;t affect any program courses or linked certifications. &lt;br /&gt;
&lt;br /&gt;
There are three ways program completion re-calculation can be achieved: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, which triggers the re-calculation for all users allocated to the program. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some users&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option in the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the re-calculation for the selected users. &lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&#039;&#039;&#039;For a single user&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, you select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the re-calculation for the respective user. &lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. This action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] allow programs to be configured both in conditions and actions. Programs dynamic rules only apply to the particular program. They save you from creating lots of site-wide rules and keeping everything in a single place, which improves the maintenance of programs.&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions are the same as the ones available in the &#039;&#039;&#039;Program&#039;&#039;&#039; section in [[Dynamic rules]]. They cannot be changed; that is, you can only configure the actions of each rule. Since the conditions cannot be configured in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, which is also mentioned in the condition name. Furthermore, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected and the date option &amp;quot;Completion date on or after&amp;quot; is set to Disabled. If you require any of those settings to be any different, you need to create a site-wide rule; this restriction is likely to be rectified in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules have been set up as scheduled tasks; that is, the action will not be carried out immediately, but when the next cron run will be executed.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151227</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151227"/>
		<updated>2025-03-19T09:21:16Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets, both of which are optional and can be arranged in any order. A set contains one or more courses that must be completed. Additionally, a set can include another set, which is an effective way to create hierarchical curricula. The recursive structure of programs is illustrated in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can view all programs they are allocated to on their [[My pages]] and can self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites are met.&lt;br /&gt;
&lt;br /&gt;
Programs also serve as the foundation for [[certifications]], allowing for the modeling of recurring programs, such as those required for compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151226</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151226"/>
		<updated>2025-03-19T09:16:24Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:config|enrol/program:config]]&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:enrol|enrol/program:enrol]]&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:manage|enrol/program:manage]]&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/enrol/program:unenrol|enrol/program:unenrol]]&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:configurecustomfields|tool/program:configurecustomfields]]&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:coursereset|tool/program:coursereset]]&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:edit|tool/program:edit]]&#039;&#039;&#039;: Edit programs&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151225</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151225"/>
		<updated>2025-03-19T09:13:51Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*&#039;&#039;&#039;enrol/program:config&#039;&#039;&#039;: Configure Program enrolment instances&lt;br /&gt;
*&#039;&#039;&#039;enrol/program:enrol&#039;&#039;&#039;: Enrol users to the course&lt;br /&gt;
*&#039;&#039;&#039;enrol/program:manage&#039;&#039;&#039;: Manage enrolled users&lt;br /&gt;
*&#039;&#039;&#039;enrol/program:unenrol&#039;&#039;&#039;: Unenrol users from the course&lt;br /&gt;
*&#039;&#039;&#039;[[Capabilities/tool/program:allocateuser|tool/program:allocateuser]]&#039;&#039;&#039;: Allocate users to programs&lt;br /&gt;
*&#039;&#039;&#039;tool/program:configurecustomfields&#039;&#039;&#039;: Configure program custom fields&lt;br /&gt;
*&#039;&#039;&#039;tool/program:coursereset&#039;&#039;&#039;: Reset program courses&lt;br /&gt;
*&#039;&#039;&#039;tool/program:edit&#039;&#039;&#039;: Edit programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameter descriptions are available inside Moodle itself - see [[Using web services]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151224</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151224"/>
		<updated>2025-03-19T09:10:17Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*enrol/program:config: Configure Program enrolment instances&lt;br /&gt;
*enrol/program:enrol: Enrol users to the course&lt;br /&gt;
*enrol/program:manage: Manage enrolled users&lt;br /&gt;
*enrol/program:unenrol: Unenrol users from the course&lt;br /&gt;
*tool/program:allocateuser: Allocate users to programs&lt;br /&gt;
*tool/program:configurecustomfields: Configure program custom fields&lt;br /&gt;
*tool/program:coursereset: Reset program courses&lt;br /&gt;
*tool/program:edit: Edit programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parameter descriptions are available inside Moodle itself - see [[Using web services]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151223</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151223"/>
		<updated>2025-03-19T09:09:16Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Web services ==&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*tool/program:allocateuser: Allocate users to programs&lt;br /&gt;
*tool/program:configurecustomfields: Configure program custom fields&lt;br /&gt;
*tool/program:coursereset: Reset program courses&lt;br /&gt;
*tool/program:edit: Edit programs&lt;br /&gt;
Parameter descriptions are available inside Moodle itself - see [[Using web services]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151222</id>
		<title>Moodle Workplace Test2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151222"/>
		<updated>2025-03-19T09:08:03Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Use Case 1: Program with courses released periodically */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Use Case 1: Onboarding of new staff ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: tbd &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: tbd&lt;br /&gt;
&lt;br /&gt;
==Use Case 2: Program with courses released periodically ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: Users have to be certified once, that is without re-certification, and certification expires after a specified period.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: A program contains 12 courses and on every 1st of a month a course should be released. Course 1 will be released on 1st of January, course 2 on 1st of February, course 3 on the 1st of March, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: Make use of the [[Course settings#Hiding%20course%20until%20start%20date/Hiding%20course%20upon%20end%20date|hiding course until start date start]] feature.&lt;br /&gt;
&lt;br /&gt;
*Enable the task &#039;&#039;&#039;Show courses on start date&#039;&#039;&#039; (\core\task\show_started_courses_task). Check out [[Scheduled tasks]] for details.&lt;br /&gt;
*Create your 12 courses and add them to a program&lt;br /&gt;
*Give each course a start date in the future (Jan 1st, Feb 1st, Mar 1st, etc)&lt;br /&gt;
*Make the courses invisible&lt;br /&gt;
&lt;br /&gt;
Once the start date for each course has been reached, it will become visible to users who are assigned to the program.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151221</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151221"/>
		<updated>2025-03-19T09:04:45Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Web services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Web services===&lt;br /&gt;
The following web services have been introduced to handle programs: &lt;br /&gt;
*tool/program:allocateuser: Allocate users to programs&lt;br /&gt;
*tool/program:configurecustomfields: Configure program custom fields&lt;br /&gt;
*tool/program:coursereset: Reset program courses&lt;br /&gt;
*tool/program:edit: Edit programs&lt;br /&gt;
Parameter descriptions are available inside Moodle itself - see [[Using web services]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151220</id>
		<title>Moodle Workplace Test2</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test2&amp;diff=151220"/>
		<updated>2025-03-19T09:02:47Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: /* Use Case 1: Program with courses released periodically = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Use Case 1: Program with courses released periodically ==&lt;br /&gt;
&#039;&#039;&#039;Use case&#039;&#039;&#039;: Users have to be certified once, that is without re-certification, and certification expires after a specified period.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;: A program contains 12 courses and on every 1st of a month a course should be released. Course 1 will be released on 1st of January, course 2 on 1st of February, course 3 on the 1st of March, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;: Make use of the [[Course settings#Hiding%20course%20until%20start%20date/Hiding%20course%20upon%20end%20date|hiding course until start date start]] feature.&lt;br /&gt;
&lt;br /&gt;
*Enable the task &#039;&#039;&#039;Show courses on start date&#039;&#039;&#039; (\core\task\show_started_courses_task). Check out [[Scheduled tasks]] for details.&lt;br /&gt;
*Create your 12 courses and add them to a program&lt;br /&gt;
*Give each course a start date in the future (Jan 1st, Feb 1st, Mar 1st, etc)&lt;br /&gt;
*Make the courses invisible&lt;br /&gt;
&lt;br /&gt;
Once the start date for each course has been reached, it will become visible to users who are assigned to the program.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151219</id>
		<title>Moodle Workplace Test 1</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test_1&amp;diff=151219"/>
		<updated>2025-03-19T09:00:10Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Programs details==&lt;br /&gt;
You can access the management of programs via &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs&#039;&#039;&#039; or directly via the &#039;&#039;&#039;Programs&#039;&#039;&#039; icon in the Workplace launcher.&lt;br /&gt;
[[File:Programs - Active programs.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each active program, you see the &#039;&#039;&#039;Program name&#039;&#039;&#039;, any given &#039;&#039;&#039;Tags&#039;&#039;&#039;, and &#039;&#039;&#039;Associated&#039;&#039;&#039; [[certifications]]. You will see the following actions to the right of each program: &#039;&#039;&#039;Duplicate&#039;&#039;&#039;, &#039;&#039;&#039;Show/Hide&#039;&#039;&#039; (not for programs in Shared Space), &#039;&#039;&#039;Archive&#039;&#039;&#039; (not for programs that are used in certifications), &#039;&#039;&#039;Users&#039;&#039;&#039;, and &#039;&#039;&#039;Progress report&#039;&#039;&#039;). You can filter the list of active programs by &#039;&#039;&#039;Program name&#039;&#039;&#039;, &#039;&#039;&#039;Associated certification&#039;&#039;&#039;, and &#039;&#039;&#039;Tags&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To create a new program, click on the &#039;&#039;&#039;+New program&#039;&#039;&#039; button. You will then see a pop-up screen and a range of program details.&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039; (Required) The name of the program which is displayed in the list of active programs and the users’ dashboards.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program ID number&#039;&#039;&#039; Unique ID number that is used by the [[Upload users in Moodle Workplace#Programs and certifications allocations|Upload user tool]] and web services.&lt;br /&gt;
*&#039;&#039;&#039;Program description&#039;&#039;&#039; Summary of the program which is displayed on the users’ dashboard.&lt;br /&gt;
*&#039;&#039;&#039;Program image&#039;&#039;&#039; Program picture, which is displayed on users’ dashboards. Supported formats are JPG, PNG, and GIF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Program visibility&#039;&#039;&#039; Toggle indicating whether the program is shown on the dashboard and if it can be accessed.&lt;br /&gt;
*&#039;&#039;&#039;Program tags&#039;&#039;&#039; Tags to be shown on the active programs list.&lt;br /&gt;
*&#039;&#039;&#039;Allow direct allocation&#039;&#039;&#039; If enabled, users can be allocated directly to this program.&lt;br /&gt;
*&#039;&#039;&#039;Add to course groups&#039;&#039;&#039; If enabled, users will be added to a course group when they get enrolled in the course. The group&#039;s name is the same as the program; it will be created automatically when it doesn&#039;t exist. See also [[Programs#Sharing content across tenants|sharing content across tenants]].&lt;br /&gt;
[[File:Programs_-_Program_details.png|alt=|border|center|frameless|1127x1127px]]&lt;br /&gt;
Programs support [[admin/tool/program/customfield|custom fields]], which are user-defined properties to store extra program information, such as the program&#039;s cost. They are managed in &#039;&#039;&#039;Site administration &amp;gt; Learning &amp;gt; Programs customs fields&#039;&#039;&#039;. Note that program custom fields are defined globally; that is, they will be available across tenants.&lt;br /&gt;
[[File:Programs_-_Program_custom_fields_II.png|alt=|border|center|frameless|600x600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;Program custom fields appear at the bottom of the program details form.&lt;br /&gt;
==Program content==&lt;br /&gt;
The program content contains courses, sets, and completion types that make up the program.&lt;br /&gt;
[[File:Programs - Add.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you select the &#039;&#039;&#039;+Add&#039;&#039;&#039; icon at the top right, a drop-down menu will appear with the following options:&lt;br /&gt;
&lt;br /&gt;
===New empty course===&lt;br /&gt;
A new course is created and added immediately to the program.&lt;br /&gt;
[[File:Programs - Adding new course.png|border|center|frameless|900x900px]]&lt;br /&gt;
The fields &#039;&#039;&#039;Course full name&#039;&#039;&#039;, Course short name, Course category, and Course category are the same standard fields as in new courses ([[Adding a new course]]). &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; will be re-calculated once the course has been added. The main impact of this setting is that completed programs might change their state to Open again. More details in the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
===Existing courses===&lt;br /&gt;
From the &amp;quot;Existing courses&amp;quot; drop-down menu, you can select as many courses as you wish. Each Moodle course will be treated as a separate program entry.&lt;br /&gt;
[[File:Programs - Adding courses.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; will be re-calculated once the course has been added. The main impact of this setting is that completed programs might change their state to &#039;&#039;&#039;Open&#039;&#039;&#039; again. More details in the [[Program completion re-calculation]] section.&lt;br /&gt;
===Set of courses===&lt;br /&gt;
A course set has the following three properties: &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039;: Provide the name of the course set&lt;br /&gt;
*&#039;&#039;&#039;Courses&#039;&#039;&#039;: Select one or many courses&lt;br /&gt;
*[[Programs#Completion criteria|Completion type]]: &#039;&#039;&#039;All in order, All in any order&#039;&#039;&#039;, or &#039;&#039;&#039;At least&#039;&#039;&#039;&lt;br /&gt;
[[File:Programs - Adding sets.png|border|center|frameless|600x600px|alt=]]&lt;br /&gt;
A set can also contain another set, an excellent vehicle for modelling recursive program structures, for instance, when creating hierarchical curricula.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option triggers status of programs (and associated certifications) &#039;&#039;&#039;for all program users&#039;&#039;&#039; will be re-calculated once the set has been added. The main impact of this setting is that completed programs might change their state to Open again. More details in the [[Program completion re-calculation]] section.&lt;br /&gt;
&lt;br /&gt;
To remove any courses or sets, select the delete icon in the same row and confirm the warning shown. Note that removing a program set will remove all elements in the set, that is, courses and any subsets!&lt;br /&gt;
===Completion criteria===&lt;br /&gt;
A powerful feature is the flexible way that the completion of all elements and completion within sets can be defined. There are three different criteria of completion you can choose from:&lt;br /&gt;
*&#039;&#039;&#039;All in order&#039;&#039;&#039;: All courses must be completed in the order specified&lt;br /&gt;
*&#039;&#039;&#039;All in any order&#039;&#039;&#039;: All courses must be completed but in no particular order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;At least #&#039;&#039;&#039;: At least # courses must be completed, in no particular order&lt;br /&gt;
[[File:Program - Content.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Completion criteria can be defined at set-level (or subset-level) and for the entire program (via the &#039;&#039;&#039;Main completion&#039;&#039;&#039; selector at the bottom right).&lt;br /&gt;
&lt;br /&gt;
Once the program structure has been completed, it is possible to reorder sets and courses, and move courses to different sets, all using the built-in drag &amp;amp; drop functionality.&lt;br /&gt;
&lt;br /&gt;
[[Course completion]] forms the basis for program completion; that is, each element in a program must be completed as defined. Program completion tracks course completion events and will automatically update the user&#039;s Program as the user completes course(s) within the Program.&lt;br /&gt;
&lt;br /&gt;
===Completion tracking vs. course completion===&lt;br /&gt;
In order for users to be able to complete a program, you must ensure that for all courses that are part of a program the following criteria are fulfilled: &lt;br /&gt;
&lt;br /&gt;
* Completion tracking has to be enabled in the course settings&lt;br /&gt;
*Course completion has to be configured, which requires at least one activity completion to be enabled.&lt;br /&gt;
&lt;br /&gt;
If either criteria is not fulfilled, a warning will be shown in the list of courses on the program&#039;s &#039;&#039;&#039;Content&#039;&#039;&#039; tab.&lt;br /&gt;
[[File:Programs - Completion Tracking.png|border|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
==Program details==&lt;br /&gt;
This tab displays the same information when creating a program. All values can be edited.&lt;br /&gt;
==Program schedule==&lt;br /&gt;
A program schedule lets you specify various dates relevant to the program&#039;s availability and allocation times. The available options provide you with a high degree of flexibility to model all feasible scheduling options for your programs. These can be accessed under the program&#039;s &#039;&#039;&#039;Schedule&#039;&#039;&#039; tab. &lt;br /&gt;
[[File:Programs - Schedule.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All date values have at least the following two absolute options:&lt;br /&gt;
#&#039;&#039;&#039;Not set&#039;&#039;&#039;: No date has been specified yet (default)&lt;br /&gt;
#&#039;&#039;&#039;Select date&#039;&#039;&#039;: You explicitly provide a date&lt;br /&gt;
Additional options are &#039;&#039;&#039;relative&#039;&#039;&#039; to another date and let you specify the number of &#039;&#039;&#039;days&#039;&#039;&#039;, &#039;&#039;&#039;weeks&#039;&#039;&#039;, &#039;&#039;&#039;months&#039;&#039;&#039;, &#039;&#039;&#039;years&#039;&#039;&#039;, and &#039;&#039;&#039;hours&#039;&#039;&#039;; for example, a user&#039;s start date could be considered to be immediately after their allocation date with a due date one month later.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Availability&#039;&#039;&#039; section defines a start and end date, during which time a user can access the program. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first date that the user can start working on the program &lt;br /&gt;
**&#039;&#039;&#039;Not set:&#039;&#039;&#039; The program can be started at any time&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be started on or after the selected date&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date:&#039;&#039;&#039; The time that has to pass after a user has been allocated to the program. For example, if a user has been allocated on a Monday and this parameter is set to 1 day, the user&#039;s program will start on Tuesday.&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: The time that the user should have completed the program by &lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: No due date&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The date the program is due&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program&#039;s Start date. For example, if the Start date is on a Monday, and the Due date is set to 1 day after start date, the Due date will be on Tuesday. Workplace does not check if the user actually started the program or not; it just calculates this date using the user start date.&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program&lt;br /&gt;
**&#039;&#039;&#039;Before end date&#039;&#039;&#039;: Time before the program access ends&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last date that the user can access the program&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: The program can be accessed all the time&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be accessed until the selected date&lt;br /&gt;
**&#039;&#039;&#039;After start date&#039;&#039;&#039;: Time after the program has been started&lt;br /&gt;
**&#039;&#039;&#039;After due date&#039;&#039;&#039;: Time after the program has been due&lt;br /&gt;
**&#039;&#039;&#039;After user allocation date&#039;&#039;&#039;: Time after the user has been allocated to the program&lt;br /&gt;
The &#039;&#039;&#039;Allocation window&#039;&#039;&#039; defines when a user can be allocated to a program. This time window only applies to manual allocations from within the program. Certifications use their own allocation date, and Dynamic rules ignore this time window. &lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;: The first day that the allocation can take place&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit from when the program can be allocated&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated on or after the selected date&lt;br /&gt;
*&#039;&#039;&#039;End date&#039;&#039;&#039;: The last day that the allocation can take place&lt;br /&gt;
**&#039;&#039;&#039;Not set&#039;&#039;&#039;: There is no time limit until when the program can be allocated&lt;br /&gt;
**&#039;&#039;&#039;Select date&#039;&#039;&#039;: The program can be allocated until the selected date&lt;br /&gt;
**&#039;&#039;&#039;After allocation starts&#039;&#039;&#039;: The time that has to pass after the allocation start date. To use this relative date option, the &#039;&#039;&#039;Allocation window Start date&#039;&#039;&#039; has to be set.&lt;br /&gt;
==Program users==&lt;br /&gt;
The information displayed on the &#039;&#039;&#039;Users&#039;&#039;&#039; tab shows all users who have been given access to the program.&lt;br /&gt;
[[File:Program - Users.png|alt=|border|center|frameless|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The list of users provides the following information:&lt;br /&gt;
*&#039;&#039;&#039;First name / Surname&#039;&#039;&#039;: User&#039;s first name and last name&lt;br /&gt;
*&#039;&#039;&#039;Allocation date&#039;&#039;&#039;: Date when the user has been allocated to the program&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;: Date when the user is expected to have completed the program, which is either &#039;&#039;&#039;Not set&#039;&#039;&#039; or a date. The date is either driven by the &#039;&#039;&#039;Due date&#039;&#039;&#039; in the &#039;&#039;&#039;Availability section&#039;&#039;&#039; of the [[Programs#Program schedule|Schedule]], or it has been overridden by the manager. If the latter is the case, a warning symbol is displayed beside the date.&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039;: Indication how the user has been allocated to the program &lt;br /&gt;
**&#039;&#039;&#039;Manual&#039;&#039;&#039;: manually, in [[Upload users in Moodle Workplace|batch mode]], or via web services&lt;br /&gt;
**&#039;&#039;&#039;Dynamic&#039;&#039;&#039;: via dynamic rules&lt;br /&gt;
**&#039;&#039;&#039;Certification&#039;&#039;&#039;: as part of a certification&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its name will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Certification status&#039;&#039;&#039;: If the program is linked to a [[Certifications|Certification]], its status will be displayed here&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039;: User&#039;s progress of the program&lt;br /&gt;
**[[File:Open program.png|border|frameless|43x43px|alt=Open]] The user has not completed the program yet and the &#039;&#039;&#039;Due date&#039;&#039;&#039; has not been reached&lt;br /&gt;
**[[File:Overdue program.png|border|frameless|alt=Overdue|59x59px]]The user is running late in completing the program&lt;br /&gt;
**[[File:Completed program.png|border|frameless|alt=Completed|69x69px]]The user has successfully finished the program&lt;br /&gt;
**[[File:Future allocation program.png|border|frameless|alt=Future allocation|101x101px]]The user&#039;s start date is set in the future&lt;br /&gt;
**[[File:Suspended program.png|border|frameless|70x70px|alt=Suspended]]The user&#039;s program allocation has been suspended. Its entry in the table will be greyed out. This is not related to a user&#039;s account suspension. This is the only program status that can coexist with another status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following &#039;&#039;&#039;Actions&#039;&#039;&#039; are available for program users:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
!Allocation source&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Edit allocation&#039;&#039;&#039;&lt;br /&gt;
|Managers and other users with the &#039;&#039;&#039;capability tool/program:allocateuser&#039;&#039;&#039; capability can manually override the scheduling information, for example, due to long-term illness or maternity/paternity leave. You can set the Status to Default (Not set) or Suspended. Furthermore, you can change Start date, Due date and End date of the user for this program.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program completion re-calculation|Program completion re-calculation]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Program reset&#039;&#039;&#039;&lt;br /&gt;
|See [[Programs#Program reset|Program reset]] below.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Delete allocation&#039;&#039;&#039;&lt;br /&gt;
|Removes the user and all associated data from the program. This action cannot be undone!&lt;br /&gt;
Note that users who have been allocated via dynamic rules can only be deleted via dynamic rules; users who have been allocated as part of a certification can only be deleted as part of a certification.&lt;br /&gt;
|Manual&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Progress overview&#039;&#039;&#039;&lt;br /&gt;
|Opens a modal window, which provides a view of a program and the progress of each program set.&lt;br /&gt;
|Manual&lt;br /&gt;
Dynamic&lt;br /&gt;
&lt;br /&gt;
Certification&lt;br /&gt;
|}&lt;br /&gt;
The actions &#039;&#039;&#039;Edit status and dates&#039;&#039;&#039;, &#039;&#039;&#039;Reset users program&#039;&#039;&#039;, &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, and &#039;&#039;&#039;De-allocate users&#039;&#039;&#039; can be applied in bulk to multiple users via the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; drop-down at the bottom. The rules according to allocations sources are the same as the ones listed in the table above. That is, if users with different allocation sources have been selected, the actions will only be carried out on users for the selected action is supported.&lt;br /&gt;
===Program reset===&lt;br /&gt;
Managers or users with the &#039;&#039;&#039;tool/program:coursereset&#039;&#039;&#039; capability can reset programs. Any completion data will be deleted; that is, any course completion data is reset in all courses of the program and all user submissions and grades will be deleted. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This action cannot be undone!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The program reset functionality works in the same way as  Moodle&#039;s course reset feature for individual users, but currently only supports core activity modules. That is, third-party plugins are currently not supported to be reset.&lt;br /&gt;
&lt;br /&gt;
The [[Certifications#Recertification|recertification]] feature is impacted by the program reset functionality as the underlying program will be reset automatically (at the start date) or manually (when revoking certification).&lt;br /&gt;
&lt;br /&gt;
Course certificates are archived during a program reset.&lt;br /&gt;
&lt;br /&gt;
The execution of resetting a user&#039;s program progress will take place during the next cron run and might take a few minutes to complete. This option is only available if &#039;&#039;&#039;Allocation source&#039;&#039;&#039; is set to &#039;&#039;&#039;manual&#039;&#039;&#039; or &#039;&#039;&#039;dynamic&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The [[Report builder|reporting]] source called Course reset for individual user provides detailed information about program resets.&lt;br /&gt;
===Program completion re-calculation===&lt;br /&gt;
When a user has completed a program, and program settings are changed afterwards, their program remains in the &#039;Completed&#039; status even if they no longer satisfy completion requirements. This feature allows users to reset and recalculate the program completion, which is useful when adding a course to a program that is mandatory for all users. &lt;br /&gt;
&lt;br /&gt;
The re-calculation is applied to users allocated to the program based on course completion, including those who already have completed the program. Program completion re-calculation doesn&#039;t affect any program courses or linked certifications. &lt;br /&gt;
&lt;br /&gt;
There are three ways program completion re-calculation can be achieved: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all users&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When adding a new course or set, select the option &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039;, which triggers the re-calculation for all users allocated to the program. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some users&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program and select the users whom the re-calculation should take place. Then, select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option in the &#039;&#039;&#039;With selected users...&#039;&#039;&#039; menu to trigger the re-calculation for the selected users. &lt;br /&gt;
[[File:Programs - Recalc II.png|border|center|frameless|900x900px]]&lt;br /&gt;
&#039;&#039;&#039;For a single user&#039;&#039;&#039;&lt;br /&gt;
Go to the &#039;&#039;&#039;Users&#039;&#039;&#039; tab inside a program. In the actions menu, you select the &#039;&#039;&#039;Re-calculate program completion&#039;&#039;&#039; option to trigger the re-calculation for the respective user. &lt;br /&gt;
[[File:Programs - Recalc I.png|border|center|frameless|900x900px]]&lt;br /&gt;
Once confirmed, the re-calculation will be scheduled for the next cron execution. This action cannot be undone! &lt;br /&gt;
== Program dynamic rules==&lt;br /&gt;
[[Dynamic rules]] allow programs to be configured both in conditions and actions. Programs dynamic rules only apply to the particular program. They save you from creating lots of site-wide rules and keeping everything in a single place, which improves the maintenance of programs.&lt;br /&gt;
[[File:Programs - Dynamic rules.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The available conditions are the same as the ones available in the &#039;&#039;&#039;Program&#039;&#039;&#039; section in [[Dynamic rules]]. They cannot be changed; that is, you can only configure the actions of each rule. Since the conditions cannot be configured in program dynamic rules, the following logic is applied for its default values:&lt;br /&gt;
*The selected &#039;&#039;&#039;program&#039;&#039;&#039; is the current program&lt;br /&gt;
*If &#039;&#039;&#039;criteria&#039;&#039;&#039; are available, the first option will be selected&lt;br /&gt;
*Any &#039;&#039;&#039;date&#039;&#039;&#039; fields are disabled&lt;br /&gt;
For example, for the condition &amp;quot;Users that have status &#039;Completed in program ...&#039;&amp;quot;, the program you are currently working on is selected, which is also mentioned in the condition name. Furthermore, the first criterion &amp;quot;All of the selected programs have been completed&amp;quot; is selected and the date option &amp;quot;Completion date on or after&amp;quot; is set to Disabled. If you require any of those settings to be any different, you need to create a site-wide rule; this restriction is likely to be rectified in the (near) future.&lt;br /&gt;
&lt;br /&gt;
Make sure you enable each dynamic rule that has been configured. Most dynamic rules have been set up as scheduled tasks; that is, the action will not be carried out immediately, but when the next cron run will be executed.&lt;br /&gt;
&lt;br /&gt;
==Program Archive==&lt;br /&gt;
A program is either Active or Archived. &#039;&#039;&#039;Active&#039;&#039;&#039; programs are currently in use; that is, learners are working through program courses. &#039;&#039;&#039;Archived&#039;&#039;&#039; programs are not in use, but their progress and completion data has to be available. Once a program is archived (using the Archive button in the Action column), it will no longer be available for managers or learners. It may only be viewed in historical reports.&lt;br /&gt;
&lt;br /&gt;
Archived programs are stored via the Archived tab, where you have three actions available:&lt;br /&gt;
*&#039;&#039;&#039;Progress report&#039;&#039;&#039;: This is the same progress report as shown on the active program&lt;br /&gt;
*&#039;&#039;&#039;Restore&#039;&#039;&#039;: The state of the program will be changed from &#039;&#039;&#039;Archived&#039;&#039;&#039; back to &#039;&#039;&#039;Active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Delete&#039;&#039;&#039;: This will remove the program permanently and delete all associated data. Note that this action cannot be undone.&lt;br /&gt;
==Program Reports==&lt;br /&gt;
From the &#039;&#039;&#039;Reports&#039;&#039;&#039; tab, you get access to the following 2 program reports: &lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;: Status and progress data of all users and programs&lt;br /&gt;
*&#039;&#039;&#039;Overdue programs&#039;&#039;&#039;: The same report, but already pre-filtered by programs that are running late&lt;br /&gt;
[[File:Programs - Program progress.png|border|center|frameless|900x900px]]&lt;br /&gt;
&lt;br /&gt;
Both reports contain the following columns:&lt;br /&gt;
*&#039;&#039;&#039;Program name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;First name / Last name&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Allocation source&#039;&#039;&#039; (Manual, Dynamic, Certification)&lt;br /&gt;
*&#039;&#039;&#039;Certification name&#039;&#039;&#039; (only when used in certifications)&lt;br /&gt;
*&#039;&#039;&#039;Start date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Due date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Program status&#039;&#039;&#039; (Open, Completed, Overdue, Suspended, Future allocation)&lt;br /&gt;
*&#039;&#039;&#039;Program progress&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Completion date&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Action&#039;&#039;&#039;: Progress overview&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151218</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151218"/>
		<updated>2025-03-19T08:47:01Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets; both are optional and can be arranged in any order. A set contains one or more courses that have to be completed. A set can also contain another set — a great vehicle for creating hierarchical curricula. The recursive structure of programs is depicted in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can see all programs they are allocated to on their [[My pages]] and self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites have been met.&lt;br /&gt;
&lt;br /&gt;
Programs are also the basis for [[certifications]] to model recurring programs, for example, in compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151217</id>
		<title>Moodle Workplace Test</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test&amp;diff=151217"/>
		<updated>2025-03-19T08:46:34Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
!Overview&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets; both are optional and can be arranged in any order. A set contains one or more courses that have to be completed. A set can also contain another set — a great vehicle for creating hierarchical curricula. The recursive structure of programs is depicted in the following diagram:&lt;br /&gt;
&lt;br /&gt;
A program consists of courses and sets; both are optional and can be arranged in any order. A set contains one or more courses that have to be completed. A set can also contain another set — a great vehicle for creating hierarchical curricula. The recursive structure of programs is depicted in the following diagram:[[File:Programs - Structure.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Learners can see all programs they are allocated to on their [[My pages]] and self-enrol into program courses by clicking on them. Some program courses may not be available until prerequisites have been met.&lt;br /&gt;
&lt;br /&gt;
Programs are also the basis for [[certifications]] to model recurring programs, for example, in compliance setups.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151216</id>
		<title>Moodle Workplace Test4</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test4&amp;diff=151216"/>
		<updated>2025-03-19T08:46:07Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Web services===&lt;br /&gt;
The following web services have been introduced to handle organisations: &lt;br /&gt;
*tool_organisation_create_departments&lt;br /&gt;
*tool_organisation_create_job&lt;br /&gt;
*tool_organisation_create_positions&lt;br /&gt;
*tool_organisation_department_delete&lt;br /&gt;
*tool_organisation_department_move&lt;br /&gt;
*tool_organisation_get_managed_users&lt;br /&gt;
*tool_organisation_get_potential_parent_departments&lt;br /&gt;
*tool_organisation_get_potential_parent_positions&lt;br /&gt;
*tool_organisation_get_teams_tab_filters&lt;br /&gt;
*tool_organisation_is_jobs_tab_available&lt;br /&gt;
*tool_organisation_job_delete&lt;br /&gt;
*tool_organisation_position_delete&lt;br /&gt;
*tool_organisation_position_move&lt;br /&gt;
*tool_organisation_update_departments&lt;br /&gt;
*tool_organisation_update_job&lt;br /&gt;
*tool_organisation_update_positions&lt;br /&gt;
Parameter descriptions are available inside Moodle itself - see [[Using web services]]&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151215</id>
		<title>Moodle Workplace Test3</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/405/en/index.php?title=Moodle_Workplace_Test3&amp;diff=151215"/>
		<updated>2025-03-19T08:45:55Z</updated>

		<summary type="html">&lt;p&gt;Openumlaut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
!&lt;br /&gt;
!{{#ev:youtube|T2o_RuiS_bo|100%|center}}&lt;br /&gt;
!&lt;br /&gt;
![[File:Icon Programs.png|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programs, also known as learning paths, allow you to establish learning pathways for your employees by adding a combination of courses or a hierarchical sequence of courses. &lt;br /&gt;
A typical use case would be the onboarding of new employees.&lt;br /&gt;
!&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
{| style=&amp;quot;width: 100%; text-align: center; color: red; background-color:#ffffcc;&amp;quot;&lt;br /&gt;
![[Moodle Workplace Test|Overview]]&lt;br /&gt;
![[Moodle Workplace Test 1|Configuration]]&lt;br /&gt;
![[Moodle Workplace Test2|Use cases]]&lt;br /&gt;
![[Moodle Workplace Test3|Tenants]]&lt;br /&gt;
![[Moodle Workplace Test4|Technical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sharing content across tenants==&lt;br /&gt;
Moodle Workplace offers two ways to share content across tenants via programs: &lt;br /&gt;
*Sharing courses across tenants in a single program&lt;br /&gt;
*Placing programs in shared space&lt;br /&gt;
===Sharing courses across tenants===&lt;br /&gt;
By default, neither the Tenant administrator nor the Programs Manager can see courses outside of their own tenant&#039;s course category when adding courses to programs. However, the site can be configured so that a &#039;&#039;&#039;Shared&#039;&#039;&#039; course category overrides permissions and allows users to browse courses, or a particular user can be set up who creates programs for different tenants and has access to all courses. That way, it will be possible to add the same course to different programs that belong to different tenants.&lt;br /&gt;
&lt;br /&gt;
To grant this permission (adding courses to a program that is outside their own tenant&#039;s course category) to tenant admins or program managers, you need to assign the &#039;&#039;&#039;moodle/category:viewcourselist&#039;&#039;&#039; capability at the category context. The handling of programs will be the same as before, so program managers need to be vigilant when arranging courses in programs from different tenants.&lt;br /&gt;
&lt;br /&gt;
If a course has been set up using separate groups, the attention icon will be shown. Users will be enrolled in the same course but won&#039;t have any visibility of each other. If the course has been configured using visible groups or no groups, the attention icon will be shown next to the courses that do not belong to the current tenant&#039;s course category. Users from one tenant will see users from other tenants, for instance, in the participants’ list or collaborative activities, such as forums. Therefore, it is highly recommended to have all shared courses in [[Groups#Group modes|Separate groups]] mode and force the group mode for all activities.&lt;br /&gt;
&lt;br /&gt;
The Programs enrolment method will always allocate users from different tenants into different groups. Groups will be created automatically based on the name of the tenant. They can be manually renamed later without affecting the allocation of future students.&lt;br /&gt;
===Programs in shared space===&lt;br /&gt;
After enabling Shared space, administrators can create shared programs inside of it. These shared programs will be listed on the &#039;&#039;&#039;Programs&#039;&#039;&#039; main page in all tenants and marked with a &#039;&#039;&#039;Shared space&#039;&#039;&#039; label next to it. Users from these tenants with no access to the Shared space will be only able to allocate users to these programs.&lt;br /&gt;
[[File:Programs - Shared space.png|border|center|frameless|900x900px|alt=]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The range of actions has been restricted to program duplication, user allocation, and accessing the program report. All other actions can only be performed when you manage the program from within the shared space.&lt;/div&gt;</summary>
		<author><name>Openumlaut</name></author>
	</entry>
</feed>