Sablonalapú dokumentumgenerálás — új igény a Dokumentumkezelés közösségben
A KözKód Dokumentumkezelés közösségében konkrét igény fogalmazódott meg: szükség van egy rendszerre, amely sablonok alapján állít elő dokumentumokat. Fontos a pontosítás — nem öncélúan dokumentum-sablonokat kezelünk, hanem kész dokumentumokat generálunk előre elkészített, karbantartott sablonokból.
Ez a cikk a felvezetés: a célt és az alapokat rögzíti. A részletes koncepciót a következő lépésben dolgozzuk ki közösen.
Mit csinál a rendszer
- Sablonok kezelése — sablonokat lehet feltölteni, létrehozni és verziózni.
- Dokumentumgenerálás — a sablonokból, adatokkal kitöltve, kész dokumentumok készülnek.
- Életciklus — megtekintés, szerkesztés, generálás, archiválás.
Felépítés: backend és webes felület
A rendszernek két fő része van:
- egy backend, amely a sablonokat tárolja, verziózza és a generálást végzi,
- egy webes felület (frontend), ahol a felhasználók a sablonokkal dolgoznak.
A sablonok feltöltése, létrehozása és verziózása jogosultsághoz kötött, ezért a felület elé egy belépési (SSO) réteget építünk. Az első körben ez egy egyszerűbb megoldás lesz. Magát az SSO-réteget egy külön közösségben dolgozzuk ki és finomítjuk, azzal a céllal, hogy újrafelhasználható legyen, és integrálható az intézményi rendszerekkel.
Projektek, szerepek és jogosultságok
A rendszer projektekre tagolódik:
- minden projektnek vannak felelősei (projektgazdák) és karbantartói,
- egy felhasználó több projektet is láthat,
- a hozzáférés projektenként, differenciált jogosultságokkal szabályozott.
A sablonokat projektenként, verziózva kezeljük. A jogosultságoktól függően egy felhasználó például megtekintheti, szerkesztheti, generálhatja vagy archiválhatja a sablonokat. A jogosultsági szintek pontos készletét a koncepció kidolgozásakor, közösen véglegesítjük.
Gépi hozzáférés: nemcsak felületről
A dokumentumgenerálás nem csak a webes felületről érhető el — a rendszer ezt a szolgáltatást más rendszerek felé is biztosítja, többféle csatornán:
- SOAP (WSDL) alapon,
- REST API alapon,
- akár fájlcsere-mechanizmuson keresztül is.
Ebben az esetben a rendszer nem egy felhasználó nevében lép be. Helyette a hívó rendszer egy tanúsítvánnyal azonosítja magát, amelyet időről időre megújít vagy újragenerál.
A tanúsítványok kezelése a projektgazda hatáskörébe tartozik. Egy tanúsítvány egy adott projekthez ad hozzáférést — ha egy külső rendszernek több projektre van szüksége, ahhoz projektenként külön tanúsítvány szükséges. A projektgazda kulcsot/tanúsítványt generál, ezt átadja a külső rendszernek, amely ezzel azonosítja magát a megfelelő végpontokon, és 30 naponta megújítja.
A következő lépés
Ez a felvezetés a célt és az alapokat rögzíti. A részletes koncepción — a jogosultsági szinteken, a sablon-életcikluson, a verziózáson és a gépi hozzáférés szabályain — közösen dolgozunk tovább. Aki szívesen bekapcsolódna, ötletelne vagy kérdezne, várjuk a Dokumentumkezelés közösség felületein és a hozzá tartozó Discord-csatornán.
