CMDBuild Forum

TWE e gestione subflow

Buongiorno, utilizzo CMDBuild 2.1.4 con Shark 4 e sto cercando di creare un workflow che richiama al suo interno un altro subflow.

Se nel subflow dichiaro come Formal Parameter un attributo di processo con Mode=OUT, nel caso sia sincrono il flusso si blocca al primo step del sottoprocesso e l'applicazione termina, nel caso sia asincrono il flusso si blocca al primo step del sottoprocesso e poi continua con lo step successivo del chiamante (il primo step del sottoprocesso permette all'utente di inserire due valori per due attributi di processo).
Questa la parte finale del log di shark:
 
2013-10-25 11:58:27,734: SharkUtilities -> synchronizing XPDL cache
2013-10-25 11:58:27,891: Process [key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] is created
2013-10-25 11:58:29,189: process 'Process_luigi' started
2013-10-25 11:58:29,189: sending notification for start of process 'Process_luigi'
2013-10-25 11:58:31,535: Process [key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] is starting...
2013-10-25 11:58:31,535: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=927_909_Package_luigi_Process_luigi_StartLuigi, ba=null, ActDefId=StartLuigi] is created
2013-10-25 11:58:31,551: activity 'StartLuigi' started
2013-10-25 11:58:31,551: activity 'StartLuigi' closed
2013-10-25 11:58:31,551: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=927_909_Package_luigi_Process_luigi_StartLuigi, ba=null, ActDefId=StartLuigi] is completed.
2013-10-25 11:58:31,613: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=928_909_Package_luigi_Process_luigi_Step1Luigi, ba=null, ActDefId=Step1Luigi] is created
2013-10-25 11:58:31,613: activity 'Step1Luigi' started
2013-10-25 11:58:31,613: sending notification for activity 'Step1Luigi'
2013-10-25 11:58:31,613: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:32,223: sql = select SHKCounters.* from SHKCounters WHERE SHKCounters.name = '_activitydata_' execute time = 547max table execute time = 200
2013-10-25 11:58:33,928: activity 'Step1Luigi' closed
2013-10-25 11:58:33,928: sending notification for activity 'Step1Luigi'
2013-10-25 11:58:33,928: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:34,038: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=928_909_Package_luigi_Process_luigi_Step1Luigi, ba=null, ActDefId=Step1Luigi] is completed.
2013-10-25 11:58:34,054: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=929_909_Package_luigi_Process_luigi_Step2Luigi, ba=null, ActDefId=Step2Luigi] is created
2013-10-25 11:58:34,054: activity 'Step2Luigi' started
2013-10-25 11:58:34,054: sending notification for activity 'Step2Luigi'
2013-10-25 11:58:34,054: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:36,900: activity 'Step2Luigi' closed
2013-10-25 11:58:36,900: sending notification for activity 'Step2Luigi'
2013-10-25 11:58:36,900: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:36,947: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=929_909_Package_luigi_Process_luigi_Step2Luigi, ba=null, ActDefId=Step2Luigi] is completed.
2013-10-25 11:58:36,963: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=930_909_Package_luigi_Process_luigi_Step3LuigiSubFlow1, ba=null, ActDefId=Step3LuigiSubFlow1] is created
2013-10-25 11:58:36,963: activity 'Step3LuigiSubFlow1' started
2013-10-25 11:58:36,994: Process [key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] is created
2013-10-25 11:58:36,994: process 'Process_mario' started
2013-10-25 11:58:36,994: sending notification for start of process 'Process_mario'
2013-10-25 11:58:37,026: Process [key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] is starting...
2013-10-25 11:58:37,026: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=931_910_Package_mario_Process_mario_StartMario, ba=null, ActDefId=StartMario] is created
2013-10-25 11:58:37,041: activity 'StartMario' started
2013-10-25 11:58:37,041: activity 'StartMario' closed
2013-10-25 11:58:37,041: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=931_910_Package_mario_Process_mario_StartMario, ba=null, ActDefId=StartMario] is completed.
2013-10-25 11:58:37,041: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=932_910_Package_mario_Process_mario_Step1Mario, ba=null, ActDefId=Step1Mario] is created
2013-10-25 11:58:37,041: activity 'Step1Mario' started
2013-10-25 11:58:37,041: sending notification for activity 'Step1Mario'
2013-10-25 11:58:37,041: sending notification for update of process 'Process_mario'
 
Quello che ovviamente vorrei realizzare e' richiamare il workflow padre, permettere all'utente di inserire alcune informazioni, poi il workflow padre richiama il subflow e l'utente inserisce le informazioni del sottoprocesso.
 
Grazie.
Aggiungo qualche altro dettaglio.
Ho notato che nel caso sincrono, sia il flusso chiamante che il flusso chiamato vengono storicizzati nel database con Stato="Open" quindi presumo sia un comportamento previsto da CMDBuild per questa tipologia di workflow.
Quindi qualcuno puo' confermarmi che non e' possibile in CMDBuild inserire dei dati da un flusso principale, richiamare un sottoflusso ed inserire a sua volta i propri dati?
 
 
Previously Luigi wrote:
Buongiorno, utilizzo CMDBuild 2.1.4 con Shark 4 e sto cercando di creare un workflow che richiama al suo interno un altro subflow.
Se nel subflow dichiaro come Formal Parameter un attributo di processo con Mode=OUT, nel caso sia sincrono il flusso si blocca al primo step del sottoprocesso e l'applicazione termina, nel caso sia asincrono il flusso si blocca al primo step del sottoprocesso e poi continua con lo step successivo del chiamante (il primo step del sottoprocesso permette all'utente di inserire due valori per due attributi di processo).
Questa la parte finale del log di shark:
 
2013-10-25 11:58:27,734: SharkUtilities -> synchronizing XPDL cache
2013-10-25 11:58:27,891: Process [key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] is created
2013-10-25 11:58:29,189: process 'Process_luigi' started
2013-10-25 11:58:29,189: sending notification for start of process 'Process_luigi'
2013-10-25 11:58:31,535: Process [key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] is starting...
2013-10-25 11:58:31,535: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=927_909_Package_luigi_Process_luigi_StartLuigi, ba=null, ActDefId=StartLuigi] is created
2013-10-25 11:58:31,551: activity 'StartLuigi' started
2013-10-25 11:58:31,551: activity 'StartLuigi' closed
2013-10-25 11:58:31,551: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=927_909_Package_luigi_Process_luigi_StartLuigi, ba=null, ActDefId=StartLuigi] is completed.
2013-10-25 11:58:31,613: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=928_909_Package_luigi_Process_luigi_Step1Luigi, ba=null, ActDefId=Step1Luigi] is created
2013-10-25 11:58:31,613: activity 'Step1Luigi' started
2013-10-25 11:58:31,613: sending notification for activity 'Step1Luigi'
2013-10-25 11:58:31,613: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:32,223: sql = select SHKCounters.* from SHKCounters WHERE SHKCounters.name = '_activitydata_' execute time = 547max table execute time = 200
2013-10-25 11:58:33,928: activity 'Step1Luigi' closed
2013-10-25 11:58:33,928: sending notification for activity 'Step1Luigi'
2013-10-25 11:58:33,928: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:34,038: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=928_909_Package_luigi_Process_luigi_Step1Luigi, ba=null, ActDefId=Step1Luigi] is completed.
2013-10-25 11:58:34,054: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=929_909_Package_luigi_Process_luigi_Step2Luigi, ba=null, ActDefId=Step2Luigi] is created
2013-10-25 11:58:34,054: activity 'Step2Luigi' started
2013-10-25 11:58:34,054: sending notification for activity 'Step2Luigi'
2013-10-25 11:58:34,054: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:36,900: activity 'Step2Luigi' closed
2013-10-25 11:58:36,900: sending notification for activity 'Step2Luigi'
2013-10-25 11:58:36,900: sending notification for update of process 'Process_luigi'
2013-10-25 11:58:36,947: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=929_909_Package_luigi_Process_luigi_Step2Luigi, ba=null, ActDefId=Step2Luigi] is completed.
2013-10-25 11:58:36,963: Process[key=909_Package_luigi_Process_luigi,mgrname=Package_luigi#23#Process_luigi] - Activity[Process Id=909_Package_luigi_Process_luigi, Id=930_909_Package_luigi_Process_luigi_Step3LuigiSubFlow1, ba=null, ActDefId=Step3LuigiSubFlow1] is created
2013-10-25 11:58:36,963: activity 'Step3LuigiSubFlow1' started
2013-10-25 11:58:36,994: Process [key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] is created
2013-10-25 11:58:36,994: process 'Process_mario' started
2013-10-25 11:58:36,994: sending notification for start of process 'Process_mario'
2013-10-25 11:58:37,026: Process [key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] is starting...
2013-10-25 11:58:37,026: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=931_910_Package_mario_Process_mario_StartMario, ba=null, ActDefId=StartMario] is created
2013-10-25 11:58:37,041: activity 'StartMario' started
2013-10-25 11:58:37,041: activity 'StartMario' closed
2013-10-25 11:58:37,041: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=931_910_Package_mario_Process_mario_StartMario, ba=null, ActDefId=StartMario] is completed.
2013-10-25 11:58:37,041: Process[key=910_Package_mario_Process_mario,mgrname=Package_mario#23#Process_mario] - Activity[Process Id=910_Package_mario_Process_mario, Id=932_910_Package_mario_Process_mario_Step1Mario, ba=null, ActDefId=Step1Mario] is created
2013-10-25 11:58:37,041: activity 'Step1Mario' started
2013-10-25 11:58:37,041: sending notification for activity 'Step1Mario'
2013-10-25 11:58:37,041: sending notification for update of process 'Process_mario'
 
Quello che ovviamente vorrei realizzare e' richiamare il workflow padre, permettere all'utente di inserire alcune informazioni, poi il workflow padre richiama il subflow e l'utente inserisce le informazioni del sottoprocesso.
 
Grazie.