-
Notifications
You must be signed in to change notification settings - Fork 0
Programmstruktur
Es gibt zwei Typen der API eine AJAX API, welche mit Sessions arbeitet und eine RESTful API, welche den Authentifikationscode aus Authentifikationslinks nutzt.
Die URL für einen Request ist wie folgt aufgebaut:
https://<<notes-url>>/[rest/ajax].php?<<task>>
https://notes.example.com/rest.php?auth
https://notes.example.com/ajax.php?login
Jeder Task bestimmt weitere (POST-)Parameter, bei denen auch die Reihenfolge definiert ist. Die meisten Tasks (inkl. Parameter) sind für REST und AJAX gleich.
Task | ajax.php |
rest.php |
Beschreibung |
---|---|---|---|
login |
✔ | ✘ | Session erstellen (User einloggen), User ausloggen, Status abfragen |
auth |
✘ | ✔ | Authcode erstellen, UserID bestimmen |
list |
✔ | ✔ | Liste lesen und bearbeiten, Notizarchiv |
view |
✔ | ✔ | Datei lesen und schreiben, Verlauf, Freigaben bearbeiten |
admin |
✔ | ✔ | User hinzufügen und löschen |
account |
✔ | ✔ | Authcode erstellen und löschen, Passwort ändern |
share |
✔ | ✘ | Inhalt der Freigaben lesen und schreiben (RESTful, trotzdem ajax.php ) |
Bei Anfragen an die REST API muss immer die UserID und ein Authcode angegeben werden (Ausnahme in auth
).
Bei Anfragen an die AJAX API müssen Cookies korrekt behandelt werden und weiterhin hat die Session eine Lebensdauer.
ToDo: Für jeden Task die Parameter und Ausgaben genau angeben!
Die WebApp ist in JavaScript geschrieben und besteht grob gesagt aus drei Teilen.
- Login
- Freigaben erkennen
- Authentifikationslinks und Sessions erkennen
- REST oder AJAX API wählen
- Login mit Loginformular durchführen
- Logout Button anzeigen und mit Leben füllen
- Notizliste
- Liste der Notizen
- Neue Notizen erstellen
- Notes
- Notizen lesen und schreiben
- Freigabe
- Verlauf
Weiterhin gibt es:
- Account-Manager
- Passwort ändern
- Authentifikationslinks verwalten
- Admin-Dialog
- User erstellen und löschen
- Notizarchiv
- Erlaubt es gelöscht (archivierte) Notizen wiederzuholen.
- Freigaben
- Präsentiert dem User die Freigaben
- Offline-Manager
- Speichert die Offline-Änderungen an Notizen und lädt sie sobald wie möglich hoch.
ToDo: Die Funktionsweisen des System und sein JS-Dateien weiter erklären sowie Hauptfunktionen nennen.
Allgemein erfragt die App Servername und die Logindaten und erstellt mit diesen einen Authentifikationslink. Anschließend wird über ein WebView Element KIMB-Notes geladen, wobei der Authentifikationslink übergeben wird.
ToDo