AnsweredAssumed Answered

Best practices per personalizzazione/sviluppo

Question asked by nidroide on Nov 17, 2014
Latest reply on Nov 18, 2014 by nidroide
Salve a tutti,

dopo aver utilizzato alfresco per quasi un anno nella sua forma "base" per la gestione documentale (con l'aggiunta di tipi ed aspetti custom) vorremo iniziare a personalizzarlo e strutturarlo in modo da semplificarne l'utilizzo. Attualmente gli utenti operano direttamente con le funzionalità esposte da share, quindi creano cartelle, caricano files, ne cambiano il tipo, aggiungono gli aspetti, modificano le proprietà etc.
Quello che vorremmo ottenere è un'insieme di pagine/form personalizzate e strutturate in un menu in modo da simulare una classica web app (inserisci documento di tipo xxx, ricerca documento di tipo xxx, etc.), le form customizzate e le relative action dovrebbero curare in automatico il change type e l'aggiunta di aspetti, l'avvio di workflow, la gestione di campi che derivano dalla profilatura dell'utente (ad esempio combobox che fa scegliere un'ufficio tra quelli presenti in organigramma di pertinenza dell'utente, combobox per la scelta del responsabile etc.). All'utente, inoltre, bisognerebbe nascondere/inibire gli strumenti di share per poter manipolare la base documentale senza controllo.

Allo stesso tempo vorremmo poter gestire in futuro altri aspetti applicativi più o meno legati al documento in se, ad esempio l'assegnazione di un progressivo numerico automatico (a mo' di protocollo), gestire tabelle di database ai cui record sono allacciati documenti e cartelle, produrre report, effettuare calcoli di varia natura sui metadati, etc.

Mi sapete dunque dare qualche consiglio su come procedere possibilmente usando strumenti di alto livello (evitando di sviluppare in java)? per il momento stiamo sperimentando i web script per la generazione di form e l'upload di documenti, ma la presentazione non è integrata con share, come procedere?

Approfitto con l'occasione anche per affrontare un tema a carattere più generale, ho notato che un diverso approccio per lo sviluppo di applicazioni, ove la gestione del documento è più o meno centrale, consiste nell'utilizzare alfresco (o un qualsiasi altro documentale) solo come "contenitore puro" e sviluppare applicativi esterni indipendenti (che interrogano il documentale via cmis) per la gestione dei metadati (in un proprio db) e per l'implementazione della logica applicativa. Questo approccio evidenzia pro e contro di varia natura (evitando tra l'altro di customizzare un sistema già di per se molto complesso) ma di sicuro tende a frammentare la gestione dei metadati, complicando l'integrazione in uno scenario dove più applicazioni collaborano per la gestione di processi di una certa complessità.
Una possibile soluzione potrebbe consistere nel gestire i metadati di carattere generale nel documentale e quelli di pertinenza specifica negli applicativi esterni ma non risolve del tutto il problema.

In base alla vostra esperienza quale è il modo migliore di procedere?

grazie

   Nico

Outcomes