Alfresco Workflow Avanzados sobre espacios (folders)
Mayo 28, 2008
or defecto en Alfresco no se pueden iniciar Workflows Avanzados sobre espacios.
Pero sí se pueden iniciar a través de un script.
Solamente hay que ejecutar este script sobre el espacio
var workflow = actions.create("start-workflow");
workflow.parameters.workflowName = "jbpm$minameserver:miworkflowProcess";
workflow.parameters["bpm:workflowDescription"] = document.name;
workflow.parameters["bpm:assignee"] = person;
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 7);
workflow.parameters["bpm:workflowDueDate"] = futureDate;
workflow.execute(document);
Actualmente las propiedades de workflow no van a contener a este espacio como datos adjuntos y aparecerá como vacío.
- Si queremos ejecutar el script ya se hace de la manera habitual
Primero hay que crearlo en
> >
con el nombre por ejemplo de startWorkflow.js
Después para ejecutarlo se puede hacer de varias maneras, las más habituales son:
- Ejecutar el script como acción sobre un elemento. Se accede desde Propiedades del elemento.
- Crear una regla para que se ejecute el script cada vez que se cree este espacio
Si al final no era tan difícil…
Fuente: http://wiki.alfresco.com/wiki/WorkflowAdministration#Step_7:_Integration_with_Rules_.28Optional.29
7 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed
1.
AM | Septiembre 18, 2008 at 9:22 am
Hola,
He seguido tus indicaciones y asi no consigues nada, es decir, creas el workflow avanzado, pero no le asignas el espacio, el workflow no queda asociado a ningun recurso.
Era eso lo que querías hacer? o es que falta algo en la explicación?
2.
antondelatorre | Septiembre 26, 2008 at 6:49 am
Hola,
Sí que está el recurso de tipo folder, (espacio, space) asociado, pero no aparece en los detalles del workflow.
Esto es porque en alfresco-web-client.jar, en la clase org/alfresco/web/bean/workflow/ManageTaskDialog.java no permite que se muestren los recursos tipo ‘folder’
Si abres los fuentes y buscas este fichero, en la línea 716, verás este comentario
// NOTE: folders within workflow packages are ignored for now
if (this.dictionaryService.isSubClass(type, ContentModel.TYPE_CONTENT) ||
ApplicationModel.TYPE_FILELINK.equals(type))
{
Puedes probar a descomentarlo y verás como funciona y ves los espacios, pero el enlace falla.
Pero eso ya es de otro post.
3. Cómo visualizar recursos de tipo espacio en workflows avanzados « Al final, era una tontería | Septiembre 26, 2008 at 10:30 am
[...] 26, 2008 En esta entrada ya hablamos de workflows para espacios (folder o [...]
4.
Raul | Octubre 15, 2008 at 11:14 am
Hola,
Estoy intentando ejecutar un workflow avanzado con el script siguiendo un poco el ejemplo que aparece en la wiki de Alfresco y me da el siguiente error:
No se ha podido crear la acción debido a un error: Failed to execute script ‘workspace://SpacesStore/a2f35811-99e5-11dd-bba0-89b364386eb7′: Failed to execute script ‘workspace://SpacesStore/a2f35811-99e5-11dd-bba0-89b364386eb7′: Wrapped java.lang.NullPointerException (AlfrescoScript#8)
Me podeis ayudar?
Saludos.
5.
eraunatonteria | Noviembre 21, 2008 at 9:07 am
Hola Raul:
Esto que cuentas es un error en tiempo de ejecución de tu script (que tiene la ulr ‘workspace://SpacesStore/a2f35811-99e5-11dd-bba0-89b364386eb7′, exactamente además en la línea 8 (AlfrescoScript#8)
Debido a un java.lang.NullPointerException
Seguramente estás usando una variable sin inicializar.
Un saludo,
Antonio
6.
giorgio | Abril 16, 2009 at 2:53 pm
Buenas, yo tambien he tenido esa excepción de null, que comenta RAUL, y al parecer es la ultima linea, la de workflow.execute(document), porque como bien comentas parece que no se inicializa en ningun sitio, pero la idea es que coga como document, el documento, sea fichero o sea espacio, que este subiendo en ese momento al espacio que tiene la regla no?, de que manera se le puede decir que coga ese documento?
Gracias y saludos
7.
giorgio | Mayo 19, 2009 at 10:11 pm
Buenas, quisiera saber, como puedo ejecutar codigo dentro de un workflow pero una vez reasignado, en la creación del workflow ya he conseguido hacerlo, y en los pasos de aprovar o rechazar tambien, pero no se donde tengo que poner el codigo para poder ejecutarlo cuando se reasigna a otra persona el workflow.
Saludos , espero puedan ayudarme.