10-18-2016 08:45 AM
Sto creando un workflow personalizzato e avrei bisogno di far selezionare l'assegnatario di un task in uno dei passaggi precedenti. Ho fatto un tentativo ma provandolo su Alfresco non viene riconosciuto l'assegnatario (nemmeno quello di gruppo) e non compaiono neanche i campi dei form personalizzati che ho definito. Riporto alcune parti del codice.
Nel file bpmn:
<userTask id="creaCS" name="Crea Certificato di Servizio" activiti:candidateGroups="DSGA" activiti:formKey="psw:activitiCreaCS">
<extensionElements>
<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[logger.log("Log Log");
execution.setVariable('DSGAincaricato', task.getVariable('psw_DSGAincaricato'));
execution.setVariable('DSincaricato', task.getVariable('psw_DSincaricato'));]]>
</activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
<userTask id="valutaCS" name="Valuta Certificato di Servizio" activiti:assignee="${DSincaricato.properties.userName}"activiti:formKey="psw:activitiValutaCS">
<extensionElements>
<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string>if(task.getVariableLocal('psw_esitoValutazioneCS') == 'Approvato'){
execution.setVariable('psw_prosegui', true);
}else{
execution.setVariable('psw_prosegui', false);
}
</activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
Nel modello:
<type name="psw:activitiCreaCS">
<parent>bpm:startTask</parent>
<associations>
<association name="pswSGAincaricato">
<title>DSGA incaricato</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cmerson</class>
<mandatory>false</mandatory>
<many>false</many>
</target>
</association>
<association name="pswSincaricato">
<title>DS incaricato</title>
<source>
<mandatory>false</mandatory>
<many>false</many>
</source>
<target>
<class>cmerson</class>
<mandatory>false</mandatory>
<many>false</many>
</target>
</association>
</associations>
</type>
<type name="psw:activitiValutaCS">
<parent>bpm:activitiOutcomeTask</parent>
<properties>
<property name="psw:esitoValutazioneCS">
<type>d:text</type>
<default>Respinto</default>
<constraints>
<constraint type="LIST">
<parameter name="allowedValues">
<list>
<value>Approvato</value>
<value>Respinto</value>
</list>
</parameter>
</constraint>
</constraints>
</property>
</properties>
<overrides>
<property name="bpmackageItemActionGroup">
<default>edit_package_item_actions</default>
</property>
<property name="bpmutcomePropertyName">
<default>{http://www.portaleScuola.com/model/workflow/1.0}esitoValutazioneCS</default>
</property>
</overrides>
</type>
Sul progetto share:
<config evaluator="task-type" condition="psw:activitiCreaCS">
<forms>
<form id="workflow-details">
<field-visibility>
<show id="bpm:workflowDescription"/>
<show id="packageItems"/>
<show id="pswSGAincaricato"/>
<show id="pswSincaricato"/>
<show id="transitions"/>
<show id="bpm:status"/>
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.general" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="bpm:workflowDescription" label-id="workflow.field.message">
<control template="/org/alfresco/components/form/controls/textarea.ftl">
<control-param name="style">width: 95%</control-param>
</control>
</field>
<field id="packageItems" set="items" />
<field set="actors" id="pswSGAincaricato">
<control template="/org/alfresco/components/form/controls/authority.ftl">
</control>
</field>
<field set="actors" id="pswSincaricato">
<control template="/org/alfresco/components/form/controls/authority.ftl">
</control>
</field>
<field id="bpm:status" set="progress" />
</appearance>
</form>
<form>
<field-visibility>
<show id="bpm:workflowDescription"/>
<show id="packageItems"/>
<show id="pswSGAincaricato"/>
<show id="pswSincaricato"/>
<show id="transitions"/>
<show id="bpm:status"/>
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.general" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="bpm:workflowDescription" label-id="workflow.field.message">
<control template="/org/alfresco/components/form/controls/textarea.ftl">
<control-param name="style">width: 95%</control-param>
</control>
</field>
<field id="packageItems" set="items" />
<field set="actors" id="pswSGAincaricato">
<control template="/org/alfresco/components/form/controls/authority.ftl">
</control>
</field>
<field set="actors" id="pswSincaricato">
<control template="/org/alfresco/components/form/controls/authority.ftl">
</control>
</field>
<field id="bpm:status" set="progress" />
</appearance>
</form>
</forms>
</config>
10-19-2016 09:36 AM
Ciao,
non ho avuto modo di provare il tuo codice... ma da una prima occhiata noto che nella riga dove avviene l'attribuzione dell'assignee c'è un "typo". In particolare mancano degli spazi all'inizio e alla fine dell'attributo activiti:assignee (ho segnato le parti in rosso qui sotto)
<userTask id="valutaCS" name="Valuta Certificato di Servizio"activiti:assignee="${DSincaricato.properties.userName}"activiti:formKey="psw:activitiValutaCS">
Non so se sia solo un errore dovuto al "copia&incolla" nè se sia questo che genera il tuo problema... ma cominciamo con l'eliminare l'ovvio...
10-19-2016 10:06 AM
Grazie, ho appena controllato i file. Deve essersi trattato di un problema quando ho riportato il codice perché non trovo errori questi nell'originale.
10-20-2016 05:30 AM
<userTask id="creaCS" name="Crea Certificato di Servizio" activiti:candidateGroups="DSGA"
L'elemento activiti:candidateGroups credo vada valorizzato con il nome interno dell'authority, quindi credo che tu debba valorizzarlo con il prefisso GROUP_ in questo modo:
<userTask id="creaCS" name="Crea Certificato di Servizio" activiti:candidateGroups="GROUP_DSGA"
10-20-2016 05:48 AM
Tentativo fatto, ma non cambia.
Penso che GROUP_ non sia un'aggiunta obbligatoria e che debba considerare l'identificativo del gruppo da me creato, quindi semplicemente DSGA.
10-20-2016 05:57 AM
Fidati
GROUP_ è necessario come prefisso per l'utilizzo dei gruppi come authority per quanto riguarda le assegnazioni.
Assicurati che il gruppo si chiami esattamente in quel modo, intendo anche a livello di case sensitive.
Puoi condividere la schermata del pannello di amministrazione dei gruppi con la lista dei gruppi?
Ovviamente oscurando o pixellando gli altri, oppure magari puoi scriverci la lista in formato testo quì.
10-20-2016 06:06 AM
Quindi devo ricreare il gruppo con identificativo GROUP_DSGA e poi richiamarlo in quel modo nel mio workflow?
10-20-2016 06:27 AM
Ok allora, no non devi ricreare il gruppo, se provi a navigare il repository utilizzando il browser dei nodi vedrai che sotto /system/authorities troverai come childName del gruppo proprio GROUP_DSGA.
Quindi il problema del workflow non è legato all'assegnazione del gruppo ci deve essere un altro problema che ci sta sfuggendo.
10-20-2016 06:30 AM
Mi sembra di vedere un typo quì:
<userTask id="valutaCS" name="Valuta Certificato di Servizio"activiti:assignee="${DSincaricato.properties.userName}"activiti:formKey="psw:activitiValutaCS">
Manca uno spazio tra l'elemento activiti:assignee e activiti:formKey.
10-20-2016 06:35 AM
Il problema di battitura in realtà è stato causato dal copia incolla, nei file il codice è corretto.
Comunque intanto metto GROUP_DSGA quando richiamo il gruppo nel workflow e cerco di capire da dove viene l'errore. Anche perché non riesco a visualizzare correttamente i form personalizzati.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.