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.
| Tabelle | Rolle |
|---|---|
cron_queue | Zeilen doc_drive_sync, doc_zip_unpack, doc_recognise |
Aufgabentabelle (Modell system/job) | Erfassung der Abgleichsanfrage |
doc | die entstehenden Dokumente |
Drive-Abgleich
drivesync: Aufgabenzeile (addDocJob) und einmalige Warteschlangenzeiledoc_drive_syncfür den gewählten Mandanten (Super-Admin ohne Mandant: alle); die Antwort nennt die Zeilennummer und – bei Sichtbarkeit vonsystem/joblist– den Link zur Aufgabenliste.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 mitdocument/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
unpackzip: nur Endungzip; bei einer ZIP in Drive über die Drive-ID, bei einer lokalen ZIP über eine temporäre Kopie (≤300 MB) wird eine Aufgabedoc_zip_unpackgestartet; wählbarer Zielstamm (Konto/Laufwerk/Ordner oder lokales Verzeichnis + Unterordner); die ZIP bleibt (keep_archive).doc_zip_unpack(einmalig; durch Upload oder Zeilenaktion gestartet): lädt im Zeitbudget Eintrag für Eintrag die PDF über das gemeinsameaddDocument()mit der gewählten Speicherregel, reiht sie zur Erkennung ein und startet eine Aufgabedoc_recognise; der Rest läuft als neue Zeile weiter; am Ende wird die ZIP gelöscht (außerkeep_archive); der Benutzer wird benachrichtigt.
Berechtigungen
drivesync(UNMAPPED, fehlt in der Katalogliste) + Coremodify; eingeschränkte Benutzer müssen einen Mandanten wählen (error_drivesync_company), im Bereich.unpackzip(UNMAPPED) + Coremodify+ Bereich.