Sviluppo modulo custom

cancel
Showing results for 
Search instead for 
Did you mean: 
andreamac
Member II

Sviluppo modulo custom

Un saluto alla comunità, dalla domanda che faccio potete dedurre il mio livello di esperienza con questo software,beh spero vogliate darmi qualche info.
Mi stavo documentando sulle modalità di sviluppo in Alfresco, la mia esigenza è capire se è possibile sviluppare un modulo, o qualcosa che mi risolva questo problema:
nel nostro lavoro abbiamo la necessità di archiviare numerosi documenti relativi a pratiche verso persone o società. Questi documenti sono di vario genere: pdf, jpg, doc. Quando si avvia una pratica si apre una posizione di lavoro (che in Alfresco potrebbe essere un nuovo sito) e diverse persone del mio team devono archiviare note o appunti sul proseguo dei lavori.
Il fatto è che sarebbe necessario poter costruire un'anagrafica contenente le informazioni del cliente, al quale associare le pratiche.
Mi sembra che con gli aspetti si possano dare dei metadati ai doc, ma non penso che sia la soluzione.
Sarebbe possibile fare una anagrafica di questo tipo, associata ai siti e documenti?
Eventualmente mi potreste indicare su quale componente di sviluppo poterlo fare? webscript, spring surf, o che?

Grazie
Andrea
5 Replies
openpj
Moderator
Moderator

Re: Sviluppo modulo custom

Quando si avvia una pratica si apre una posizione di lavoro (che in Alfresco potrebbe essere un nuovo sito) e diverse persone del mio team devono archiviare note o appunti sul proseguo dei lavori.
Mi sembra esagerato aprire un sito per ogni pratica, in Alfresco è possibile aprire una discussion anche sul singolo contenuto. Io gestirei ogni pratica come uno spazio al cui interno andare ad inserire tutti i contenuti necessari per far andare avanti la pratica.

Altra soluzione potrebbe essere quella di far partire un workflow su tutti i contenuti della pratica ed inserire tutti i moderatori all'interno del workflow. In questo modo si può utilizzare il motore del workflow per monitorare l'avanzamento.

Ulteriore soluzione potrebbe essere quella di utilizzare le regole di Alfresco applicate sugli spazi che consentono di creare dei workflow incentrati sui contenuti, in questo caso sulla pratica, che permette di definire per ogni stato del workflow uno space di uscita e/o di entrata per un'ulteriore regola.

Ogni regola permette di definire un insieme di azioni (trasforma, manda mail, elabora metadati, etc..), considera anche che è possibile scrivere attraverso la Javascript API di Alfresco delle regole di back-end che poi possono essere processate direttamente dal motore delle regole attraverso l'azione "Esegui script".

Il fatto è che sarebbe necessario poter costruire un'anagrafica contenente le informazioni del cliente, al quale associare le pratiche.
Perfetto, puoi strutturare un sotto albero di spazi di Alfresco dedicati proprio alla gestione dell'anagrafica di tutti i clienti.

Mi sembra che con gli aspetti si possano dare dei metadati ai doc, ma non penso che sia la soluzione.
Gli aspetti consentono di decorare i nodi dei contenuti aggiungendo o rimuovendo un insieme di metadati o associazioni, potrebbe essere utile utilizzarli ma non è grazie agli aspetti che puoi creare un workflow. Puoi fare in modo ad esempio di far partire una regola solo se sul contenuto ad esempio è applicato un certo aspetto, in questo modo potresti taggare con un aspetto i contenuti che devono essere processati dal workflow.

Eventualmente mi potreste indicare su quale componente di sviluppo poterlo fare? webscript, spring surf, o che?
Secondo me te la puoi cavare anche senza sviluppare una linea di codice webscript, surf o altro.

Forse basterebbe utilizzare l'interfaccia nativa Share e creare un nuovo custom model Alfresco (XML) e configurare opportunamente le regole sugli spazi.

L'ideale è di cercare di riutilizzare quanto più possibile una delle interfacce disponibili nel prodotto, altrimenti devi reimplementarti l'interfaccia utente come meglio credi, puoi utilizzare Surf, ma anche Struts, Spring quello che tipicamente si conosce meglio, non esiste un approccio migliore di un altro. La scelta tipicamente è orientata sul framework che si conosce meglio.
andreamac
Member II

Re: Sviluppo modulo custom

Avevo accennato al fatto che sono proprio alle prime armi con Alfresco?  Smiley Surprisedops:
A parte questo, grazie per la risposta e per i consigli, ma quello che hai detto lo trovo anche nella CE ?

Per sito indendo quando nella Dashboard di Share si può creare un sito, e raggruppare li tutte le informazioni e la documentazione delle pratiche.

Perfetto, puoi strutturare un sotto albero di spazi di Alfresco dedicati proprio alla gestione dell'anagrafica di tutti i clienti.
Non riesco a capire cosa intendi, ti spiego io pensavo ad una finestra dove inserire i dati dell' anagrafica direttamente, aver poi tipo un elenco dei contatti (poter fare delle ricerche) e cliccando sulla voce aprire la scheda dell'anagrafca, ma non un documento bensì in una finestra dell'interfaccia di Alfresco.

Sarebbe il massimo per poter associare ad ogni cliente nell'anagrafica le pratiche da lui aperte, con tutti i relativi documenti archiviati.

P.S. OpenPj, non è che hai una copia in italiano del tuo libro?  Smiley Wink
openpj
Moderator
Moderator

Re: Sviluppo modulo custom

Avevo accennato al fatto che sono proprio alle prime armi con Alfresco?
Si non ti preoccupare, ho voluto intanto darti una panoramica delle possibili soluzioni  Smiley Wink

A parte questo, grazie per la risposta e per i consigli, ma quello che hai detto lo trovo anche nella CE ?
Si, le uniche differenze con la versione Enterprise sono il bugfixing per i servizi Enterprise come il clustering, l'authentication provider, SSO etc… a livello di funzionalità le versioni sono identiche al 98%. Ovviamente la versione Enterprise comprende la sottoscrizione della licenza di supporto di primo livello erogato dal partner da cui si acquista la licenza ed il supporto di secondo livello direttamente erogato da Alfresco. I livello di SLA dipendono dal tipo di sottoscrizione che si acquista.

Non riesco a capire cosa intendi, ti spiego io pensavo ad una finestra dove inserire i dati dell' anagrafica direttamente, aver poi tipo un elenco dei contatti (poter fare delle ricerche) e cliccando sulla voce aprire la scheda dell'anagrafca, ma non un documento bensì in una finestra dell'interfaccia di Alfresco.
Se vuoi un'interfaccia custom per la ricerca e l'inserimento dei contenuti allora puoi andare tranquillamente a vedere la sezione WebScripts che ti permette di estendere la REST api di Alfresco andando ad implementare le tue custom form HTML:
http://wiki.alfresco.com/wiki/Web_Scripts

MA ribadisco non è necessario utilizzare il framework di Alfresco, potresti anche implementarti un'applicazione custom utilizzando uno dei framework a te noti per poi comunicare con Alfresco utilizzando CMIS o la REST API. In questo modo ti svincoli maggiormente a livello di implementazione e puoi anche monitorare e scalare meglio sia lato Alfresco che lato applicazione client.

Sarebbe il massimo per poter associare ad ogni cliente nell'anagrafica le pratiche da lui aperte, con tutti i relativi documenti archiviati.
Ok questo è possibile farlo in più modi, sia a livello di workflow sia a livello di associazione direttamente sul modello. Mi spiego, ogni contenuto in Alfresco è rappresentato da un nodo, in accezione JCR significa contenuto generico. Ogni cosa in Alfresco è un contenuto: un utente, un documento, una cartella e tutti questi nodi possono essere associati tra di loro utilizzando il content model di Alfresco (attraverso la definizione di type e aspects).

P.S. OpenPj, non è che hai una copia in italiano del tuo libro?
No purtroppo il libro è stato redatto direttamente in inglese e non esiste alcuna copia localizzata in italiano.
andreamac
Member II

Re: Sviluppo modulo custom

Ok, sei molto gentile, e le tue informazioni mi sono molto utili.

Il concetto di contenuti come nodi mi è chiaro, ed Alfresco usa dei nodi standard, che possono essere appunto documenti, cartelle, utenti etc, ma è possibile definire dei nuovi tipi di nodo? Nel mio caso potrebbe essere il cliente nell'anagrafica, avendo quindi la possibilità di associarlo agli altri nodi, i doc delle sue pratiche.
openpj
Moderator
Moderator

Re: Sviluppo modulo custom

Il concetto di contenuti come nodi mi è chiaro, ed Alfresco usa dei nodi standard, che possono essere appunto documenti, cartelle, utenti etc, ma è possibile definire dei nuovi tipi di nodo? Nel mio caso potrebbe essere il cliente nell'anagrafica, avendo quindi la possibilità di associarlo agli altri nodi, i doc delle sue pratiche.
Innanzitutto Alfresco nasce come implementazione della specifica JSR-170 che riguarda JCR (Java Content Repository), quindi tutta la modellazione del repository che trovi in Alfresco in realtà è molto simile a tutti gli altri prodotti ECM che si basano su questo standard.

La risposta alla tua domanda è si, attraverso la definizione di un nuovo content model (namespace JCR) all'interno del repository. La struttura di definizione dei content model è basato su un formato specifico di Alfresco in linguaggio XML in cui puoi definire custom types, metadati, aspects e associazioni.

Ti lascio il riferimento della wiki in cui viene spiegato passo dopo passo come implementare un nuovo modello:
http://wiki.alfresco.com/wiki/Data_Dictionary_Guide#Step_by_Step_Model_Definition