{"id":1052,"date":"2026-09-20T14:06:40","date_gmt":"2026-09-20T14:06:40","guid":{"rendered":"https:\/\/gigers.com\/blog\/?p=1052"},"modified":"2026-09-20T14:06:40","modified_gmt":"2026-09-20T14:06:40","slug":"die-moodle-datenbankaktivitaet-als-speicherort","status":"publish","type":"post","link":"https:\/\/gigers.com\/blog\/die-moodle-datenbankaktivitaet-als-speicherort\/","title":{"rendered":"Die Moodle-Datenbankaktivit\u00e4t als Speicherort"},"content":{"rendered":"<p>Die Aktivit\u00e4t &#8222;Buch&#8220; und &#8222;Textseite&#8220; in Moodle sind f\u00fcr das Pr\u00e4sentieren von Informationen gedacht. Sie k\u00f6nnen zwar mit diversen interaktiven Elementen angereichert werden (GeoGebra-Applets, H5P-Lernobjekte, eingebettete Quizfragen), solche L\u00f6sungen haben aber verschiedene Nachteile:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Der Bearbeitungsstand der eingebetteten Objekte wird nicht gespeichert (z. B. bei GeoGebra-Applets).<\/li>\n<li>Die eingebetteten Objekte passen optisch nicht zur Buchumgebung (z. B. bei H5P-Lernobjekten).<\/li>\n<li>Wenn eingebettete Objekte aus mehreren Seiten bestehen, ist auf der Buchseite jeweils nur eine Seite sichtbar.<\/li>\n<li>Die eingebetteten Objekte definieren, was richtig oder falsch ist (z. B. eingebettete Quizfragen).<\/li>\n<li>Die Lehrperson erlebt einen Medienbruch. Sie muss das Buch verlassen und die Objekte an einem anderen Ort innerhalb oder gar ausserhalb von Moodle erstellen.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Auch Alternativen zum Buch k\u00f6nnen die Funktionalit\u00e4t eines interaktiven Buches nur bedingt erf\u00fcllen.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Ein Forum ist zum Austausch zwischen den Lernenden gedacht, aber nicht daf\u00fcr, pers\u00f6nliche Gedanken zu einer Buchseite zu formulieren.<\/li>\n<li>Die Erweiterung <a href=\"https:\/\/moodle.org\/plugins\/mod_icontent\" target=\"_blank\" rel=\"noopener\">Content Pages<\/a> deckt einen Teil der Anforderungen ab, die Lernenden k\u00f6nnen ihre Gedanken aber immer nur am Ende einer Seite festhalten.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>In diesem Beitrag wird beschrieben, wie man die Aktivit\u00e4t Buch (oder Seite) mit Moodle-Bordmitteln so nutzen kann, dass sie es den Lernenden erm\u00f6glicht, einzelne Elemente zu erg\u00e4nzen, indem sie Texte schreiben oder aus einer Reihe von Optionen (Checkliste) eine Auswahl treffen.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1062\" style=\"color: #333333; font-size: 1rem;\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Verwendung-864x1024.png\" alt=\"Beispiel f\u00fcr die Verwendung des Datenbankspeichers auf einer Seite in Moodle.\" width=\"525\" height=\"622\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Verwendung-864x1024.png 864w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Verwendung-253x300.png 253w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Verwendung-768x910.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Verwendung.png 967w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2>Technischer A<span style=\"font-size: 1.25rem;\">nsatz<\/span><\/h2>\n<p>Die technische Umsetzung beruht auf einer Idee von Christian Augsburg (<a href=\"https:\/\/github.com\/ChristianAugsburg?tab=repositories\" target=\"_blank\" rel=\"noopener\">GitHub-Repository<\/a>): Informationen werden in eine extra daf\u00fcr angelegte Moodle-Datenbankaktivit\u00e4t gespeichert. Allerdings haben diese Datenbanken vergleichsweise komplexe Strukturen. Deshalb wurde f\u00fcr den hier vorgestellten Ansatz JSON verwendet (eine urspr\u00fcnglich von <a href=\"https:\/\/oer.fdagner.de\/\" target=\"_blank\" rel=\"noopener\">Florian Dagner<\/a> entwickelte Idee). Damit kann die immer gleiche Datenbankstruktur f\u00fcr verschiedene Ans\u00e4tze genutzt werden.<\/p>\n<h2>Konkrete Umsetzung<\/h2>\n<p>F\u00fcr die Umsetzung sind drei Teilschritte notwendig.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Datenbank einrichten<\/li>\n<li>Scripte zur Verf\u00fcgung stellen und anpassen<\/li>\n<li>Interaktive Seite gestalten<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>1) Datenbank einrichten<\/h3>\n<p>Zuerst legt man eine Datenbankaktivit\u00e4t mit den Feldern taskid und data (beide vom Typ &#8222;Kurzer Text&#8220; an).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1055\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder-1024x321.png\" alt=\"Definition der Felder f\u00fcr die Datenbank zur Speicherung von Antworten.\" width=\"525\" height=\"165\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder-1024x321.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder-300x94.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder-768x240.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder-1536x481.png 1536w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Felder.png 1779w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>In den Vorlagen der Datenbank passt man die Listenansicht (wiederholter Eintrag) wie folgt an:<\/p>\n<pre>&lt;div class=\"mdb-record\"&gt;\r\n&lt;span class=\"mdb-taskid\"&gt;[[taskid]]&lt;\/span&gt;\r\n&lt;span class=\"mdb-payload\"&gt;[[data]]&lt;\/span&gt;\r\n##edit## ##delete####delcheck##&lt;span class=\"mdb-user\"&gt;##user##&lt;\/span&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Kopf und Fusszeile kann man leer lassen.<\/p>\n<p>Die anderen Ansichten kann man so belassen, wie sie von Moodle angelegt werden, da weder durch Lernende noch Lehrende ein direkter Zugriff erforderlich ist.<\/p>\n<p>Statt die Datenbank selbst anzulegen, kann man die Vorlage &#8222;<a href=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/Datenspeicher.zip\">Datenspeicher<\/a>&#8220; nutzen.<\/p>\n<p>In den Einstellungen der Datenbankaktivit\u00e4t lohnt es sich aus Sicherheits\u00fcberlegungen und f\u00fcr eine bessere Leistung bei den Eintr\u00e4gen &#8222;Freigabe erforderlich&#8220; auf &#8222;Ja&#8220; zu setzen. Damit wird sichergestellt, dass Lernende nur ihre eigenen Eintr\u00e4ge sehen k\u00f6nnen. Den Rest der Einstellungen l\u00e4sst man unver\u00e4ndert.<\/p>\n<p>Wenn man m\u00f6chte, kann man die Datenbank in den &#8222;Weiteren Einstellungen&#8220; auf &#8222;Verf\u00fcgbar, aber auf Kursseite nicht anzeigen&#8220; setzen.<\/p>\n<p>Damit eine Lehrperson nicht versehentlich den Eintrag eines Sch\u00fclers oder einer Sch\u00fclerin \u00fcberschreiben kann, setzt man bei den Rechten f\u00fcr den Trainer &#8222;Eintr\u00e4ge verwalten&#8220; auf &#8222;Verbieten&#8220;.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1057\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Rechte-1024x493.png\" alt=\"Anpassen der Rechte f\u00fcr die Lehrperson in der Datenbankaktivit\u00e4t.\" width=\"525\" height=\"253\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Rechte-1024x493.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Rechte-300x145.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Rechte-768x370.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Rechte.png 1312w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Zuletzt notiert man sich drei Zahlen, welche f\u00fcr die im Weiteren verwendeten JavaScript-Dateien wichtig sind:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Die ID aus der URL der Datenbankaktivit\u00e4t:<br \/>\nhttps:\/\/DOMAIN\/moodle\/mod\/data\/view.php?id=<strong>30170<\/strong><\/li>\n<li>Die Nummern der beiden Felder &#8222;taskid&#8220; und &#8222;data&#8220;. Diese findet man, wenn in der Ansicht &#8222;Neuer Eintrag&#8220; die beiden Eingabefelder untersucht:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1058\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern-1024x233.png\" alt=\"Die Entwickleransicht im Browser erlaubt das Auslesen der Feldnummer.\" width=\"525\" height=\"119\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern-1024x233.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern-300x68.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern-768x174.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern-1536x349.png 1536w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Feldnummern.png 1620w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><br \/>\nIn der Abbildung findet sich in der markierten Zeile die Zeichenkette &#8222;field_3292&#8220;, die Nummer f\u00fcr taskid ist also <strong>3292<\/strong>. Genau gleich geht man f\u00fcr das Feld &#8222;data&#8220; vor, meist ist diese Nummer eins h\u00f6her als die f\u00fcr taskid: <strong>3293<\/strong>.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Wichtig: Stellt man den Kurs an anderer Stelle wieder her, \u00e4ndern sich diese Nummern.<\/p>\n<p>Wenn man die mitgelieferte Datenbankvorlage verwendet, werden die ben\u00f6tigten Angaben beim Anlegen eines neuen Eintrags angezeigt, ohne dass man diese von Hand auslesen muss.<\/p>\n<p>Damit ist die Datenbank bereit f\u00fcr die Verwendung.<\/p>\n<p>Wie viele solche Datenbanken man in einem Kurs ben\u00f6tigt, h\u00e4ngt von der Anzahl der Lernenden und der interaktiven Elemente ab. Wenn m\u00f6glich empfiehlt es sich, pro Buch eine solche Datenbankaktivit\u00e4t anzulegen.<\/p>\n<h3>2) Scripte zur Verf\u00fcgung stellen und anpassen<\/h3>\n<p>Damit die Datenbankaktivit\u00e4t als Speicher in Moodle verwendet werden kann, m\u00fcssen auf den entsprechenden Moodle-Seiten die Scripte f\u00fcr die Lernenden und die Lehrenden eingebaut werden.<\/p>\n<p>Dies kann beispielsweise mit Textbl\u00f6cken in der Seitenleiste geschehen (vorher Editor umstellen).<\/p>\n<p>Wichtig ist dabei: Die weiter oben erw\u00e4hnten Zahlenwerte m\u00fcssen in die jeweiligen Scripte eingetragen werden.<\/p>\n<p>F\u00fcr das <strong>Script f\u00fcr die Lernenden<\/strong> sieht das so aus:<\/p>\n<pre>const CONFIG = {\r\n    DB_ID: \"<strong>30170<\/strong>\",\r\n    FIELD_TASKID: \"<strong>3292<\/strong>\",\r\n    FIELD_DATA: \"<strong>3293<\/strong>\",\r\n    PERPAGE: 1000\r\n};<\/pre>\n<p>Das Script f\u00fcr die Lernenden formatiert anschliessend die Eingabeformulare, speichert die Daten in der Datenbankaktivit\u00e4t und liest sie von dort auch wieder f\u00fcr die Moodle-Seite aus. Dies passiert automatisch im Hintergrund.<\/p>\n<p>Texte von Sch\u00fclerinnen und Sch\u00fclern werden automatisch gespeichert, wenn diese das Eingabefeld verlassen oder zu einer anderen Webseite navigieren. Optionen werden ebenfalls zu diesen Zeitpunkten gespeichert, zus\u00e4tzlich 5 Sekunden nach der letzten \u00c4nderung. Damit keine Daten verloren gehen, werden diese zus\u00e4tzlich lokal gespeichert.<\/p>\n<p>F\u00fcr das <strong>Script f\u00fcr die Lehrenden<\/strong> sieht das so aus.<\/p>\n<pre>const CONFIG = {\r\n    DB_ID: \"<strong>30170<\/strong>\",\r\n    PERPAGE: 1000\r\n};<\/pre>\n<p>Bei sehr grossen Gruppen kann der Parameter PERPAGE erh\u00f6ht werden. Das ist aber nur im Script der Lehrperson notwendig, da einzelne Sch\u00fclerinnen und Sch\u00fcler kaum 1000 Eintr\u00e4ge schreiben.<\/p>\n<p>Das Script f\u00fcr die Lehrenden zeigt die Antworten der Sch\u00fclerinnen und Sch\u00fcler in einer Gesamt\u00fcbersicht oder f\u00fcr eine einzelne Aktivit\u00e4t an. Ausserdem k\u00f6nnen auch die Antworten einer einzelnen Person angezeigt werden. Zus\u00e4tzlich ist ein CSV-Export m\u00f6glich.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1063\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Lehrersicht-1024x300.png\" alt=\"Ansicht f\u00fcr Lehrperson auf die Sch\u00fclerdaten.\" width=\"525\" height=\"154\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Lehrersicht-1024x300.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Lehrersicht-300x88.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Lehrersicht-768x225.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_Lehrersicht.png 1083w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Die Scripte f\u00fcr Lernende und Lehrende k\u00f6nnen als <a href=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_scripts.zip\">dbstore_scripts<\/a> heruntergeladen werden.<\/p>\n<h3>3) Interaktive Seite gestalten<\/h3>\n<p>Auf der interaktiven Seite k\u00f6nnen beliebige HTML-Elemente eingebaut werden. F\u00fcr die eigentlichen Eingabem\u00f6glichkeiten f\u00fcr Lernende passt man den HTML-Code der Seite wie folgt an.<\/p>\n<h3>F\u00fcr eine Auswahl (Checkliste)<\/h3>\n<p>F\u00fcr die Auswahl muss die Klasse &#8222;mdb_options&#8220; verwendet werden und eine innerhalb der Datenbankaktivit\u00e4t eindeutige ID.<\/p>\n<pre>&lt;div id=\"<strong>aufgabe-checkliste<\/strong>\" class=\"<strong>mdb_options<\/strong>\"&gt;\r\n&lt;p&gt;Fragestellung&lt;\/p&gt;\r\n&lt;p&gt;Option A&lt;\/p&gt;\r\n&lt;p&gt;Option B&lt;\/p&gt;\r\n&lt;p&gt;Option C&lt;\/p&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Eine Aktivit\u00e4t kann einen Titel (&lt;h1&gt; &#8230; &lt;h6&gt;) enthalten. Der erste Abschnitt wird als Anweisung verwendet, alle weiteren als Kriterien, die abgehakt werden k\u00f6nnen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1099\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_options-1024x384.png\" alt=\"Checkliste mit Auswahlm\u00f6glichkeiten\" width=\"525\" height=\"197\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_options-1024x384.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_options-300x112.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_options-768x288.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_options.png 1276w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h3>F\u00fcr eine Auswahlliste<\/h3>\n<p>F\u00fcr eine Auswahlliste muss die Klasse &#8222;mdb_choice&#8220; verwendet werden und ebenfalls eine eindeutige ID vergeben werden.<\/p>\n<pre>&lt;div id=\"<strong>aufgabe-auswahlliste<\/strong>\" class=\"<strong>mdb_choice\"<\/strong>&gt; \r\n&lt;p&gt;Fragestellung&lt;\/p&gt; \r\n&lt;p&gt;Option A&lt;\/p&gt; \r\n&lt;p&gt;Option B&lt;\/p&gt; \r\n&lt;p&gt;Option C&lt;\/p&gt; \r\n&lt;\/div&gt;<\/pre>\n<p>Eine Aktivit\u00e4t kann einen Titel (&lt;h1&gt; bis &lt;h6&gt; enthalten. Der erste Abschnitt wird als Anweisung verwendet, aus allen weiteren kann eine M\u00f6glichkeit ausgew\u00e4hlt werden. Durch erneutes Anklicken einer Auswahl, wird diese wieder deaktiviert.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1102\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_choice-1024x278.png\" alt=\"Mit der Auswahlliste k\u00f6nnen Lernende eine von verschiedenen M\u00f6glichkeiten ausw\u00e4hlen.\" width=\"525\" height=\"143\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_choice-1024x278.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_choice-300x81.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_choice-768x208.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_choice.png 1294w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h3>F\u00fcr einen Freitext<\/h3>\n<p>F\u00fcr den Freitext muss die Klasse &#8222;mdb_essay&#8220; verwendet werden und ebenfalls eine eindeutige ID vergeben werden.<\/p>\n<pre>&lt;div id=\"<strong>aufgabe-freitext<\/strong>\" class=\"<strong>mdb_essay<\/strong>\"&gt;\r\n&lt;p&gt;Schreibe hier deine Antwort hin \u2026&lt;\/p&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Der gesamte Text innerhalb des &lt;div&gt;-Elements wird als Anweisung verwendet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1104\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_essay-1024x365.png\" alt=\"Auch Freitexteingaben sind mithilfe des Scripts m\u00f6glich.\" width=\"525\" height=\"187\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_essay-1024x365.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_essay-300x107.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_essay-768x274.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_essay.png 1296w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h3>F\u00fcr eine Tabelle<\/h3>\n<p>F\u00fcr eine Tabelle muss die Klasse &#8222;mdb_table&#8220; verwendet werden und eine innerhalb der Datenbankaktivit\u00e4t eindeutige ID.<\/p>\n<pre>&lt;div id=\"<strong>aufgabe-tabelle<\/strong>\" class=\"<strong>mdb_table<\/strong>\"&gt; \r\n&lt;table&gt;\r\n...\r\n&lt;\/table&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>Die erste Zeile einer Tabelle wird als Kopf der Tabelle verwendet, dort kann man beispielsweise die Spaltentitel einf\u00fcgen. Alle weiteren leeren Zellen einer Tabelle werden automatisch in Eingabefelder verwandelt. Zellen mit einem bereitgestellten Inhalt k\u00f6nnen von den Sch\u00fclerinnen und Sch\u00fclern nicht bearbeitet werden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1105\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_table-1024x646.png\" alt=\"Tabellen bieten eine einfache M\u00f6glichkeit, Antworten strukturiert festzuhalten.\" width=\"525\" height=\"331\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_table-1024x646.png 1024w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_table-300x189.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_table-768x485.png 768w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/09\/dbstore_table.png 1279w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>Alle Tabellen lassen sich automatisch um weitere Zeilen erweitern, indem man am Ende der Tabelle auf die &#8222;+ Add row&#8220;-Schaltfl\u00e4che klickt.<\/p>\n<h3>Spezielle Elemente innerhalb einer Tabelle oder eines Formulars<\/h3>\n<p>In einer Tabelle (class=&#8220;mdb_table&#8220;) oder einem Formular (class=&#8220;mdb_forms&#8220;) k\u00f6nnen Textfelder, Auswahl- und Checklisten eingef\u00fcgt werden. Damit lassen sich komplexere Interaktionen umsetzen.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Textfelder<br \/>\nTextfelder werden mit {txt} eingef\u00fcgt. Werden diese ohne weitere Parameter verwendet, nehmen sie die ganze Breite des umschliessenden HMTL-Elements ein und werden als Block angezeigt. Mit {txt|inline} kann ein einzeiliges Textelement in einen Fliesstext eingef\u00fcgt werden. Die Breite des Elements kann mit {txt|inline:12} fixiert werden.<\/li>\n<li>Auswahllisten<br \/>\nAuswahllisten k\u00f6nnen mit {rb:Auswahl 1|Auswahl 2|Auswahl 3} definiert werden. Dabei werden die einzelnen Wahlm\u00f6glichkeiten untereinander dargestellt. Mit {rb|h:Auswahl 1|Auswahl 2|Auswahl 3} werden die M\u00f6glichkeiten nebeneinander dargestellt.<\/li>\n<li>Checkliste<br \/>\nEine Auswahlm\u00f6glichkeit in einer Checkliste kann mit {cb|Kriterium 1} dargestellt werden. Solche Eintr\u00e4ge k\u00f6nnen neben- oder untereinander platziert werden.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Daten abrufen<\/h3>\n<p>Wird zus\u00e4tzlich zur entsprechenden Klasse und ID die Klasse &#8222;mdb_readonly&#8220; vergeben, kann der Eintrag nur gelesen, aber nicht ver\u00e4ndert werden. Das ist praktisch, wenn man fr\u00fcher eingegebene Antworten an einer anderen Stelle verwenden m\u00f6chte.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1065\" src=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_nur_Lesen.png\" alt=\"Die Klasse &quot;mdb_readonly&quot; verhindet das Editieren eines Inhalts.\" width=\"950\" height=\"482\" srcset=\"https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_nur_Lesen.png 950w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_nur_Lesen-300x152.png 300w, https:\/\/gigers.com\/blog\/wp-content\/uploads\/2026\/07\/Datenbankspeicher_nur_Lesen-768x390.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<h3>Die Ansicht f\u00fcr Lehrpersonen<\/h3>\n<p>Die Ansicht f\u00fcr Lehrpersonen wird \u00fcber das Script dbstore_teacher.html zur Verf\u00fcgung gestellt. Dieses kann in einem Block zur Verf\u00fcgung gestellt werden, bei dem man allgemeinen Teilnehmenden in Moodle die entsprechende Berechtigung entzieht, wodurch der Block nur f\u00fcr Lehrpersonen sichtbar bleibt.<\/p>\n<p>Weil die Lehrperson auf viel mehr Daten zugreift als die Sch\u00fclerinnen und Sch\u00fcler, wird die Abfrage erst gestartet, wenn man auf die entsprechende Schaltfl\u00e4che klickt und nicht bei jedem Aufruf der Seite.<\/p>\n<p>Die Lehrperson kann die Daten entweder in einer Gesamtschau \u00fcberblicken, die Aktivit\u00e4ten einzelner Lernenden anzeigen oder nach Aufgabentyp (via ID der Aufgabe) filtern lassen.<\/p>\n<p>Ein anonymer Modus blendet die Namen der Sch\u00fclerinnen und Sch\u00fcler aus. Ausserdem kann die Reihenfolge der Lernenden zuf\u00e4llig angeordnet werden. Die Einstellung f\u00fcr die anonyme Ansicht wird im Browser lokal gespeichert, sodass bei einem Wechsel auf eine andere Aufgabenstellung die Anonymit\u00e4t der Lernenden automatisch sichergestellt ist.<\/p>\n<h3>Tipps und Tricks<\/h3>\n<p>Beim Bereitstellen von Aktivit\u00e4ten mit interaktiven Elementen haben sich folgende Vorgehensweisen bew\u00e4hrt:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>F\u00fcr jedes Buch oder jeden Themenbereich (z. B. Deutsch &gt; Kurzgeschichten) legt man eine entsprechende Datenbank in einem Kurs an.<\/li>\n<li>F\u00fcr die Datenbank selbst legt man eine Vorlage an, die dann immer wieder verwendet werden kann.<\/li>\n<li>Aktivit\u00e4ten, welche auf einer einzelnen Moodle-Seite Platz finden, kann man einfach duplizieren und anschliessend deren Inhalt ersetzen. Das erspart das erneute Aufspielen der Scripte in einem Blockelement.<\/li>\n<li>Wenn m\u00f6glich arbeitet man f\u00fcr die einzelnen interaktiven Elemente mit Textvorlagen, die man anschliessend einsetzen kann. Verf\u00fcgt man \u00fcber ein Makrosystem in Moodle (beispielsweise <a href=\"https:\/\/marketplace.moodle.com\/plugins\/960\" target=\"_blank\" rel=\"noopener\">Generico<\/a>, <a href=\"https:\/\/marketplace.moodle.com\/plugins\/3350\" target=\"_blank\" rel=\"noopener\">Course Elements<\/a>, <a href=\"https:\/\/marketplace.moodle.com\/plugins\/2695\" target=\"_blank\" rel=\"noopener\">Components for Learning<\/a> oder andere) kann man die entsprechenden Elemente damit vordefinieren, was den Wechsel in die Code-Ansicht eines Kurses erspart.<\/li>\n<li>Zum Einstieg empfiehlt es sich, die einfachen Elemente wie Freitext oder Tabelle zu verwenden.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Verwendung im Unterricht<\/h2>\n<p>Die Scripte zum Einbetten von interaktiven Elementen auf einer Buchseite wurden urspr\u00fcnglich f\u00fcr das Fach Berufliche Orientierung entwickelt, damit Sch\u00fclerinnen und Sch\u00fcler (abgesehen von sich wiederholenden Aktivit\u00e4ten wie Schnupperlehren) ihren ganzen Berufswahlprozess an einer Stelle dokumentieren k\u00f6nnen. Unterdessen hat sich aber gezeigt, dass die Technik auch an anderer Stelle gewinnbringend eingesetzt werden kann:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Zur Interpretation von Gedichten und Liedtexten:<br \/>\nDabei werden die Gedicht- oder Liedzeilen einzeln in eine Tabelle kopiert und die Sch\u00fclerinnen und Sch\u00fcler k\u00f6nnen dann zu jeder Zeile ihre Gedanken und Interpretationen festhalten.<\/li>\n<li>Zur Einbettung von offenen Fragestellungen:<br \/>\nZu einer Kurzgeschichte werden offene Fragen gestellt. Mit dem Plugin <a href=\"https:\/\/marketplace.moodle.com\/plugins\/1760\" target=\"_blank\" rel=\"noopener\">embed questions filter<\/a> ist hier eine Umsetzung beispielsweise technisch nicht m\u00f6glich, weil die Antworten in einer eingebetteten Essay-Frage gar nicht gespeichert werden.<\/li>\n<li>Zur Reflexion des Gelernten:<br \/>\nEingebaute Textfelder erm\u00f6glichen es den Sch\u00fclerinnen und Sch\u00fclern, Gelerntes zu reflektieren. Diese Gedanken k\u00f6nnen dann dank des anonymen Modus in der Lehreransicht auch im Klassenverband besprochen werden.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Insgesamt hat die Verwendung der Datenbank als Informationsspeicher dazu gef\u00fchrt, dass der Grad der Interaktivit\u00e4t f\u00fcr Lernende in einer Moodle-Umgebung erweitert werden konnte. Dadurch werden Lernspuren besser sichtbar.\u00a0 Zus\u00e4tzlich kann die Lehrperson Lernende auf interessante Gedanken und L\u00f6sungshinweise aufmerksam machen, ohne einzelne Sch\u00fclerinnen und Sch\u00fcler zu exponieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Aktivit\u00e4t &#8222;Buch&#8220; und &#8222;Textseite&#8220; in Moodle sind f\u00fcr das Pr\u00e4sentieren von Informationen gedacht. Sie k\u00f6nnen zwar mit diversen interaktiven Elementen angereichert werden (GeoGebra-Applets, H5P-Lernobjekte, eingebettete Quizfragen), solche L\u00f6sungen haben aber verschiedene Nachteile: Der Bearbeitungsstand der eingebetteten Objekte wird nicht gespeichert (z. B. bei GeoGebra-Applets). Die eingebetteten Objekte passen optisch nicht zur Buchumgebung (z. B. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gigers.com\/blog\/die-moodle-datenbankaktivitaet-als-speicherort\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eDie Moodle-Datenbankaktivit\u00e4t als Speicherort\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1052","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/posts\/1052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/comments?post=1052"}],"version-history":[{"count":20,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/posts\/1052\/revisions"}],"predecessor-version":[{"id":1115,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/posts\/1052\/revisions\/1115"}],"wp:attachment":[{"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/media?parent=1052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/categories?post=1052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gigers.com\/blog\/wp-json\/wp\/v2\/tags?post=1052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}