Stud.IP

Das Stud.IP-Modul stellt eine HTTP-Schnittstelle zur Interaktion mit den easydb-Arbeitsmappen zur Verfügung. Dazu wird auch eine Verbindung zur Stud.IP-MySQL-Datenbank benötigt. Teilweise überschneidet sich die Konfiguration mit dem Stud.IP-Login-Modul.

HTTP-Schnittstelle

Der Rückgabewert der Aufrufe ist immer JSON. Im Fehlerfall wird gibt es ein Objekt der Art:

{ "status": "failure", "error": … }

Im Erfolgsfall sieht das Objekt so aus ("message" wird bei den einzelnen Aufrufen beschrieben, "additional" ist momentan nicht benutzt):

{ "status": "success", "message": …, "additional": … }

Nach jedem Aufruf werden die Rechte synchronisiert.

Anlegen von Kursmappen

http://<easydb>/studip/addcourse/<courseid>?name=<name>

Legt einen neue Kursmappe an oder aktualisiert den Namen einer existierende. Kursmappe.

"message": { "already_exists": …, "data": … }

Löschen von Kursmappen

http://<easydb>/studip/delcourse/<courseid>

Löscht die Kursmappe.

"message": "…"

Anlegen von Gruppenmappen

http://<easydb>/studip/addgroup/<groupid>?name=<name>

Legt eine neue Gruppenmappe an oder aktualisiert den Namen einer existierenden Gruppenmappe.

"message": { "already_exists": …, "data": … }

Löschen von Gruppenmappen

http://<easydb>/studip/delgroup/<groupid>

Löscht die Gruppenmappe. Die Gruppe muss zu diesem Zeitpunkt in Stud.IP noch existieren.

"message": false

Auflisten der existierenden Mappen

http://<easydb>/studip/getfolders

Listet alle Arbeitsmappen mit Stud.IP-Bezug auf.

"message": [
  {
    "name": …,
    "course_id": …,
    "groups": [
      {
        "name": …,
        "group_id": …
      }
      …
    ]
  }
  …
]

Konfiguration

Variable Vorgabewert Beschreibung
STUDIP_DB_DSN - Datenbank-Verbindung
STUDIP_DB_USERNAME - Datenbank-User
STUDIP_DB_PASSWORD - Datenbank-Passwort
Variablen mit Vorgabewerten, sollten nur bei Änderung der easydb angepasst werden müssen:
STUDIP_REQUEST_PERM admin,root Stud.IP-Rechte, die für die HTTP-Schnittstelle nitwendig sind (Inhaber des easydb-Systemrechts ADMIN sind immer zugelassen)
STUDIP_PRIMARY_GROUP_NAME studip easydb-Gruppenname für aktive Kurse
STUDIP_ARCHIVE_GROUP_NAME studip-Archiv easydb-Gruppenname für archivierte Kurse
STUDIP_MAP_TABLE studipcourses Mapping-Tabelle (easydb)
STUDIP_MAP_COL_NAME name Namensspalte
STUDIP_MAP_COL_COURSE seminar_id Kurs-ID-Spalte
STUDIP_MAP_COL_GROUP statusgruppe_id Gruppen-ID-Spalte
STUDIP_WF_COL_MAPLINK lk_studipcourse_id Link-Spalte aus den Arbeitsmappen auf die Mapping-Tabelle