2. Quando usare il workflow?
Quando stiamo gestendo un processo, con
differenti stati, che coinvolge diversi attori
Quando l'attenzione si sposta dal documento al
processo. Non ci basta pi湛 memorizzare
l'attributo stato nel documento
Quando il processo tocca pi湛 documenti in
contemporanea
Quando il processo interagisce con sistemi
esterni che ne determinano l'avanzamento
3. Alfresco e i workflows
Alfresco ha principalemente due modi per gestire
i workflow
Workflow semplici, gestione tramite cartelle
Workflow avanzati, utilizzo del motore
embedded per la gestione dei workflow: Activiti
4. Workflow semplici
Le cartelle rappresentano gli stati
Azioni personalizzate permettono di passare da
uno stato all'altro in modalit Step Forward
Step Backward
Svantaggi
Non 竪 possibile un esecuzione di due stati
parallella (non possiamo avere gateway)
Non possiamo gestire dei token nel processo
(e.g. approvazione multipla)
5. Workflow complessi
Il modello viene diegnato con un xml
Si utilizza un motore di workflow Activiti
(BPMN 2.0) (o in alternativa Jboss jBPM)
Possiamo avere Gateway paralleli e join
Abbiamo della business logic da modellare ed
eseguire
Assegniamo dei task a persone o gruppi di
persone
6. Cos'竪 Activiti
Activiti 竪 un workflow engine embedded in
Alfresco, ma che pu嘆 essere usato singolarmente
in un狸applicazione stand alone o web
Nasce da un brench di jBpm di Jboss
7. Activiti process designer
Plug.in di eclipse per realizzare graficamente il
proprio processo
Il prodotto finito 竪 un file xml che definisce gli
stati del processo e le azioni
Molto comodo per iniziare a definire un
processo, nel seguito l'xml 竪 molto leggibile e
modificabile anche editando il file stesso
9. Per prima cosa
Un primo passo 竪 studiare gli esempi di worklow
gi presenti in Alfresco
Studiare il modello dei Task gi definiti in
Alfresco e partire ad estendere questi ultimi
il bpmModel file 竪 di basso livello e contiene ad
esempio la definizione di tutti i tipi di task di
base, il default start task, propriet quali
l'assegnatario.
Il workflowModel contiene dei task out of the
box molto utili per iniziare le proprie
definizioni come estensioni di quelli presenti
10. Occhio a...
Variabili di processo e di task
Listener
Task assignment
Personalizzazioni del modello
Creare un corrispettivo in Share per visualizzare
il proprio processo
11. Impostare un progettoActivi per
Alfresco
Creare un progetto Maven per alfresco
https://artifacts.alfresco.com/nexus/content/repos
itories/alfresco-docs/alfresco-sdk-
aggregator/latest/index.html
Risultato un amp (o pi湛 probabilmente due) da
deployare sotto Alfresco e Alfresco Share
12. Impostare un progettoActivi per
Alfresco
Creare un progetto Maven per alfresco
https://artifacts.alfresco.com/nexus/content/repos
itories/alfresco-docs/alfresco-sdk-
aggregator/latest/index.html
Disegnare i propri workflows e i propri
workflow model sia per Alfresco sia per Share
Risultato un amp (o pi湛 probabilmente due) da
deployare sotto Alfresco e Alfresco Share
14. Installare i propri amp
Copiarli nelle directory
amp
amp-share
Eseguire lo script applyamps.sh
15. Alfresco workflow console
Url nascosto, non ci si accede da nessun link se
non direttamente
http://localhost:8080/alfresco/faces/jsp/admin/wo
rkflow-console.jsp
Permette di deployare e monitorare processi e
istanze del processo
Fondamentale per il debug