Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

offline #434

Open
barbalex opened this issue Jan 15, 2021 · 0 comments
Open

offline #434

barbalex opened this issue Jan 15, 2021 · 0 comments

Comments

@barbalex
Copy link
Owner

barbalex commented Jan 15, 2021

Ziel

Ähnlich vermehrung.ch, d.h. offline-fähige Web-App

Setzt voraus: mobile-first (#435).

Nur online verfügbar blieben:

  • Karten (könnten in einem zweiten Schritt offline fähig gemacht werden)
  • Dateien (könnten in einem zweiten Schritt offline fähig gemacht werden)
  • Beobachtungen (zumindest die nicht zugeordneten)
  • Ab- und Anmelden
  • Diejenigen Auswertungen, Berichte und Exporte, welche so komplex sind, dass dafür die Server-Datenbank benötigt wird. Wird sich noch zeigen, welche das sind. Vorerst werden vermutlich alle nur online verfügbar sein

Vorteile

  • Es kann zuverlässig direkt im Feld gearbeitet werden
  • Konflikte, die durch parallele Bearbeitung gleicher Datensätze entstanden, können transparent gelöst werden
  • Wenn online: live-Aktualisierung aller Daten
  • Schnellerer Aufruf von Daten (nach erfolgter Erst-Synchronisierung)

Nachteile

  • Sehr aufwändige Einführung (hoher Programmieraufwand)
  • Längere Ladezeiten, wenn neu angemeldet wird (alle Daten werden heruntergeladen)
  • Höhere Anforderungen an den Client (Browser der Benutzer). Nach den guten Erfahrungen mit vermehrung.ch sollte das aber auf +- modernen Geräten kaum spürbar sein
  • künftige Anpassungen der Datenstruktur sind aufwändiger (Migrationen müssen programmiert werden)

Vorgehen

  1. Mobile-first einführen
  2. Datenstruktur anpassen
  3. App offline-fähig neu aufbauen
  4. Konflikte und historische Versionen anzeigen, inkl. Wiederherstellungs-Funktion

Technologie

Als Basis werden Conflict-free Replicated Data Types verwendet, aufbauend auf sqlite auf wasm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants