Drive-Abgleich und ZIP-Entpacken – Systembeschreibung

Start des Abgleichs Drive → Dokumentenzentrale und seine Hintergrundaufgabe sowie die Zeilenaktion zum ZIP-Entpacken mit ihrer stückweisen Hintergrundaufgabe.

Beide Funktionen laufen als Aufgaben in der Warteschlange: Der Drive-Abgleich erfasst die Ordner der Drive-Speicherregeln des Mandanten als Datensätze, das ZIP-Entpacken lädt die PDFs des Pakets über den gemeinsamen Dokumenteingang.

Datenmodell

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.

TabelleRolle
cron_queueZeilen doc_drive_sync, doc_zip_unpack, doc_recognise
Aufgabentabelle (Modell system/job)Erfassung der Abgleichsanfrage
docdie entstehenden Dokumente

Drive-Abgleich

  1. drivesync: Aufgabenzeile (addDocJob) und einmalige Warteschlangenzeile doc_drive_sync für den gewählten Mandanten (Super-Admin ohne Mandant: alle); die Antwort nennt die Zeilennummer und – bei Sichtbarkeit von system/job list – den Link zur Aufgabenliste.
  2. doc_drive_sync (auch stündlich, sofort per Schaltfläche): durchläuft die Ordner der Drive-Speicherregeln des/der Mandanten in voller Tiefe und legt für jede Datei ohne Datensatz einen mit document/document::addDoc() an (die Datei bleibt in Drive); Googles eigene Formate werden übersprungen; die Datei eines Dokuments im Papierkorb gilt als bekannt; stückweiser Lauf, am Ende eine Benachrichtigung.

ZIP-Entpacken

  1. unpackzip: nur Endung zip; bei einer ZIP in Drive über die Drive-ID, bei einer lokalen ZIP über eine temporäre Kopie (≤300 MB) wird eine Aufgabe doc_zip_unpack gestartet; wählbarer Zielstamm (Konto/Laufwerk/Ordner oder lokales Verzeichnis + Unterordner); die ZIP bleibt (keep_archive).
  2. doc_zip_unpack (einmalig; durch Upload oder Zeilenaktion gestartet): lädt im Zeitbudget Eintrag für Eintrag die PDF über das gemeinsame addDocument() mit der gewählten Speicherregel, reiht sie zur Erkennung ein und startet eine Aufgabe doc_recognise; der Rest läuft als neue Zeile weiter; am Ende wird die ZIP gelöscht (außer keep_archive); der Benutzer wird benachrichtigt.

Berechtigungen

  • drivesync (UNMAPPED, fehlt in der Katalogliste) + Core modify; eingeschränkte Benutzer müssen einen Mandanten wählen (error_drivesync_company), im Bereich.
  • unpackzip (UNMAPPED) + Core modify + Bereich.