Arbeitsablauf¶
Hier findest du ein typisches Setup mit einem Manager und einem Feldarbeiter als die zwei Hauptakteure, die mit QGIS bzw. QField interagieren.
sequenceDiagram
autonumber
actor Manager;
actor Feldarbeiter;
participant QGIS as QGIS (QFieldSync)
participant QField
participant API as QFieldCloud App
Manager-->API: Projekt Vorbereitung
activate Manager
Manager->>QGIS: Hochladen neuer/aktualisierter Dateien in ein Projekt
QGIS->>API: Upload QGIS Projektdateien
note right of API: Fügt `process_projectfile` Job in die Warteschlange ein
API->>QGIS: Rückgabe Erfolgsstatus
Manager-->API: Feldarbeit Aktivitäten
deactivate Manager
activate Feldarbeiter
Feldarbeiter->>QField: Öffnet QFieldCloud Projektliste
QField->>API: Anfrage der Projektliste
API->>QField: Ausgabe der Projektliste
Feldarbeiter->>QField: Öffnet ein QFieldCloud-Projekt aus der Liste
QField->>API: Anfrage ein Projektpaket zu erstellen
note right of API: Erstellt einer neuen `Paket`-Erstellung
API->>QField: Ausgabe der Daten aus der `Paket`-Erstellung
QField->>QField: Warten auf das Ende der `Paket`-Erstellung
QField->>API: Anfrage Projektdateien herunterzuladen
API->>QField: Heruntergeladene Dateien
QField->>QField: QField Projekt wird geöffnet
Feldarbeiter->>QField: Ändert ein Objekt in einem Nicht-Online Layer
QField->>QField: Speichert Objekt in der lokalen Datenquelle <br> und erzeugt ein Delta
Feldarbeiter->>QField: Drückt "Änderungen vornehmen"
QField->>API: Sendet die Deltas
note right of API: Erzeugt einen neuen `apply_deltas` Vorgang
API->>QField: Gibt die erzeugte `apply_deltas` Vorgangs-ID aus
QField->>QField: Leert die lokalen Deltas <br> und wartet auf neue Veränderungen
Manager-->API: Gesammelte Daten herunterladen
deactivate Feldarbeiter
activate Manager
note over Manager, API: Warte einige Zeit, bis der Vorgang `apply_delta` beendet ist
Manager->>QGIS: Gesammelte Daten herunterladen
QGIS->>API: Projektdatenliste abrufen
API->>QGIS: Ausgabe Projektdateienliste
QGIS->>QGIS: Erkennt geänderte Dateien <br> und schlägt eine Synchronisierung vor
loop [Herunterladen veränderter Projektdateien]
QGIS->>API: Anfrage Datei herunterzuladen
API->>QGIS: Datei herunterladen
end
deactivate Manager