# Update-Management

# Update-Schritte

## Schilderung typischer to-dos und Abläufe für Moodle-Updates

Moodle-Updates gliedern sich in folgende typischen Phasen, wobei auf dieser Wiki-Seite vor allem technische Themen dokumentiert werden sollen:

1. Sichten neuer Funktionen und UI-Änderungen
2. Installieren und Konfigurieren auf Testsystem (ggf. mehrfach)
3. Testing auf Testsystem
4. Dokumentieren der Neuerungen
5. Update-Ankündigung
6. Generalprobe auf Testsystem
7. Update-Durchführung Produktiv-System inkl. DB-Backup + Frontend-config
8. Troubleshooting

### 1. Sichten neuer Funktionen und UI-Änderungen

<div id="bkmrk-es-lassen-sich-drei-">Es lassen sich drei Kategorien von Änderungen benennen: Konfiguration, Funktionen/Features, User Interface/Layout. Als erstes sollte die [Moodle-Dokumentation](https://docs.moodle.org/de/Aktualisierung_in_K%C3%BCrze "Aktualisierung in Kürze (Moodle Docs)") sorgfältig gelesen werden, zuvorderst die [Docs-Seite zu Upgrading](https://docs.moodle.org/501/en/Upgrading "Upgrading (Moodle Docs)") und dort der Bereich "Possible issues that may affect you in Moodle", z.B. für Moodle 5.1: [https://docs.moodle.org/501/en/Upgrading#Possible\_issues\_that\_may\_affect\_you\_in\_Moodle\_5.1](https://docs.moodle.org/36/en/Upgrading#Possible_issues_that_may_affect_you_in_Moodle_5.1 "Possible issues that may affect you in Moodle 5.1 (Moodle Docs)")</div><div id="bkmrk-die-neuen-funktionen">Die neuen Funktionen werden auf der [Release-Seite](https://moodledev.io/general/releases "Moodl Releases") kurz benannt mit Links zu den entsprechenden Tracker-Einträgen, wo mehr Details und meist Screenshots zu finden sind. Die [New Features Seite](https://docs.moodle.org/en/New_features "New Features (Moodle Docs)") geht auf die (aus Sicht des Headquaters) wichtigsten Änderungen ein. Diese werden meist auch noch in einem Screencast per YouTube vorgestellt (Playlist oben auf New Features Seite verlinkt). Änderungen am Layout und der Umgang damit werden im Bereich Moodle Testing näher beschrieben.   
</div><div id="bkmrk-">  
</div>Liste aller Neuerungen (Beispiel Moodle 5.1): [https://moodledev.io/general/releases/5.1](https://moodledev.io/general/releases/5.1 "Moodle 5.1 Release Notes inkl. issues")

Neue Funktionalitäten / New Features: [https://docs.moodle.org/de/Neue\_Funktionalit%C3%A4ten](https://docs.moodle.org/de/Neue_Funktionalit%C3%A4ten "Neue Funktionalitäten (Moodle Docs)") / [https://docs.moodle.org/en/New\_features](https://docs.moodle.org/en/New_features "New Features (Moodle Docs)")

YouTube-Videos Moodle: [https://www.youtube.com/@moodle/playlists](https://www.youtube.com/@moodle/playlists) ([Videos zu Moodle 5.1](https://www.youtube.com/watch?v=6wHes1FGmb8&list=PLxcO_MFWQBDdS8qcyNovXsxbtpbTJRB5t "Moodle 5.1. Neuerungen (YouTube)"))

Dag Klimas macht auch oft [Videos](https://video.lern.link/c/moodle_guide/videos "Dag Klimas aka Moodle-Guide.de (PeerTube-Videos)") zu den neuen Features, z.B. [Moodle 5.1 - Was hat sich geändert, was ist neu?](https://video.lern.link/w/ci1Ae8GPc21YRQp5rAgfoW "Moodle 5.1 - Was hat sich geändert, was ist neu? (YouTube)") und [Moodle 5.2 - Was hat sich geändert, was ist neu?](https://video.lern.link/w/8MTTm1oZR8Un9o8b2RhM66 "Moodle 5.2 - Was hat sich geändert, was ist neu?")

#### Weekly Releases

Jede Woche werden Moodle-Versionen veröffentlicht, die issues aus dem [Tracker](https://moodledev.io/general/development/tracker "Moodle Tracker") (Schema "MDL-12345", siehe [Moodle issues](https://moodle.atlassian.net/jira/software/c/projects/MDL/list "List issues in Jira")) integrieren. Weekly-Releases erhalten ein +-Zeichen am Ende, z.B. 5.2.2+. Einen Überblick dieser Änderungen bietet die "UPGRADING.md", Beispiel für Moodle 5.2: [Upgrade-notes in github](https://github.com/moodle/moodle/blob/MOODLE_502_STABLE/UPGRADING.md "Upgrade notes via UPGRADING.md")

Im Moodle Tracker können auch issues beobachtet werden durch Klick aufs Auge-Icon. Zum Nachverfolgen kann die Suche genutzt werden: [<span class="mark-token-field">watcher</span> <span class="mark-token-operator">=</span> currentUser() <span class="mark-token-keyword">ORDER BY</span> <span class="mark-token-field">updated</span> <span class="mark-token-keyword">DESC</span>](https://moodle.atlassian.net/issues?jql=watcher%20%3D%20currentUser()%20ORDER%20BY%20updated%20DESC "Beobachtete issues im Tracker anzeigen")

### 2. Installieren und Konfigurieren auf Testsystem

<div id="bkmrk-die-installation-wir">Die Installation wird nach bevorzugter Variante der Administration durchgeführt, z.B. mit Hilfe von Ansible-Playbooks. Dies baut aus verschiedenen Quellen das angepasste Installationspaket. Neben den Moodle core-Dateien sind dies z.B. Moodle Plugins aus github oder modifzierte Plugins aus interner Quelle sowie die config.php Dateien. Das Testsystem (staging) sollte eine möglichst mit dem live-System übereinstimmende Kopie sein, mit gleichen Server-Einstellungen (inkl. php.ini) und Moodle-Konfiguration. Davon ausgehend wird zur Vorbereitung des live-Updates der komplette Update-Prozess auf staging durchlaufen (siehe 6.), meist auch mehrfach, bis zu einer fehlerfrei laufenden Version.</div><div id="bkmrk-praxis-tipp%3A-beim-in">Praxis-Tipp: Beim installieren auffallende Probleme und nötige Anpassungen wie Konfigurationen sollten gut auffindbar und nachvollziehbar dokumentiert werden. Hier kann auch eine Art Vorlage hilfreich sein. </div><div id="bkmrk--1">  
</div>### 3. Testing auf staging

<div id="bkmrk-die-details-sind-n%C3%A4h">Die Details sind näher beschrieben auf der Seite Moodle Testing. Ziel ist ein fehlerfrei laufendes System, erfahrungsgemäß treten am ehesten Fehler in nicht-Core Komponenten sowie im Layout auf. Als Nebeneffekt des Testings werden dabei die Änderungen der neuen Version kennengelernt. </div><div id="bkmrk--2">  
</div>### 4. Dokumentieren der Neuerungen

<div id="bkmrk-als-%C3%9Cbersicht-f%C3%BCr-al">Als Übersicht für alle user sollte für major-Releases ein Neuerungen-Dokument erstellt werden oder auf andere Weise über die Änderungen informiert werden. Auch angepasste user-Tours können hierbei unterstützen. </div><div id="bkmrk--3">  
</div>### 5. Update-Ankündigung

<div id="bkmrk-updates-sollten-mit-"><div>Updates sollten mit ausreichend Vorlauf angekündigt werden, sodass die user sich auf die maximale Ausfallzeit einstellen können, mögliche Info-Kanäle:</div><div>- Moodle-Startseite, z.B. mit [Boost Union via Banner](https://github.com/moodle-an-hochschulen/moodle-theme_boost_union?tab=readme-ov-file#tab-information-banners "Banner-Feature in Theme Boost Union")
- Websites Störungs- und Wartungsmeldungen (z.B. Rechenzentrum)
- Foren / Lehrenden-Foren
- Info-Chats

</div></div>### 6. Generalprobe auf Testsystem

Aufs staging-System wird eine Kopie der live-Datenbank eingespielt und sichergestellt, dass die Versions-Dateien auf den Webservern dazu passen. Dann werdendie neuen Dateien eingespielt und der komplette Update-Prozess simuliert.

### 7. Update-Durchführung Produktiv-System inkl. DB-Backup + Frontend-config

Zuerst ist ein Datenbank-Backup zu erstellen, z.B. mittels pgadmin. Jetzt wird es ernst: Wartungsmodus per CLI aktivieren: `sudo -u www_mdl /usr/bin/php admin/cli/maintenance.php –enable`

#### <span lang="en-us">Zugriff für Administratoren während Wartungszeit: </span>

<span lang="en-us">Der Wartungsmodus muss per Frontend gestartet werden (`/admin/settings.php?section=maintenancemode`) oder via `/maintenance.php --enableold`, dann können admin-Accounts Moodle weiter nutzen oder sich auch neu einloggen via /login/index.php?username=\[Anmeldename\]  
Wird `/cli/maintenance.php` aufgerufen, ist die Site auch für admins gesperrt. </span>

Dann wird das live-System mittels vorbereitetem Job aktualisiert. Upgrade per CLI oder im Frontend, dann ist der Aktualisierungsschlüssel einzugeben und der Update-Fortschritt wird verfolgt. Wichtig: auf live dauert es meist deutlich länger als auf den Testsystemen (trotz DB-Kopie), z.B. weil noch mehr Daten im Cache sind. Ist das Update durchgelaufen, sind die vorher definierten Konfigurationsanpassungen im admin-Frontend einzustellen. Zum Abschluss wird der Wartungsmodus wieder deaktiviert (`maintenance.php –disable`).

Wenn gepflegt, kann noch ein "to-dos nach dem Update" abgearbeitet werden. Zudem sollten minor- und Major-Updates in einem Changelog dokumentiert werden, dazu auch wenn neue Plugins hinzu kamen.

### 8. Troubleshooting (bei Bedarf)

Sollte etwas nicht wie geplant und im Vorfeld getestet funktionieren: don´t panic! In diesem Fall sind die Debbuging-Methoden anzuwenden. Zudem wie immer auch die debugging- und logging-Meldungen sichten. im Normalfall fallen die Probleme bereits im Testing auf, weshalb ein sorgfältiges Testen mit einer möglichst identischen live-System-Kopie wichtig ist.   
Hier ein Beispiel.

#### Aktivieren Debug-Modus mittels config.php   


//=========================================================================  
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!  
//=========================================================================  
//  
// Force a debugging mode regardless the settings in the site administration  
`@error_reporting(E_ALL | E_STRICT);   // NOT FOR PRODUCTION SERVERS!@ini_set('display_errors', '1');         // NOT FOR PRODUCTION SERVERS!$CFG->debug = (E_ALL | E_STRICT);   // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!$CFG->debugdisplay = 1;              // NOT FOR PRODUCTION SERVERS!`

Hinweis: `E_STRICT` ist ab PHP 8.4 deprecated und wird dereinst nicht mehr setzbar sein.  
  
SQL-Abfragen anzeigen:  
*$CFG-&gt;upgradeshowsql = true;*

Dadurch werden alle SQL-Befehle während des Upgrades ausgegeben und wie lange sie geladen haben ("Query took"), das sieht dann in der Konsole z.B. so aus:

`--------------------------------DECLARE crs7 NO SCROLL CURSOR WITH HOLD FOR SELECT * FROM mdl_capabilities[array ()]--------------------------------Query took: 0.00043296813964844 seconds.--------------------------------`

## Links / Quellen

[https://docs.moodle.org/de/Aktualisierung\_von\_Moodle](https://docs.moodle.org/de/Aktualisierung_von_Moodle)

---

Autor: Klaus Steitz, TU Darmstadt

# Docker

Mit [Docker](https://hub.docker.com/u/moodlehq "Docker-Images") kann Moodle lokal installiert werden, siehe auch [Lokales Moodle](https://kb.moodle-an-hochschulen.de/books/entwicklung/page/moodle-development#bkmrk-lokales-moodle "Lokales Moodle (in Artikel Moodle-development)"): [moodle-docker auf github](https://github.com/moodlehq/moodle-docker "Docker Containers for Moodle Developers")

Es kann aber neben Entwicklung auch für den produktiven Moodle-Betrieb genutzt werden. Niels Gandraß hat auf dem [Hochschultreffen 2026](https://moodle-an-hochschulen.de/moodle-hochschultreffen-2026-in-rosenheim-praxis-puls-und-ein-blick-in-die-zukunft-des-vereins/ "Moodle-Hochschultreffen 2026 in Rosenheim: Praxis, Puls und ein Blick in die Zukunft des Vereins") präsentiert, wie dies aussehen kann.

## Agile Moodle Updates with Docker and GitLab CI

Die flexible und zugleich zuverlässige Verwaltung mehrerer Moodle-Plattformen in Entwicklungs-, Staging- und Produktionsumgebungen birgt verschiedene betriebliche Herausforderungen. Die Präsentation zeigt den Weg von einem klassischen manuellen Ansatz zu einem vollständig containerisierten Anwendungsstack. Die Containerarchitektur reicht von Moodle selbst bis hin zu spezifischen Worker-Diensten, wie beispielsweise GoeMaxima für den Fragetyp „STACK“. Software- und Plugin-Versionen werden in umgebungsspezifischen Konfigurationsdateien festgehalten, die in einem Git-Repository versioniert sind und schließlich in eine automatisierte GitLab-CI-Build-Pipeline einfließen, die bereitstellungsfertige Container erzeugt. Die Implementierung zeigt, wie Containerisierung und Automatisierung den Wartungsaufwand drastisch reduzieren, Bereitstellungsfehler minimieren und ein agiles Moodle-Plattformmanagement mit Upgrade-Ausfallzeiten von weniger als 60 Sekunden ermöglichen.

[https://gandrass.de/#pub-Gandrass2026MoodleDocker](https://gandrass.de/#pub-Gandrass2026MoodleDocker)

[Down with the Downtime: Agile Moodle Updates with Docker and GitLab CI (31 Seiten, PDF)](https://kb.moodle-an-hochschulen.de/attachments/7 "Down with the Downtime: Agile Moodle Updates with Docker and GitLab CI (31 Seiten, PDF)")

---

Autor: [Klaus Steitz](https://forum.moodle-an-hochschulen.de/user/view.php?id=44 "Profil von Klaus Steitz"), Technische Universität Darmstadt

# Erfahrungssammlung von Problemen bei Major-Updates

# Probleme beim Upgrade auf Moodle 5.x

Ein Moodle Upgrade auf eine neue Major-Version bringt meistens bedeutende Änderungen mit sich, die bei bestehenden Systemen zu Problemen führen können, vor allem wenn Plugins nicht angepasst wurden.

## Upgrade von 5.1 auf 5.2

"<span style="color: var(--ds-text-accent-purple-bolder,#352c63);">Lesson learned vom Moodle 5.1 -&gt; 5.2 Update. Die **Beschreibungstexte von Subsections wurden nicht automatisch in Textfelder umgewandelt, sondern der Task musste händisch gestartet werden**. Das ist in den Einstellungen der Subsections möglich (Plugins &gt; Unterabschnitte &gt; Task auswählen). Mir war das aus der Beschreibung hier (</span>[https://docs.moodle.org/502/en/Upgrading#Subsections\_removals](https://docs.moodle.org/502/en/Upgrading#Subsections_removals)<span style="color: var(--ds-text-accent-purple-bolder,#352c63);">) nicht klar und vielleicht hilft es ja anderen :)</span> [Marie Hennings im MaH D-A-CH Matrix Channel](https://matrix.to/#/!TfTmyiCrSwnzOBQBAM:matrix.org/$1cnU_Hl_cz2qRLyMibZ1oPeXzo-4pJZKE55017cv9Wg?via=matrix.org&via=t2bot.io&via=ruhr-uni-bochum.de)"  
Direktlink: */admin/settings.php?section=mod\_subsection\_settings*

## mod\_hvp (Stand August 2026)

Es gibt noch keine <span style="text-decoration: underline;">veröffentlichte</span> Version für Moodle 5.x: [https://marketplace.moodle.com/plugins/1406/versions](https://marketplace.moodle.com/plugins/1406/versions)

Offizielles Repository: [https://github.com/h5p/moodle-mod\_hvp](https://github.com/h5p/moodle-mod_hvp)

Man kann **alternativ Moodle5-kompatible Forks** nutzen, z.B. [https://github.com/lucaboesch/moodle-mod\_hvp](https://github.com/lucaboesch/moodle-mod_hvp) oder [https://github.com/catalyst/moodle-mod\_hvp](https://github.com/catalyst/moodle-mod_hvp)

**Ausgewählte Diskussionskanäle:**

[H5P Group sucht Co-Maintainer:innen](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=58)

[Probleme nach H5P-Update in Zusammenhang mit Mathjax](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=134)

[H5P: mod\_hvp vs mod\_h5pactivity (Core)](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=53)

<p class="callout info">Informationen zur [AG H5P](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=43)</p>

## question bank

- [<span style="font-family: Calibri; font-size: 11.0pt;">https://docs.moodle.org/500/en/Question\_banks\_in\_upgraded\_sites</span>](https://docs.moodle.org/500/en/Question_banks_in_upgraded_sites)
- <span style="font-family: Calibri; font-size: 11.0pt;">Video von Rick Jerz: </span>[<span style="font-family: Calibri; font-size: 11.0pt;">https://www.edu-gen.com/profession/presentations/Moodle\_5\_Question\_Banks/M5-QB.html</span>](https://www.edu-gen.com/profession/presentations/Moodle_5_Question_Banks/M5-QB.html)
- Fix-Skripte zum Aufräumen von Duplikaten vorm Upgrade laufen lassen: [https://moodle.hu-berlin.de/mod/forum/discuss.php?d=1121146#p1907886](https://moodle.hu-berlin.de/mod/forum/discuss.php?d=1121146 "Foren-Beitrag: Wann auf Moodle 5 aktualisieren + Update-Pläne")
- "Ein Tipp noch, wer seine Kurse wie wir semestriert und z.B. SS25:xyz nennt, dem kann ich empfehlen, die Namen der q-banks anzupassen, hier wird nämlich der fullname hergenommen, was von der Logik für den Benutzer zur Verwirrung führen kann. Denn, wenn Inhalte vom Kurs SS25 in den WS25 Kurs importiert werden, dann heißt die Aktivität q-bank dann SS25:xyz im WS25'er Kurs." (Susanne Schenk in ["Wann auf Moodle 5 aktualisieren + Update-Pläne"](https://moodle.hu-berlin.de/mod/forum/discuss.php?d=1121146))
- Fragen aus Quiz löschen, auch ohne Rechte auf die Fragensammlung: [https://moodle.hu-berlin.de/mod/forum/discuss.php?d=1163032](https://moodle.hu-berlin.de/mod/forum/discuss.php?d=1163032) und [https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=19](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=19)
- Video ["Upgrade einer Fragensammlung von Moodle 4.5.4 nach 5.0"](https://video.lern.link/w/mWNhEK5nwkXD9M7ewjaEpT "Video "Upgrade einer Fragensammlung von Moodle 4.5.4 nach 5.0"") von Dag Klimas
- Video ["Die neuen ‘Fragensammlungen‘ überblicken"](https://video.lern.link/w/rSGbV5gRaQwYpFir6z2NaJ "Video "Die neuen ‘Fragensammlungen‘ überblicken"") von Dag Klimas

## Plugin-Verhalten nicht-unterstützter Versionen

Die meisten Plugins laufen auch unter Moodle 5, wenn es nicht explizit eine 5er-Version gibt. Wie immer ist in solchen Fällen kritisch zu prüfen, ob das Plugin Probleme verursacht, da es ohne Moodle5-Version schon über ein Jahr lang kein Update mehr erhalten hat.

- Foren-Beitrag ["Update 4.5 auf 5.1: Erfahrungen mit nicht mehr unterstützten Plugins"](https://forum.moodle-an-hochschulen.de/mod/forum/discuss.php?d=109 "Update 4.5 auf 5.1: Erfahrungen mit nicht mehr unterstützten Plugins")

## Marketplace-Link im Activity chooser ausblenden

In der Aktivitätsauswahl (Activity chooser) erscheint im Footer per Standard ein Marketplace-Link mit dem Text "<span class="my-auto me-1">Suchen Sie weitere Aktivitäten auf dem</span> [ Moodle Marktplatz](https://marketplace.moodle.com/?site=eyJmdWxsbmFtZSI6Ik1vb2RsZS1ERVYiLCJ1cmwiOiJodHRwczpcL1wvbW9vZGxlLWRldi5ocnoudHUtZGFybXN0YWR0LmRlIiwibWFqb3J2ZXJzaW9uIjoiNS4yIn0%3D)". Um diesen auszublenden, gibt es das admin-Setting "activitychooseractivefooter":

*"Website-Administration -&gt; Kurse -&gt; Einstellungen der Aktivitätsauswahl"* (*/admin/settings.php?section=activitychoosersettings*)

Es kann auch dauerhaft gesetzt werden, ohne dass es bei Updates zurückgesetzt werden kann, via config.php:   
*$CFG-&gt;activitychooseractivefooter = 'hidden';*

## Links / Quellen

<span class="author-a-0w5z66z8adz67zz87zz66z1lqcz67zf url">[https://docs.moodle.org/502/en/Upgrading#Possible\_issues\_that\_may\_affect\_you\_in\_Moodle\_5.2](https://docs.moodle.org/502/en/Upgrading#Possible_issues_that_may_affect_you_in_Moodle_5.2)</span>

<div aria-live="assertive" class="ace-line" id="bkmrk-"></div><span class="author-a-0w5z66z8adz67zz87zz66z1lqcz67zf url">[https://docs.moodle.org/501/en/Upgrading#Possible\_issues\_that\_may\_affect\_you\_in\_Moodle\_5.1](https://docs.moodle.org/501/en/Upgrading#Possible_issues_that_may_affect_you_in_Moodle_5.1)</span>

<div aria-live="assertive" class="ace-line" id="bkmrk--1"></div><span class="author-a-0w5z66z8adz67zz87zz66z1lqcz67zf url">[https://docs.moodle.org/500/en/Upgrading#Possible\_issues\_that\_may\_affect\_you\_in\_Moodle\_5.0](https://docs.moodle.org/500/en/Upgrading#Possible_issues_that_may_affect_you_in_Moodle_5.0)</span>

<div aria-live="assertive" class="ace-line" id="bkmrk--2"></div>---

Autorin: [Melanie Treitinger](https://forum.moodle-an-hochschulen.de/user/profile.php?id=35), Ruhr-Universität Bochum