Skip to content
This repository has been archived by the owner on Apr 25, 2022. It is now read-only.

Programmstruktur

KIMB-technologies edited this page Jan 7, 2018 · 12 revisions

Server API

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!

WebApp

Die WebApp ist in JavaScript geschrieben und besteht grob gesagt aus drei Teilen.

  1. 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
  2. Notizliste
    • Liste der Notizen
    • Neue Notizen erstellen
  3. 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.

Globale Funktionen und Varibalen

ToDo: Die Funktionsweisen des System und sein JS-Dateien weiter erklären sowie Hauptfunktionen nennen.

Desktop-Application

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