Durch die Neuordnung der IT-Berufe bin ich seit dem Frühjahr 2020 immer wieder mit der Neuentwicklung von Unterricht befasst. Hierfür habe ich mir in der letzten Zeit einen Workflow erarbeitet, der technisch auf Markdown und MkDocs basiert. Einen Artikel dazu hatte ich vor einiger Zeit mal verfasst: VSC, Gitlab, Markdown & MkDocs
Da ich einige Nachfragen zu diesem Prozess hatte und nun dank eines Kollegen, der sich mit dem Programmieren besser auskennt (Kudos an Jörg) den Workflow nochmals verbessern konnte, hier ein Übersichtsartikel dazu. Eines vorweg: die eingesetzten Techniken sind jeweils schon einen Blick wert. An dieser Stelle möchte ich das Zusammenspiel vorstellen.
Die Lernsituationen erstelle ich in einem Musterformular, welches auf dem niedersächsischen SchuCu (https://schucu-bbs.nline.nibis.de/) basiert. Einsehbar ist ein Beispiel vom Lernfeld 12 der Kaufleute für Digitalisierungsmanagement in meinem GitHub: KDM LF12 Lernsituation LS 12.1.on

Wie schnell zu sehen ist: auch die Lernsituationen werden technisch in Markdown geschrieben und über ein MkDocs-Projekt eingebunden.
Nach der Konzeption der Lernsituation wird das benötigte Material hierzu von mir angelegt. Dazu schreibe ich viele Texte selbst (wenn ich der Meinung bin, dass dies zielgerichteter ist oder ich nicht das finde, was ich gerne hätte) oder verweise auf bestehendes Material. Das Ziel am Ende ist ein Moodle-Kurs für meine Klassen (welche ausnahmslos nach einem BYOD-Konzept arbeiten).
Erneut kommt Markdown in Kombination mit MkDocs zum Einsatz. Allerdings wird jedes Element, welches später im Moodle-Kurs abgebildet wird, in einer separaten Markdown-Datei angelegt. Mittels eines Markdown-Include-Plugins für MkDocs werden die einzelnen Markdown-Dateien zu einer Hauptdatei zusammengeführt.
Die einzelnen Dateien sowie die MkDocs-Site werden zu GitHub geladen. Durch eine bei GitHub hinterlegte Automatisierung wird mittels des Befehls mkdocs gh-deploy
eine GitHub.io-Page angelegt und aktuell gehalten. Das Ergebnis bis dahin ist für das Lernfeld 12 der KDM unter folgendem Link erreichbar: KDM LF12.

Wofür der Aufwand bis hier her?
- Ich habe ein Backup meines Unterrichtsmaterials online.
- Ich habe eine Versionierung meines Unterrichtsmaterials.
- Ich kann kooperativ an dem Unterrichtsmaterial mit anderen Kolleg:innen arbeiten.
- Ich habe ein Fallback, falls in meinem Unterricht mal Moodle nicht funktionieren sollte.
- Die Schüler:innen haben auch nach ihrer Schulzeit Zugriff auf das Material.
- …
So, nun anschnallen, jetzt wird es spannend. Dank des genannten Kollegen Jörg konnte ich den Workflow wie folgt erweitern: Ich binde meine Inhalte aus der GitHub.io-Seite in Moodle ein.

In meinem Moodle-Kurs werden an den jeweiligen Stellen nur Verweise zum Nachladen des Inhalts aus der GitHub.io-Seite eingetragen. Der Inhalt wird aus der direkten HTML-Subseite geladen:

Das Script s.o. zieht dabei lediglich die Inhalte, die zwischen den Kommentaren stehen. Alles drum herum von MkDocs erzeugte Beiwerk wird nicht eingebunden.
<!--include-start-->
### Arbeitsauftrag A|1.0: Analysieren des Kunden
1. Lesen Sie sich den Auszug aus der Projektmappe (Informationsmaterial M|1.0) durch.
2. Stellen Sie die darin enthaltenen Informationen in Form einer Mindmap kurz zusammen.
3. Mit welchen Strategien könnten sinnvolle Handlungen zur Verbesserung des Unternehmens gefunden werden?
<!--include-end-->
Der gesamte Workflow sieht also wie folgt aus:

Damit sind weitere Ziele erreicht:
- Fehler im Material oder in den Aufgabenstellungen werden zentral im Git-Repository korrigiert und alle abgeleiteten Materialien erhalten ein Update.
- Moodle-Kurse, die einmal an Kolleg:innen weggegeben wurden und sonst nicht mehr für mich erreichbar wären, erhalten ebenfalls Updates.
- Normalerweise sind Kurse bei mir nach einem Jahr im Zustand End of Life. Zwar noch für die Schüler:innen des Schuljahres erreichbar, aber nicht mehr aktualisiert. Dies wird damit auch besser.
Der Ausblick in den Workflow für die Zukunft: ich bin dabei eine Möglichkeit zu schaffen, Fehler im Kurs via Issues über GitHub einzusammeln und anschließend gebündelt abarbeiten zu können. Auf diesem Wege können Schüler:innen und Kolleg:innen mir Fehler mitteilen und Korrekturvorschläge übermitteln.

Eine weitere Möglichkeit ist die Weiterentwicklung des Unterrichtsmaterials. Wenn bspw. ein Kollege mit dem Material zum Thema RAID nicht ganz zufrieden ist und einen besseren Vorschlag hat, kann er mir einen Merge Request für mein bisheriges Material senden. Alternativ kann der Kurs bei disruptiver Weiterentwicklung oder Anpassung an einen anderen Bildungsgang als Fork gezogen und weiterverwendet werden.

Zuletzt noch ein Hinweis zu dem oben verlinkten Material. Dieses steht unter CC-BY-NC-SA 4.0 Lizenz der Creative Commons. Ich hoffe damit einen Beitrag dazu leisten zu können, dass sich nicht jede:r Lehrer:in hinsetzen und Unterrichtsmaterial von neuem aufbauen muss. Vielmehr könnte gemeinsam daran entwickelt und somit Ressourcen auf Folgeprojekte verwendet werden. Wie wäre es bspw. jeden Text auch auf Englisch und in leichter Sprache anbieten zu können? Alleine für einen Kurs utopisch, aber gemeinsam machbar!