Tool Delivery: Delivery operations
The delivery process follows a 4-step logic:
- Securing the original version.
- Switching to “delivery” mode.
- Updating the source files.
- Effective switch of the delivery: Moodle execution switches back to the modified production version. Logical updates can be performed. In 95% of cases, an emergency switch to the earlier secured version can recover the service in case of a major error.
Process detail
Security synchronisation
The version currently in service must be synchronised with a temporary “security” version that will continue to be executed until the delivery preparation is complete. The synchronisation tool manages two copies:
- A first backup copy provides the service in delivery mode instead of the standard production code.
- A second security copy provides a third backup copy, for example during a complex delivery session requiring several steps.
Component path: Partial synchronisations can be done on a single part of the Moodle code base by entering a relative path here (for example: 'mod' will only synchronise the activity modules directory).
Switching to delivery
The Moodle service continues to be provided from the temporary secured version. This version remains stable throughout the phase of modification and update of the production version's Moodle code.
Updating source files
Use these tools to trigger the file update commands according to the versioning tool chosen in the configuration.
You can perform several successive partial updates by entering a relative path to a specific component or tree.
Restoring to production
This is the most delicate operation, because you push the newly delivered code into production.
The delivery operation will certainly require you to perform the Moodle logical updates (Administration > Notifications)
Malfunctions may then appear, mainly following:
- A file that was forgotten in the delivery
- A syntax error generated by a last-minute change
- An incompatibility between the new code and some usage data states on the platform
This code can lead to changes in the data structures in the database, sometimes irreversibly (the changes made are no longer backward compatible with the old Moodle PHP code). This situation remains rare, however.
Back to the user guide - Back to the component index- plugins index -Back to the catalogue

