Digitale Lehrmaterialien
Organisation von Vorlesungsinhalten in GitLab als separate Lektions-/Wochen-Repositories oder innerhalb eines strukturierten Haupt-Repositories. Materialien (Folien, Text, Beispiele) werden in Markdown oder anderen Formaten verfasst, automatisch über GitLab CI/CD in eine Webseite umgewandelt und mit GitLab Pages veröffentlicht. Bietet eine automatisierte, versionierte und konsistente Bereitstellung von Lehrmaterialien mit kontrolliertem Zugriff für Studierende.
Übersicht
Mehrwert: Organisation von Vorlesungsinhalten in GitLab als separate Lektions-/Wochen-Repositories oder innerhalb eines strukturierten Haupt-Repositories. Materialien (Folien, Text, Beispiele) werden in Markdown oder anderen Formaten verfasst, automatisch über GitLab CI/CD in eine Webseite umgewandelt und mit GitLab Pages veröffentlicht. Bietet eine automatisierte, versionierte und konsistente Bereitstellung von Lehrmaterialien mit kontrolliertem Zugriff für Studierende.
Problem: Verwendete GitLab-Funktionen: GitLab Pages für automatische Seitengenerierung; GitLab CI/CD für Build-Automatisierung; Meilensteine zur Planung wöchentlicher Inhalte; Issues zur Verfolgung fehlender Folien und Feedback; Vorlagen für konsistente Repository-Struktur. Verwendbare Markdown-Seitengeneratoren: MkDocs (leichte Dokumentation), Hugo (schnell, viele Themes), Jekyll (funktioniert auch mit GitLab, z. B. bei Migration von GitHub Pages). Zusätzliche Vorteile: automatische Bereitstellung (keine manuellen Uploads), Versionierung aller Materialien, einfache Zusammenarbeit zwischen Lehrenden und eine immer aktuelle Seite für Studierende.
Lösung: Implementierung eines GitLab-basierten Systems, in dem Dozierende Kursmaterialien im Markdown-Format verfassen und GitLab CI/CD diese automatisch erstellt und als Webseiten über GitLab Pages veröffentlicht. Studierende greifen auf die finalen veröffentlichten Inhalte zu, ohne direkten Zugriff auf das Repository zu haben.
Wer profitiert
Primär
-
Dozierende
- Automatisierte Veröffentlichung von Inhalten
- Versionskontrolle für alle Materialien
- Reduzierte Zeit für manuelle Uploads
- Konsistente Inhaltsstruktur
-
Tutor*innen
- Kollaborative Erstellung von Inhalten
- Einfache Aktualisierung von Materialien
- Standardisierte Workflows
Sekundär
-
Studierende
- Immer aktuelle Materialien
- Konsistenter Zugriff auf Ressourcen
- Mobilfreundliche Bereitstellung von Inhalten
Wann geeignet
- Wöchentliche Aktualisierungen der Vorlesungsinhalte
- Mehrere Mitwirkende an Kursmaterialien
- Bedarf an Versionskontrolle von Lehrmaterialien
- Wunsch nach automatisierten Veröffentlichungs-Workflows
- Strukturierte Bereitstellung von Kursinhalten
Wann nicht geeignet
- Seltene Inhaltsaktualisierungen
- Einfache statische Kursmaterialien
- Komplexe interaktive Inhaltsanforderungen
- Wenn direkte Zusammenarbeit von Studierenden an Materialien erforderlich ist
Prozess
- Erstellen eines Kurs-Repositories mit Markdown-Struktur
- Verfassen/Aktualisieren von Vorlesungsmaterialien in Markdown
- Commit von Änderungen in das Repository
- GitLab CI/CD erstellt und stellt automatisch auf GitLab Pages bereit
- Studierende greifen auf die veröffentlichte Webseite mit aktualisierten Inhalten zu
Voraussetzungen
Personen
- Dozierende
- Tutor*innen
- GitLab-Administrator*in
- Studierende (als Konsumenten)
Daten-Inputs
- Vorlesungsfolien
- Textinhalte
- Bilder und Medien
- Kursstrukturinformationen
Tools & Systeme
- GitLab mit CI/CD
- GitLab Pages
- Markdown-Prozessoren (MkDocs/Hugo/Jekyll)
- GitLab Runner
Richtlinien & Compliance
- Inhaltsrichtlinien der Universität
- Zugriffsbestimmungen für Studierende
- Richtlinien zum geistigen Eigentum
Risiken & Gegenmaßnahmen
-
Build-Fehler, die Inhaltsaktualisierungen verhindern
- Automatisiertes Testen der Markdown-Syntax
- Staging-Umgebungen zum Testen
- Schnelle Rollback-Verfahren
-
Unbefugter Zugriff auf Quellmaterialien
- Private Repositories für Quellinhalte
- Rollenbasierte Zugriffskontrolle
- Trennung von Quell- und veröffentlichten Inhalten
-
Nichtverfügbarkeit der Webseite in kritischen Phasen
- GitLab Pages Hochverfügbarkeit
- Backup-Hosting-Optionen
- Statusüberwachung
Erste Schritte
Um diesen Anwendungsfall zu implementieren, benötigen Sie eine GitLab-Instanz mit aktivierten Pages, Kenntnisse in Markdown und einen statischen Seitengenerator wie MkDocs oder Hugo.
- Einrichten des GitLab-Repositories mit entsprechenden Zugriffskontrollen
- Auswahl und Konfiguration des statischen Seitengenerators (MkDocs, Hugo oder Jekyll)
- Erstellen einer GitLab CI/CD-Pipeline für automatisiertes Erstellen und Bereitstellen
- Strukturieren von Inhalten im Markdown-Format gemäß dem gewählten Framework
- Testen des Build-Prozesses und Überprüfen der GitLab Pages-Bereitstellung
FAQ
Können Studierende zu Kursmaterialien beitragen?
Studierende können auf veröffentlichte Inhalte zugreifen, aber Quellmaterialien nicht direkt bearbeiten. Sie können jedoch Feedback über GitLab-Issues geben, falls aktiviert.
Wie schnell werden Änderungen auf der Webseite angezeigt?
Änderungen werden automatisch erstellt und innerhalb von Minuten nach dem Commit in das Repository bereitgestellt, abhängig von der CI/CD-Pipeline-Konfiguration.
Was passiert, wenn der Build-Prozess fehlschlägt?
Die vorherige funktionierende Version bleibt live, während Build-Fehler den Betreuer*innen zur Lösung gemeldet werden.
Glossar
- GitLab Pages
- Dienst zum Hosten statischer Webseiten, der in GitLab-Repositories integriert ist
- MkDocs
- Generator für statische Seiten, der für das Erstellen von Projektdokumentation mit Markdown entwickelt wurde
- Hugo
- Schneller Generator für statische Seiten, geschrieben in Go, geeignet für verschiedene Webseitentypen
- Jekyll
- Generator für statische Seiten, der einfachen Text in statische Webseiten umwandelt