Abschnittsübersicht


      • Täglicher Datenbank-Dump aus LSF
        • Aufbereitung der Daten via Skript, werden in externe Datenbank übertragen.
        • Mapping von Usern über ID aus LDAP

      • Tabellen in externer Datenbank für User / Kurse / Enrolments werden nach jedem Dump neu erzeugt, so dass der exakte Stand von LSF abgebildet wird.
      • Daten werden via "Moodle External Database Enrolment" in Moodle eingespielt.
        • Das External Database Enrolment läuft alle 24 Stunden.

      • Erzeugte Kurse sind initial unsichtbar, werden je nach Semester einer entsprechenden Kategorie zugeordnet.
        • Diese Zuordnung muss in den Einstellungen des Enrolments für jedes Semester angepasst werden.

      • Accounts werden bei Abwesenheit in Enrolment-Tabelle von den Moodle-Kursen abgemeldet.

      • Es findet keine Rückübermittlung an LSF statt, der Transfer geschieht nur in eine Richtung.

      • Die Buffer-Datenbank ist somit die "Source of Truth".
    • Moodle External Database Enrolment

      • Standard-Feature von Moodle ➡️ Markiert User als via External Database Enrolment erzeugt

      • Unterstützt zwei Entitäten

        • User
          • Erstellung / Update / Löschung / Sperrung
          • Einschreibung / Ausschreibung zu Kursen
          • Zuweisung einer Rolle
          • Update der externen Datenbank mit in Moodle geänderten Werten möglich

        • Kurse
          • Erstellung (optional: aus Template)
          • Hinzufügen zu Kategorie
          • Aktivieren / Deaktivieren von Einschreibung (optional: mit Rollenentfernung)
          • Update der externen Datenbank mit in Moodle geänderten Werten nicht möglich!

      • Enrolment-Aktionen geschehen bei Login.

      Notwendige / Empfohlene Tabellen-Felder:


      TABELLE: USER
      • user_name
      • id_number (optional)
      • email (optional)
      • password (optional)
      TABELLE: COURSE
      • short_name
      • id_number (optional)
      • full_name (optional)
      • category_id (optional)
      TABELLE: ENROLMENT
      • user_id_number
        • oder: user_name
      • course_id_number
        • oder: short_name
      • role_id (optional)