Wie Omniscol funktioniert — eine API, eine einzige Quelle der Wahrheit

Einige Punkte zur Bauweise von Omniscol sollten Sie kennen, bevor Sie es anbinden — sie erklären, warum die API so vollständig ist, wie sich die Oberfläche an jeden Benutzer anpasst, und einen Datenschutzpunkt, den Sie im Blick behalten sollten.

Eine einzige Anwendung auf einer einzigen API

Omniscol läuft als einzige Webanwendung in Ihrem Browser. Jeder Bildschirm, jede Schaltfläche und jede Tabelle wird durch Aufruf der öffentlichen API von Omniscol gezeichnet — dieselbe API, die Sie selbst aufrufen können, dokumentiert in der interaktiven API-Referenz von Omniscol, der Seite Entwickler (omniscol.com/de/developers). Es gibt keine versteckte, „echte" API hinter derjenigen, die Sie anbinden: Was die Oberfläche verwendet, ist das, was Sie erhalten. Einige Operationen gehen in die andere Richtung — für die Integration angeboten, aber von der Anwendung selbst nicht genutzt —: zum Beispiel die Endpunkte für erweiterte Suche und Entitätsauflösung (für einen KI-Agenten über MCP gedacht) oder diejenigen, die einem externen System erlauben, Omniscol zu speisen (ein ETL, das eine externe Datenbank synchron hält).

operationId — ein Schlüssel, eine einzige Quelle der Wahrheit

Jede Operation ist ein Paar aus Methode + URL (zum Beispiel GET /api/schedules/lessons/{datesrange}), und jede trägt einen stabilen Bezeichner: ihre operationId (hier os_schedules_dates_get). Der Name ist strukturiert: os (Omniscol), dann das Modul (schedules), dann das, worauf die Operation wirkt (dates — manchmal mehrere durch Bindestriche verbundene Segmente), und immer die HTTP-Methode zuletzt (get, post, put, delete). Diesen einen Schlüssel verwendet Omniscol überall — um die Operation auf der Seite Entwickler zu benennen, um das passende MCP-Werkzeug zu bauen und um sie aus einer API-Anpassung oder aus dieser Hilfe heraus zu bezeichnen. Einmal definiert, hält er alle Oberflächen synchron: Dokumentation, Werkzeuge und Oberfläche können nicht auseinanderdriften, da sie alle dieselbe Definition lesen.

Die Oberfläche folgt Ihren Rechten

Ein grafisches Element mit einer Aktion — eine Schaltfläche, ein Reiter, ein Menüeintrag — erscheint nur, wenn die dahinterliegende Operation für Sie zugänglich ist. Das hängt von Ihrer Rolle und Ihren benutzerdefinierte Rollen ab (siehe Benutzer und Rollen) sowie von Ihrem Tarif und Ihren Optionen (siehe Omniscol-Pläne und -Optionen). Ändern Sie eines dieser Elemente, und die Oberfläche setzt sich neu zusammen: Elemente, ja ganze Module, erscheinen oder verschwinden entsprechend.

Dasselbe Prinzip gilt über Ihre persönlichen Rechte hinaus. Die IT-Abteilung kann bestimmte Operationen durch eine API-Anpassung deaktivieren, und die entsprechenden Elemente verschwinden aus der Oberfläche (siehe API-Anpassung). Dasselbe gilt, wenn ein Datenbestand durch eine externe Synchronisation aktuell gehalten wird: Seine lokale Erstellung und Bearbeitung können deaktiviert werden, und die zugehörigen Bedienelemente weichen dann der Synchronisation (siehe Synchronisierung mit externen Systemen).

Deshalb hat Omniscol kein separates Portal für Schüler oder Lehrkräfte. Es gibt eine einzige Anwendung; jede Person sieht die Oberfläche auf ihre eigenen Rechte abgestimmt — ein Schüler, eine Lehrkraft, ein Administrator und der Inhaber einer benutzerdefinierten Rolle erhalten genau die Operationen, zu denen sie berechtigt sind, und nichts anderes.

Die Oberfläche ist ein Komfort, nicht der Riegel

Da die Oberfläche von Ihren Rechten gesteuert wird, könnte man versucht sein, eine verborgene Schaltfläche für eine Sicherheitsgrenze zu halten. Das ist sie nicht. Jeder Aufruf wird auf dem Server erneut geprüft — anhand Ihrer Identität und Ihrer Rechte; eine Operation, zu der Sie nicht berechtigt sind, wird dort abgelehnt, was auch immer die Oberfläche anzeigt. Die Oberfläche passt sich der Klarheit und dem Komfort halber an; die eigentliche Grenze wird serverseitig bei jeder Anfrage durchgesetzt.

Ein API-Token oder ein Freigabelink ist auf eine Menge von Operationen beschränkt — diejenigen, die Sie bei der Erstellung autorisieren. Der Server setzt diese Beschränkung bei jedem Aufruf durch, genau wie für einen angemeldeten Benutzer. Ein Freigabelink, ein Token und eine Person in der Oberfläche sind drei Wege zu derselben rechtegeprüften API — niemals eine Hintertür, die sie umgeht.

Eine Verbindungsunterbrechung überbrücken

Da jeder Bildschirm die API liest, kann Omniscol die bereits erhaltenen Antworten auch in Ihrem Browser aufbewahren, damit ein kurzer Netzwerkausfall Ihr Lesen nicht unterbricht. Diese lokale Kopie liegt in seiner Datenbank (IndexedDB), neben dem gewöhnlichen Seiten-Cache des Browsers. Es ist ein Lese-Cache: Fällt die Verbindung aus, sehen Sie weiterhin, was Sie bereits geöffnet hatten. Er stellt Ihre Änderungen nicht in eine Warteschlange und spielt sie nicht wieder ein — eine Änderung geht immer über den Server.

Diese lokale Kopie beruht auf Ihrer Zustimmung. Beim ersten Mal auf einem Browser fragt Omniscol, ob Sie ihm vertrauen; die Kopie beginnt, sobald Sie zugestimmt haben. Der Eintrag Offline-Cache im Benutzermenü aktiviert sie oder löscht sie danach jederzeit — ein Häkchen zeigt an, dass sie aktiv ist.

Zwei Dinge, die man wissen sollte:

  • Persönliche Daten bleiben ausgeschlossen. Nur erfolgreiche Lesevorgänge werden aufbewahrt; Antworten, die der Server als nicht speicherbar kennzeichnet (Sitzungs- und Authentifizierungsdaten), werden niemals zwischengespeichert, und aus dem, was zwischengespeichert wird, entfernt die Software die Kontaktdaten der Personen — E-Mail, Telefon, Geburtsdatum, Login, Kennnummer, Passwortstatus — und entfernt Administratorkonten vollständig. Die lokale Kopie enthält gewöhnliche Arbeitsdaten, nicht das namentliche Verzeichnis.
  • An einem gemeinsam genutzten Rechner sollten Sie ein privates Fenster (Inkognito) bevorzugen. Das Abmelden löscht diese lokale Kopie nicht (auch nicht den normalen Browser-Cache); ein privates Fenster verwirft beide beim Schließen. Das ist die Sorgfalt, die jede Webanwendung auf einem Rechner verdient, den Sie nicht kontrollieren.

Siehe auch