Docbricks e' la piattaforma documentale componibile di Objlab, costruita sopra
Alfresco Content Services (Community Edition) e consumata via REST API: il core
Alfresco non viene modificato, gira in container e viene orchestrato da un gateway
applicativo Objlab (.NET) con un'interfaccia web (Angular) che si compone dai
moduli attivi.
Il principio e' la componibilita': la piattaforma e' fatta di "mattoncini"
(moduli) che si accendono o spengono per cliente, e di profili di dominio
dichiarativi che adattano metadati, stati e ciclo di vita dei documenti al
settore, senza duplicare il codice. Oggi sono presenti due domini reali
(farmaceutico/GxP e societa' di ingegneria) e profili generici (DMS,
manifatturiero).
Cosa fa
| Modulo / brick | A cosa serve |
|---|---|
| Documenti Controllati | Cockpit documenti: navigazione, stati del ciclo di vita, ricerca, upload, versioni |
| Workflow di approvazione | Ciclo a stati con firma elettronica (chi/quando/significato); gli stati vengono dal descrittore di dominio |
| Audit trail | Tracciamento nativo Alfresco chi/cosa/quando su ogni documento |
| Watermark PDF | Timbra i PDF scaricati (es. "UNCONTROLLED COPY WHEN PRINTED") |
| Log Archive | Archivio ricercabile full-text con retention (conservazione fino a scadenza, legal hold, purge) |
| Data Quality | Ispezione di PDF/XLSX/JSON/Word/TXT prima dell'import: preview e controlli |
| Import / Export | Protocolli nativi Alfresco (CMIS, FTP, IMAP) con test live ed export di una cartella in ZIP |
| Data Connectors | Sorgenti SQL esposte come REST/OData per Power BI e Qlik |
| Flussi Import/Export | Ponte tra gestionale e Alfresco: importa righe SQL come documenti, esporta documenti |
| Analytics | KPI del repository e feed attivita' |
| Onboarding & Admin | Wizard di composizione app, profili cliente e gestione moduli (moduli core sempre attivi) |
Funzionalita' chiave
- Profili di dominio dichiarativi: il ciclo di vita e' una tabella di transizioni (stato di partenza, input richiesti, effetti). Il farmaceutico ha un ciclo lineare (bozza > in revisione > approvato > efficace > obsoleto) sulla SOP; l'ingegneria ha due entita' distinte, commessa (cartella) e disegno tecnico (file), con cicli ad anello e indice di revisione.
- Firma elettronica tracciata sul workflow: ogni approvazione o rifiuto registra firmatario, data e significato della firma, in analogia ai principi 21 CFR Part 11. E' implementata sui metadati Alfresco (non e' una firma crittografica PAdES).
- Retention e legal hold operativi: conservazione fino a scadenza, blocco legale che impedisce la cancellazione, job automatico opzionale (default spento, con modalita' di sola simulazione). La cancellazione va nel cestino ed e' recuperabile.
- Autenticazione pass-through: l'utente accede con le proprie credenziali Alfresco; il gateway agisce col ticket dell'utente, quindi permessi e audit sono quelli reali di Alfresco. Sessione in cookie HttpOnly.
- Integrazione dati e BI: sorgenti SQL pubblicate come endpoint REST/OData, flussi bidirezionali tra gestionale e documentale.
Architettura
Tre livelli disaccoppiati:
- Frontend: SPA Angular che si compone dai moduli attivi (manifest-driven).
- Gateway Objlab: Web API .NET che incapsula le REST API di Alfresco, ospita i moduli (workflow, retention, data connector, watermark) e i descrittori di dominio.
- Core Alfresco: Alfresco Content Services Community (repository Java su Tomcat) + PostgreSQL (metadati) + Solr (ricerca) + ActiveMQ + Transform Service + content store. Come repository si usa Alfresco Governance Services Community, per file plan e retention a norma.
Il gateway parla ad Alfresco solo via HTTP/REST: il core resta standard e
aggiornabile. La stessa piattaforma gira su Alfresco Enterprise quando servono
alta disponibilita', storage cloud o supporto con SLA.
Requisiti
- Ambiente container (Podman o Docker) per lo stack Alfresco; runtime .NET per il gateway e Node/Angular per il frontend.
- Alfresco Content Services Community (testato su release 26.x) con i suoi componenti (PostgreSQL, Solr, ActiveMQ, Transform).
- Deploy attuale via Compose (adatto a PoC/pilota); per la produzione va previsto un percorso di hardening e orchestrazione.
