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.
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.
http://<easydb>/studip/addcourse/<courseid>?name=<name>
Legt einen neue Kursmappe an oder aktualisiert den Namen einer existierende. Kursmappe.
"message": { "already_exists": …, "data": … }
http://<easydb>/studip/delcourse/<courseid>
Löscht die Kursmappe.
"message": "…"
http://<easydb>/studip/addgroup/<groupid>?name=<name>
Legt eine neue Gruppenmappe an oder aktualisiert den Namen einer existierenden Gruppenmappe.
"message": { "already_exists": …, "data": … }
http://<easydb>/studip/delgroup/<groupid>
Löscht die Gruppenmappe. Die Gruppe muss zu diesem Zeitpunkt in Stud.IP noch existieren.
"message": false
http://<easydb>/studip/getfolders
Listet alle Arbeitsmappen mit Stud.IP-Bezug auf.
"message": [
{
"name": …,
"course_id": …,
"groups": [
{
"name": …,
"group_id": …
}
…
]
}
…
]
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 |