Dokumentum feltöltése – rendszerleírás
A feltöltés útjai (normál, darabolt, nagy állomány, közvetlen Drive), a tárhely-cél feloldása, a tartalom-duplikátum kezelése és a feltöltés utáni háttérfeladatok.
A feltöltés a dokumentumtár mentő végpontján (FormData) és több kiegészítő végponton fut. A cél tárhelyet a cég objektum-tárhely szabálya adja, ha nincs explicit cél; a fájl után típus, címkék, megosztás, objektum-kötés és háttérfeladatok következnek.
Adatmodell
A táblanevek a telepítés saját előtagjával állnak az adatbázisban.
| Tábla | Szerep |
|---|---|
doc, doc_location | rekord és elhelyezések |
doc_link, label_link, doc_share_item | objektum-, címke-, megosztás-kötések |
cron_queue | doc_text, doc_recognise, doc_zip_unpack jobok |
upload_session | nagy és közvetlen Drive-feltöltés munkamenete (tulajdonos: a telefon-mentés modell) |
Folyamat
- Üres POST és üres fájl esetén
post_max_size-hiba. Kötelező client cég a hatókörben (error_company). - Cél: explicit választás, vagy a cég szabálya (
getObjStorage(object_type | document)); gdrive-célnál a cég bekötött fiókja/meghajtója kényszerített; távoli célnál kötelező mappa (error_storage_configuration); fiók-hatókör (storageAccountAllowed,getAllowedStorageAccountIds). - Több fájl egy menetben; tartalom-duplikátum (SHA-256 + méret) ugyanarra a helyre: kihagyva; más mappába: új elhelyezés (shortcut), egy fizikai példány.
- Számla-csomag ZIP (csak PDF, ≤2000 tétel, ≤300 MB, átmeneti ZIP-ek együtt ≤1 GB) →
doc_zip_unpackjob. - Utána: típus (
doc_role), címkék, opcionális megosztási mappa, objektum-kötés minden dokumentumra (addDocLink; a válasz jelzi: új kötés vagy már kötve), PDF-néldoc_textjob; nem objektumhoz szóló, nem nem-számla típusnál felismerési sor ésdoc_recognisejob; számla-objektumhoz feltöltött képnél az üres számlamezők kitöltése (autoFillInvoiceFromUpload: szöveg, OCR, kiolvasás,fillEmptyFromDocument); thumbnail. - Darabolt:
uploadchunk. Nagy állomány:largeinit/largechunk/largestatus– szerver-oldali munkamenet (azonosító, offset, a végén méret + SHA-256), szabad-hely előellenőrzés. - Közvetlen Drive:
drivesession/drivestatus/drivedone– Google resumable munkamenet (csak gdrive); a lezárás a Drive-tól visszakérdezi a méretet és a szülő-mappát, csak egyezésnél születik rekord.
Beállítások és jogok
- Beállítás: a feltöltési mód (
upload_mode) és a közvetlen feltöltés küszöbe (upload_direct_min_mb) a modul-beállításokban; a módválasztó csakusermódnál ésuploadmodejoggal készül el. - Funkciójogok: mentés
canSave(document, 0)(azaddnincs a katalógusban; a Hozzáadás gombedit-hez kötött), a darabolt/nagy/Drive végpontokonedit,uploadmode. - Hibakódok:
error_file,error_file_size,error_large_*,error_drive_*.