Der Aktivitätstyp Datenbank in Moodle ist sehr funktionsmächtig. Durch das Einbetten von Javascript können hiermit umfängliche Funktionalitäten bereitgestellt werden. Um die hier vorgestellten Datenbanken im eigenen Moodle nutzen zu können könnt ihr folgende Anleitung befolgen:
Wähle Datenbank aus den Moodle-Aktivitäten aus

Wähle Vorlagensatz importieren.

Lade den jeweils untenstehenden Vorlagensatz für die entsprechende Datenbank als zip Datei hoch.

Importiere , wahlweise die, die du hier zum Download findest.

Importiert werden können csv oder zip Dateien. Zip Datei-Einträge erhalten in der Regel noch zusätzliche Anhänge, die mit den Einträgen verbunden sind.

Datenbanken
Konzeptgenerator
Eine webbasierte Datenbank zur Verwaltung und Planung von Seminarmethoden. Das System ermöglicht es, Methodenkarten zu erstellen, zu verwalten und in einem interaktiven Seminarplaner zu organisieren.
Installation
- erzeuge ein zip aus den vorliegenden Dateien, ohne README und AGENTS und LICENSE
- Erstelle eine Datenbank-Aktivität in deinem Moodle und klicke auf speichern und anzeigen in der Aktivitätserstellung
- Klicke auf Vorlagensatz importieren
- Lade die erzeugte zip Datei hoch
- Beginne Einträge für Einheiten/Methoden zu schreiben
- Anschließend kannst du sie in der Listenansicht deiner Datenbank Verschieben.
🎯 Zentralen Funktionen
1. Methodenkarten-Verwaltung
- Eingabeformular (
addtemplate.html): Strukturiertes Formular zur Erfassung von Seminarmethoden mit allen relevanten Metadaten - Detailansicht (
singletemplate.html): Übersichtliche Darstellung einer einzelnen Methodenkarte mit allen Informationen - Listenansicht (
listtemplate.html): Kompakte Darstellung von Methoden als Drag-and-Drop-fähige Karten
2. Interaktiver Seminarplaner
- Drag & Drop: Methoden aus der Sidebar in den Wochenplan ziehen
- Zeitbasierte Planung: Visuelles Grid-System mit konfigurierbaren Zeitraster (5, 10, 15 oder 30 Minuten)
- Zoom-Funktion: Drei Zoom-Stufen (5 Min, 15 Min, 30 Min) zur flexiblen Darstellung
- Persistenz: Automatisches Speichern im Browser-LocalStorage
3. Grid-Konfiguration
- Vorlagen: Vordefinierte Konfigurationen (Standard-Woche, Wochenendseminar, Halbe Woche, Kompakttag)
- Individuelle Anpassung: Freie Wahl von Wochentagen, Zeitbereich und Granularität
- Pausenplanung: Konfigurierbare Pausenzeiten für einzelne oder alle Tage
- Tabellenspalten: Auswahl der anzuzeigenden Spalten im ZIM-Papier
📊 Datenbankstruktur
Datenbankfelder (definiert in preset.xml)
Die Datenbank verwendet ein flexibles XML-basiertes Feldkonzept. Jedes Feld kann über Platzhalter wie [[Titel]] in den Templates referenziert werden.
Pflichtfelder
- Titel (Text): Name der Methode
Optionalfelder
Kategorisierung:
- Seminarphase (Multimenu): Warm-Up, Einstieg, Erwartungsabfrage, Vorwissen aktivieren, Wissen vermitteln, Reflexion, Transfer, Evaluation/Feedback, Abschluss
- Tags / Schlüsselworte (Text): Freie Tags, z.B. Seminarkürzel (BR1, A1, etc.)
- Kognitive Dimension (Multimenu): Bloomsche Taxonomie (Erinnern, Verstehen, Anwenden, Analysieren, Bewerten, Erschaffen)
Rahmenbedingungen:
- Zeitbedarf (Menu): 5, 10, 20, 30, 45, 60, 90, 120, 150, 180 Minuten oder mehr
- Gruppengröße (Menu): 1, 2-3, 3–5, 6–12, 13–24, 25+, beliebig
- Komplexitätsgrad (Menu): sehr niedrig, niedrig, mittel, hoch
- Vorbereitung nötig (Menu): keine, <10 Min, 10–30 Min, >30 Min
- Raumanforderungen (Multimenu): Plenum, Stuhlkreis, Stehtische, viel Freifläche, Gruppentische, Gruppenräume, akustisch ruhig
- Sozialform (Multimenu): Vortrag, Diskussion, Einzelarbeit, Partnerarbeit, Kleingruppen, Galeriegang, Fishbowl
Inhalt:
- Kurzbeschreibung (Textarea): Kurze Zusammenfassung der Methode
- Ablauf (Textarea): Detaillierte Beschreibung der einzelnen Phasen
- Lernziele (Ich-kann …) (Textarea): Formulierte Lernziele
- Debrief/Reflexionsfragen (Textarea): 3–5 Fragen zur Reflexion
- Risiken/Tipps (Textarea): Fallstricke, Moderationshinweise, Varianten, Barrierefreiheit
Materialien:
- Materialien (File): PDF-Handouts, Folien, Karten (auch ZIP möglich)
- H5P-Inhalt (File): H5P-Inhalt als Datei-Upload (wird in der Einzelansicht nur angezeigt, wenn eine Datei vorhanden ist)
- Material/Technik (Textarea): Liste der benötigten Materialien
Metadata:
- Autor*in / Kontakt (Text): Kontaktinformationen für Rückfragen
🔧 Nutzung der Datenbank
Grundlegende Bedienung
1. Methodenkarte erstellen
- Öffnen Sie das Eingabeformular (über das System, das diese Templates verwendet)
- Füllen Sie die Felder aus – nur der Titel ist Pflichtfeld
- Nutzen Sie die drei Hauptabschnitte:
- Schnellfassung: Titel, Phase, Tags, Zeitbedarf, Gruppengröße, Kognitive Dimension, Kurzbeschreibung, Ablauf
- Qualität & Rahmen: Lernziele, Komplexitätsgrad, Vorbereitung, Raumanforderungen, Sozialform, Risiken/Tipps, Reflexionsfragen
- Materialien & Technik: Materialien, H5P-Inhalt (Datei), Material/Technik
- Speichern Sie den Eintrag
2. Methodenkarte anzeigen
- Die Detailansicht zeigt alle ausgefüllten Felder in übersichtlicher Form
- Leere Felder werden automatisch ausgeblendet
- Meta-Informationen werden als Chips dargestellt
- Bearbeiten- und Löschen-Buttons erscheinen (falls Berechtigung vorhanden)
3. Seminarplaner verwenden
Grid konfigurieren:
- Klicken Sie auf den Grid-Button (⚙️)
- Wählen Sie eine Vorlage oder konfigurieren Sie individuell:
- Wochentage: Montag bis Sonntag auswählen
- Zeitbereich: Start- und Endzeit festlegen
- Granularität: Zeitraster-Auflösung wählen (5/10/15/30 Min)
- Pausenzeiten: Pausen für einzelne oder alle Tage hinzufügen
- Tabellenspalten: Spalten für das ZIM-Papier auswählen
- Klicken Sie auf Übernehmen
Methoden planen:
- Ziehen Sie Methoden-Karten aus der Sidebar in den Wochenplan
- Positionieren Sie die Karte an der gewünschten Zeit und im gewünschten Tag
- Die Dauer wird automatisch aus dem Zeitbedarf der Methode berechnet
- Klicken Sie auf eine Karte im Plan, um Details anzuzeigen oder zu bearbeiten
- Löschen Sie Karten mit dem ✕-Button
Zoom steuern:
- Nutzen Sie die Zoom-Buttons (🔍− / 🔍+) zur Vergrößerung oder Verkleinerung
- Drei Stufen: 5 Min (fein), 15 Min (mittel), 30 Min (grob)
Daten verwalten:
- Export: Plan als JSON-Datei exportieren (💾 Export)
- PDF Export: Drei verschiedene PDF-Export-Optionen:
- PDF (ZIM): Tabellarische Übersicht des Seminarplans (ZIM-Papier)
- PDF (Vollständig): Komplettes PDF mit tabellarischer Übersicht, Methoden-Anhang und Materialien-Anhang
- Import: Exportierte JSON-Datei wieder importieren (📥 Import)
- Löschen: Gesamten Plan löschen (🗑️ Löschen)
Meta-Informationen:
- Tragen Sie Seminartitel, Datum, Seminarnummer und Kontakt in die Meta-Felder ein
- Diese Informationen werden im Header angezeigt
Template-System
Das System verwendet Platzhalter im Format [[Feldname]], die durch das Backend-System mit den tatsächlichen Daten ersetzt werden.
Beispiel:
<h1 class="ig-title">[[Titel]]</h1> <p>[[Kurzbeschreibung]]</p>
Die Platzhalter müssen exakt mit den Feldnamen in preset.xml übereinstimmen.
✨ Features
Seminarplaner Features
- ✅ Drag & Drop: Intuitive Bedienung durch Ziehen von Karten
- ✅ Responsive Design: Funktioniert auf Desktop und Tablet
- ✅ LocalStorage: Automatisches Speichern ohne Server
- ✅ Zeit-Snapping: Automatisches Ausrichten an Zeitraster
- ✅ Pausen-Management: Visuelle Darstellung von Pausen im Plan
- ✅ Konfigurierbare Grids: Flexible Anpassung an verschiedene Seminarformate
- ✅ Zoom-Funktion: Drei Zoom-Stufen für verschiedene Ansichten
- ✅ Import/Export: JSON-basierter Datenaustausch
- ✅ Tabellenansicht: ZIM-Papier mit konfigurierbaren Spalten
- ✅ Meta-Informationen: Seminardetails im Header
- ✅ Filter & Suche: Freitextsuche plus Filter für Tags, Seminarphase, Gruppengröße, Zeitbedarf und kognitive Dimension
- ✅ Kognitive Farbcodierung: Methoden werden je nach kognitiver Dimension (Erinnern → Erschaffen) in einer Blau‑bis‑Rot-Skala eingefärbt – sowohl in der Sidebar als auch im Grid
- ✅ PDF-Export: Drei Export-Varianten (ZIM-Papier, Vollständig mit Anhängen)
- ✅ HTML-Formatierung in PDF: Erhaltung von Formatierungen (fett, kursiv, Listen, Absätze) aus Textfeldern im PDF
- ✅ Tooltips: Vollständige Titel werden bei Mouseover im Grid angezeigt
Methodenkarten Features
- ✅ Strukturierte Eingabe: Drei Hauptabschnitte für übersichtliche Erfassung
- ✅ Auto-Hide: Leere Felder werden automatisch ausgeblendet
- ✅ Rich Content: Unterstützung für H5P-Embeds, Datei-Uploads
- ✅ Responsive Navigation: Sticky Navigation zwischen Abschnitten
- ✅ Visuelle Hierarchie: Farbcodierte Karten für bessere Übersicht
- ✅ Accessibility: Semantic HTML, ARIA-Labels, Keyboard-Navigation
Technische Features
- ✅ Kein Build-Prozess: Direkte Verwendung der Templates
- ✅ Modulares CSS: CSS-Variablen für einfache Anpassung
- ✅ Vanilla JavaScript: Keine externen Abhängigkeiten
- ✅ Semantic HTML5: Moderne, barrierefreie Struktur
📁 Dateistruktur
.
├── addtemplate.html # Eingabeformular für neue Methodenkarten
├── singletemplate.html # Detailansicht einer Methodenkarte
├── listtemplate.html # Kompakte Karten-Ansicht für Drag & Drop
├── listtemplateheader.html # Header des Seminarplaners
├── listtemplatefooter.html # Footer des Seminarplaners
├── preset.xml # Datenbankfeld-Definitionen
├── csstemplate.css # Styling für alle Templates
├── jstemplate.js # JavaScript-Funktionalität (Seminarplaner)
├── rsstemplate.html # RSS-Feed Template
├── rsstitletemplate.html # RSS-Titel Template
├── asearchtemplate.html # Such-Template
└── README.md # Diese Datei
🚀 Entwicklung & Testen
Lokale Vorschau
Starte einen lokalen HTTP-Server, um die Templates mit korrekten relativen Pfaden zu testen:
python3 -m http.server 8000
Öffne dann http://localhost:8000 im Browser.
HTML-Validierung
Prüfe die HTML-Struktur:
npx html-validate addtemplate.html
CSS-Linting
Prüfe CSS-Dateien:
npx stylelint "*.css"
🔄 Änderungen an der Datenbankstruktur
Soll die Datenbankstruktur erweitert oder geändert werden:
- Feld in
preset.xmlhinzufügen/ändern - Platzhalter in Templates einfügen:
[[NeuesFeld]] - Template-Anpassungen:
addtemplate.html: Eingabefeld hinzufügensingletemplate.html: Anzeige hinzufügen (mitdata-hide-if-emptyfür optionale Felder)listtemplate.html: Falls für Seminarplaner relevant, alssp-hiddenDatenfeld hinzufügen
📄 PDF-Export-Funktionalität
Der Seminarplaner bietet drei verschiedene PDF-Export-Optionen:
1. PDF (ZIM) – Tabellarische Übersicht
- Erstellt eine tabellarische Übersicht des Seminarplans (ZIM-Papier)
- Enthält alle konfigurierten Spalten (Uhrzeit, Titel, Ablauf, etc.)
- Optimierte Spaltenbreiten für bessere Lesbarkeit
- Enthält Meta-Informationen (Seminartitel, Datum, Seminarnummer, Kontakt)
2. PDF (Vollständig) – Mit Anhängen
- Tabellarische Übersicht: Wie PDF (ZIM)
- Methoden-Anhang: Alle geplanten Methoden mit vollständigen Details
- Jede Methode beginnt auf einer neuen Seite
- Enthält Titel, Zeit, Dauer, Beschreibung, Ablauf, Lernziele, etc.
- HTML-Formatierungen (fett, kursiv, Listen, Absätze) werden beibehalten
- Materialien-Anhang: Verarbeitung von Materialien aus den Methoden
- Bilder: Werden direkt als Bilder eingebettet
- PDF-Dateien: Werden als klickbare Links eingefügt
- Word-Dateien: Werden in Text konvertiert und eingefügt
- ZIP-Archive: Werden entpackt und deren Inhalte verarbeitet
- Bei Fehlern beim Laden wird ein Link als Fallback angezeigt
Technische Details
- HTML-Formatierung: Textfelder mit HTML-Formatierung (z.B.
<strong>,<em>,<ul>,<p>) werden im PDF korrekt dargestellt - Listen-Abstände: Kompakte Darstellung von Listen für bessere Lesbarkeit
- Seitenumbrüche: Automatische Seitenumbrüche bei langen Inhalten
- Bibliotheken: Verwendet jsPDF, jsPDF-AutoTable, JSZip und mammoth.js
📝 Hinweise
- Print-Funktionalität: Die alte browserbasierte Print-Funktionalität wurde entfernt und durch JavaScript-basierte PDF-Generierung ersetzt
- Browser-Support: Moderne Browser mit LocalStorage-Unterstützung (Chrome, Firefox, Safari, Edge)
- Daten-Persistenz: Der Seminarplaner speichert Daten im Browser-LocalStorage. Bei Export/Import müssen JSON-Dateien verwendet werden
- PDF-Materialien: PDF-Dateien aus Materialien werden als klickbare Links eingefügt (keine Einbettung)
Prompting-Generator
Diese Vorlage stellt eine Prompt-Bibliothek in einer Moodle-Datenbankaktivität (mod_data) bereit.
Einträge können als wiederverwendbare Prompt-Templates gepflegt, mit Platzhaltern konfiguriert und als finaler Prompt in die Zwischenablage kopiert werden.
Funktionen
- Prompt-Karten in Listen- und Einzelansicht mit einheitlichem UI (inkl. responsivem Grid).
- Dynamische Platzhalter-Erkennung im Prompt über
{Platzhaltername}. - Automatische Eingabefelder pro erkanntem Platzhalter.
- Live-Vorschau: Platzhalter werden farblich markiert, ausgefüllte Werte direkt angezeigt.
- Copy-Flow: Beim Kopieren wird
Systemprompt + Promptzu einem finalen Text zusammengeführt. - Kategorie-Filter in der Listenansicht.
- Kartenfokus per Overlay: Karte auswählen, erweitern, bearbeiten.
- „Mehr“-Bereich zum Ein-/Ausklappen des Systemprompts.
- Mehrfachauswahl und Sammellöschen (öffnet Löschdialoge je Eintrag in separaten Tabs).
- Rollenabhängige UI-Ausblendung:
- Für Teilnehmende/Studierende werden Bearbeiten/Löschen und Bulk-Delete ausgeblendet.
- Kategorie-Farbcodierung: Kartenfarbe wird aus der ersten Kategorie automatisch gesetzt.
Datenmodell (Felder aus preset.xml)
Titel(Text)Prompt(Textbereich)Kategorie(Checkbox, Mehrfachauswahl)Systemprompt(Textbereich)Beispiel-Output(Textbereich)
Dateien in diesem Repository
preset.xml– Felddefinitionen und Basis-Einstellungen für die Datenbankaktivität.addtemplate.html– Eingabeformular für neue Prompts.listtemplateheader.html– Kopfbereich der Listenansicht (Filter + Bulk-Bar).listtemplate.html– Kartenansicht je Datensatz.listtemplatefooter.html– Listenabschluss (Overlay + Wrapper-Ende).singletemplate.html– Einzelansicht eines Datensatzes.csstemplate.css– Styles für List/Single/Add inklusive Rollen-UI.jstemplate.js– Interaktionen (Platzhalter, Vorschau, Filter, Kopieren, Auswahl, Bulk).asearchtemplate.html,rsstemplate.html,rsstitletemplate.html– derzeit leer.
Pflege und Anpassung
- Neue Kategorien können in
preset.xmlim FeldKategorie(<param1>...</param1>) ergänzt werden. - UI/Branding wird über
csstemplate.cssgesteuert. - Interaktionslogik (Platzhalter, Copy, Filter, Bulk) liegt in
jstemplate.js.
