Direkt zum Hauptinhalt

Kurse anlegen

Einen einzelnen Kurs legen Sie über ein Formular an. Für ein ganzes Schuljahr auf einmal laden Sie stattdessen eine CSV-Datei hoch, die alle Kurse in einem Durchgang erzeugt.

Voraussetzung: Moderator/innen-Rechte. Trainer/innen können in ihren Kursen arbeiten, aber keine neuen anlegen. Ist die Kursbeantragung eingeschaltet, stellen sie stattdessen einen Antrag, der unter Ausstehende Kursanfragen bestätigt wird.

Einzelnen Kurs anlegen

  1. Website-Administration öffnen und den Reiter Kurse wählen.
  2. Auf Neuen Kurs anlegen klicken.
  3. Die Pflichtfelder ausfüllen: Vollständiger Kursname, Kurzer Kursname und Kursbereich.
  4. Bei Bedarf Kursbeginn und Kursende setzen.
  5. Unten auf Speichern und anzeigen klicken. Moodle führt anschließend direkt zur Einschreibung der Teilnehmenden.

Zeile aus der Website-Administration: links die Überschrift „Kurse“, rechts untereinander die Einträge Kurse und Kursbereiche verwalten, Kursbereich hinzufügen, Neuen Kurs anlegen, Kurs wiederherstellen, Kursinhalt herunterladen, Beantragung, Ausstehende Kursanfragen und Kursliste hochladen.

Die drei Pflichtfelder

Feld Wofür es zählt
Vollständiger Kursname Der Name, der in Kurslisten und in der Kopfzeile des Kurses steht. Er darf sich wiederholen.
Kurzer Kursname Die Kennung des Kurses. Sie steht in der Navigationsleiste und muss auf der ganzen Plattform eindeutig sein. Auch der CSV-Upload und die Nutzerliste sprechen Kurse darüber an.
Kursbereich Der Ordner, in dem der Kurs liegt. Kursbereiche legen Sie im Reiter Kurse unter Kursbereich hinzufügen an.

Der Abschnitt „Allgemeines“ des Formulars „Neuen Kurs anlegen“ mit den leeren Feldern Vollständiger Kursname und Kurzer Kursname, beide rot als Pflichtfeld markiert, dem Kursbereich mit einem gesetzten Bereich und einem Suchfeld, der Kurssichtbarkeit auf „Sichtbar machen“ sowie Kursbeginn, Kursende und Kurs-ID.

Hinweis: Kursbeginn steuert mehr als das Datum in der Übersicht. Vor diesem Datum erscheint der Kurs bei den Teilnehmenden unter Meine Kurse im Reiter Zukünftig, im Wochenformat bestimmt er außerdem die Beschriftung des ersten Abschnitts. Kursende schiebt den Kurs danach nach Vergangen, sperrt ihn aber nicht.

Mehrere Kurse per CSV hochladen

  1. Website-Administration öffnen und den Reiter Kurse wählen.
  2. Auf Kursliste hochladen klicken.
  3. Die CSV-Datei in das Feld ziehen oder über Datei wählen … hochladen.
  4. CSV-Trennzeichen und Kodierung prüfen (siehe Kasten unten).
  5. Auf Vorschau klicken. Moodle zeigt die eingelesenen Zeilen und meldet, was es an jeder Zeile auszusetzen hat.
  6. Unter Importoptionen den Modus beim Hochladen wählen und mit Kursliste hochladen bestätigen.

Der Abschnitt „Allgemein“ des Formulars „Kursliste hochladen“: die Schaltfläche „Datei wählen …“ mit dem Feld für Drag&drop darunter sowie die Auswahlfelder CSV-Trennzeichen mit dem Wert Semikolon, Kodierung mit UTF-8 und Vorschauzeilen mit 10.

Achtung beim Trennzeichen: Auf deutschsprachiger Oberfläche steht CSV-Trennzeichen voreingestellt auf ;, weil das deutsche Sprachpaket das Semikolon als Listentrenner führt. Ist Ihre Datei mit Komma getrennt (so wie die Beispiele unten), stellen Sie das Feld auf , um. Speichern Sie aus Excel heraus als CSV UTF-8, sonst landen Umlaute in den Kursnamen als Zeichensalat.

Aufbau der CSV-Datei

Die erste Zeile enthält die Spaltennamen, jede weitere Zeile einen Kurs. Zwei Angaben verlangt Moodle in jeder Zeile: den vollständigen Namen und den Kursbereich. Dazu kommt der kurze Kursname als Schlüssel der Zeile:

shortname,fullname,category_path
BIO-7A,Biologie 7a,Sekundarstufe I / Naturwissenschaften
BIO-7B,Biologie 7b,Sekundarstufe I / Naturwissenschaften

Für den Kursbereich gibt es drei Spalten, von denen Sie eine benutzen:

Spalte Bedeutung
category_path Der Pfad aus Bereichsnamen, vom obersten zum untersten. Getrennt wird mit Leerzeichen, Schrägstrich, Leerzeichen: Sekundarstufe I / Naturwissenschaften. Der lesbare Weg.
category_idnumber Die Kennzahl, die im Kursbereich unter Kursbereichs-ID hinterlegt ist. Bleibt gültig, auch wenn der Bereich umbenannt wird.
category Die interne Nummer des Kursbereichs, wie sie in der Adresszeile von Kurse und Kursbereiche verwalten steht.

Häufig genutzte weitere Spalten:

Spalte Bedeutung
idnumber Kurs-ID, z. B. das Kürzel aus Ihrem Schulverwaltungsprogramm.
summary Kursbeschreibung. HTML ist erlaubt.
format Kursformat als Kurzname: topics, weeks, singleactivity, social.
startdate, enddate Kursbeginn und Kursende, als Datum im Format 2026-08-24.
visible 1 zeigt den Kurs, 0 verbirgt ihn vor den Teilnehmenden.
lang Erzwungene Kurssprache als Sprachcode, z. B. de.
groupmode 0 keine Gruppen, 1 getrennte Gruppen, 2 sichtbare Gruppen.
maxbytes Maximale Dateigröße in Bytes.
enablecompletion 1 schaltet die Abschlussverfolgung ein.

Hinweis: Fehlt eine Spalte, greift der Wert, der auf der Vorschauseite unter Standardwerte für Kurseinstellungen steht. Was Sie für alle Kurse gleich haben wollen, gehört deshalb nicht in die Datei, sondern dorthin.

Einschreibemethoden gleich mitanlegen

Die CSV richtet Einschreibemethoden ein. Einzelne Personen benennt sie nicht: dafür ist die Nutzerliste mit ihren Spalten course1 und role1 zuständig. Zwei Methoden bringen ihre Teilnehmenden allerdings selbst mit, siehe den Abschnitt darunter. Die Spalten sind durchnummeriert, enrolment_1 nennt das Plugin, die Spalten mit angehängtem Namen setzen dessen Einstellungen:

shortname,fullname,category_path,enrolment_1,enrolment_1_role
BIO-7A,Biologie 7a,Sekundarstufe I / Naturwissenschaften,self,student
BIO-7B,Biologie 7b,Sekundarstufe I / Naturwissenschaften,self,student
  • enrolment_1 ist der Kurzname des Plugins. Der Upload nimmt fünf davon an: manual für die manuelle Einschreibung, self für die Selbsteinschreibung, guest für den Gastzugang, cohort für die globale Gruppe und meta für die Meta-Einschreibung. Andere Plugins überspringt er stillschweigend.
  • enrolment_1_role nennt die Rolle als Kurzname, meist student.
  • enrolment_1_password setzt den Einschreibeschlüssel der Selbsteinschreibung.
  • enrolment_1_enrolperiod begrenzt die Teilnahmedauer. Zulässig sind Sekunden (2592000) oder eine englische Zeitangabe (30 days).
  • enrolment_1_startdate und enrolment_1_enddate begrenzen den Zeitraum, in dem die Methode greift, als Datum im Format 2026-08-24.
  • enrolment_1_delete mit dem Wert 1 entfernt die Methode wieder, enrolment_1_disable schaltet sie nur ab.

Wenn die Methode ihre Teilnehmenden mitbringt

Achtung: Bei zwei Plugins bleibt es nicht bei der leeren Methode. Globale Gruppe (cohort) und Meta-Einschreibung (meta) gleichen ihren Bestand ab, sobald die Methode angelegt ist, nicht erst beim nächsten Cron-Lauf. Wer in der globalen Gruppe steht oder im verknüpften Kurs eingeschrieben ist, ist damit sofort auch hier eingeschrieben. Eine einzige CSV-Zeile kann auf diesem Weg mehrere hundert Konten in einen Kurs bringen.

Für Klassen, die als globale Gruppe gepflegt werden, ist genau das der schnellste Weg: Kurs und Klassenliste entstehen in einem Durchgang.

shortname,fullname,category_path,enrolment_1,enrolment_1_cohortidnumber,enrolment_1_role
BIO-7A,Biologie 7a,Sekundarstufe I / Naturwissenschaften,cohort,KL-7A,student
BIO-7B,Biologie 7b,Sekundarstufe I / Naturwissenschaften,cohort,KL-7B,student
  • enrolment_1_cohortidnumber ist Pflicht und meint die Globale Gruppen-ID, nicht den Namen der Gruppe. Sie steht in der Website-Administration unter Nutzer/innen → Globale Gruppen. Findet Moodle die Kennung nicht, meldet die Vorschau die Zeile als Fehler und legt den Kurs nicht an.
  • enrolment_1_role ist hier ebenfalls Pflicht. Moodle erkennt die Methode an der Kombination aus globaler Gruppe und Rolle, deshalb kann derselbe Kurs mehrere globale Gruppen mit verschiedenen Rollen führen.
  • enrolment_1_addtogroup steuert die Gruppe im Kurs: 0 legt keine an, 1 legt eine neue Gruppe mit dem Namen der globalen Gruppe an. Statt dessen nennt enrolment_1_groupname eine Gruppe, die es im Kurs schon gibt.
  • Bei der Meta-Einschreibung tritt an die Stelle der Kennung die Spalte enrolment_1_metacoursename mit dem kurzen Kursnamen des Kurses, aus dem die Teilnehmenden kommen.

Hinweis: Beide Methoden müssen dafür plattformweit eingeschaltet sein (Website-Administration → Plugins → Einschreibung → Übersicht). Globale Gruppe ist ab Werk aktiv, Meta-Einschreibung nicht. Bei abgeschaltetem Plugin legt der Upload die Methode zwar an, sie bleibt aber wirkungslos, bis das Plugin eingeschaltet wird.

Die Verbindung bleibt danach bestehen: Wer später aus der globalen Gruppe entfernt wird, verliert den Kurs wieder. Was dabei genau geschieht, steht in den Einstellungen des Plugins unter Externer Abmeldevorgang. Ab Werk wird die Person ausgetragen, wahlweise bleibt sie gesperrt im Kurs stehen. Wer Teilnehmende einzeln nachpflegen will, nimmt die manuelle Einschreibung dazu.

Modus beim Hochladen

Der Modus entscheidet, was mit Zeilen geschieht, deren kurzer Kursname es schon gibt.

Option Wirkung
Neue Kurse anlegen und vorhandene überspringen Der sichere Standardfall: bestehende Kurse bleiben unangetastet.
Alle Kurse anlegen, Kurznamen bei Bedarf inkrementieren Erzeugt bei Namensgleichheit BIO-7A_2. Nur in Sonderfällen sinnvoll.
Neue Kurse anlegen oder vorhandene aktualisieren Legt fehlende Kurse an und ändert vorhandene nach dem Aktualisierungsmodus.
Nur vorhandene Kurse aktualisieren Legt nichts Neues an. Geeignet für Sammeländerungen, z. B. neue Anfangsdaten zum Schuljahr.

Der Abschnitt „Importoptionen“ der Vorschauseite: Modus beim Hochladen steht auf „Neue Kurse anlegen oder vorhandene aktualisieren“, darunter Aktualisierungsmodus mit „Keine Änderung“ und die drei Auswahlfelder Löschung erlauben, Umbenennung erlauben und Zurücksetzen erlauben, alle auf Nein.

Sobald ein Modus das Aktualisieren erlaubt, erscheinen vier weitere Felder. Aktualisierungsmodus steht dabei auf Keine Änderung, solange Sie ihn nicht umstellen: Der Upload läuft dann durch, ohne etwas zu ändern.

  • Aktualisierungsmodus: Nur mit CSV-Daten aktualisieren übernimmt genau die Spalten der Datei. Mit CSV-Daten und Standardwerten aktualisieren überschreibt zusätzlich alles, was oben unter Standardwerte steht. Fehlende Angaben aus CSV-Daten und Standardwerten ergänzen füllt nur leere Felder und lässt Gesetztes stehen.
  • Löschung erlauben: lässt die Spalte delete zu, mit der eine Zeile ihren Kurs löscht.
  • Umbenennung erlauben: lässt die Spalte rename zu, die den kurzen Kursnamen ändert. Der bisherige Name steht dann in shortname, der neue in rename.
  • Zurücksetzen erlauben: lässt die Spalte reset zu, die den Kurs zurücksetzt und dabei Nutzerdaten entfernt.

Achtung: Löschung erlauben und Zurücksetzen erlauben wirken sofort und ohne Rückfrage auf jede Zeile, die die passende Spalte trägt. Moodle legt vorher keine Sicherung an. Lassen Sie beide auf Nein, solange Sie sie nicht wirklich brauchen.

Kurse aus einer Vorlage erzeugen

Auf der Vorschauseite steht unter Kurs-Prozess zweierlei, womit die neuen Kurse nicht leer bleiben:

  • Wiederherstellen dieses Kurses nach dem Upload: der kurze Kursname eines vorhandenen Kurses. Jeder neue Kurs bekommt dessen Inhalte.
  • Aus dieser Datei nach dem Upload wiederherstellen: dasselbe aus einer hochgeladenen Sicherungsdatei (.mbz).

Je Zeile geht das auch: die Spalte templatecourse nennt den Vorlagenkurs, backupfile den Pfad einer Sicherung. Übertragen werden dabei nur Inhalte, keine Nutzerdaten und keine Einschreibungen.

Tipps

  • Legen Sie die Kursbereiche an, bevor Sie hochladen. Ein Pfad, der sich nicht auflösen lässt, macht aus der Zeile einen Fehler statt einen Kurs.
  • Vergeben Sie kurze Kursnamen nach einem festen Schema, etwa Fachkürzel plus Klasse plus Schuljahr (BIO-7A-2627). Ohne das Schuljahr steht der Name im nächsten Jahr nicht mehr zur Verfügung.
  • Testen Sie jede neue Datei zuerst mit zwei, drei Zeilen. Die Vorschau meldet Fehler zwar zuverlässig, aber 60 versehentlich angelegte Kurse sind mühsam zu bereinigen.
  • Gelöschte Kurse sind weg, samt Beiträgen und Bewertungen. Zum Ausblenden nach Schuljahresende genügt Kurssichtbarkeit auf Verbergen.