Page 1 of 1
Automatización Workflow
PostPosted:Mon Nov 10, 2014 8:41 am
by gcosta
Buenos días, quisiera saber cómo puedo automatizar la ejecución de un Workflow.
Lo que quiero hacer, es que cuando se añada un documento a una carpeta ese documente se le ejecute un Workflow automáticamente, sin que el usuario tenga que ir al documento y arrancar el Workflow.
Gracias.
Re: Automatización Workflow
PostPosted:Mon Nov 10, 2014 12:10 pm
by sandertaker
Debes ir a Administración >Perfiles > Wizard > Workflows, lo dejas seleccionado y guardas, y de esa forma ese perfíl de usuario arrancará de forma automática el o los workflows seleccionados.
Saludos
Re: Automatización Workflow
PostPosted:Mon Nov 10, 2014 3:00 pm
by gcosta
Buenas tardes, gracias por la respuesta. Pero lo que a mí me interesaría es que se arrancara el Workflow cuando el documento es creado dentro de una carpeta.
Re: Automatización Workflow
PostPosted:Mon Nov 10, 2014 9:02 pm
by sandertaker
mmm no entiendo bien entonces, por que se supone que con mi respuesta anterior debería resultar.
O sea apenas subes un documento ( sea donde sea) el workflow debería arrancar de forma aútomatica, o sea según entiendo.
Y en caso de no ser eso podrias explicarte un poco mejor para que algún pueda aclararte las dudas de mejor manera
Saludos
Re: Automatización Workflow
PostPosted:Tue Nov 11, 2014 11:57 am
by gcosta
Exacto, eso es. Según el documento es subido en la carpeta se arranca el workflow sobre ese documento. Siempre seria el mismo Workflow.
Lo que tú me comentabas me permite ejecutar yo el workflow sobre el documento, pero me interesa que eso sea automático.
Gracias.
Re: Automatización Workflow
PostPosted:Tue Nov 11, 2014 12:09 pm
by sandertaker
Ok, igual intenta con los otros perfiles, por que debes darle ese permiso a cada uno de los perfiles para que ocurra de forma automática, lo digo por experiencia, ya que es algo que no necesito y de esa forma siempre me arranca de forma automática ( y es bastante molesto cuando no quieres que ocurra), y es obvio que si solo le das los permisos al admin, en ese tipo de usuario se ejecutará el worflow solamente
Saludos
Re: Automatización Workflow
PostPosted:Sat Nov 15, 2014 9:06 am
by jllort
Esto lo tienes que hacer desde el Automation. Creas un evento basado en document creation. Hay pones una regla de validación para esa carpeta y subcarpeta ( pathContains ) y para finalizar una acción del tipo AddWorkflowToWizard
http://wiki.openkm.com/index.php/Automation
Y para activar los eventos etc.. tienes que ejecutar esto sql ( en la versión profesional esto esta bastante mejor y ya se registra todo dinátmicamente )
http://wiki.openkm.com/index.php/Enable_automation
Re: Automatización Workflow
PostPosted:Tue Dec 02, 2014 6:03 pm
by gcosta
Buenast tardes sandtracker y jllort, gracias por la respuesta.
Os cuento, he generado un "automation" tal y como me habeis comentado. Ese "automation" lo que hace es, que al crear el documento dentro de la carpeta le asigna dos palabras claves y inicia un Workflow.
Bien, eso funciona perfectamente si subo yo el documento directamente a la carpeta. En cambio si ejecuto un "crontab" que importa los documentos de una carpeta del sistema al okm lo único que hace el "automation" es añadir las dos palabras clave pero no inicia el Workflow.
Lo que no entiendo, como ya he comentado es que si subo el documento yo dentro de la carpeta el "automation" funciona a la perfeccion, añade las dos palabras clave y inicia el Workflow.
Teneis alguna idea a que puede ser debido?
Os adjunto una image del "automation" para que podáis entender mejor lo que hago.
Gracias.
Re: Automatización Workflow
PostPosted:Thu Dec 04, 2014 8:45 am
by jllort
La diferencia es que el workflow le estamos diciendo que arranque como parte del wizard ( es decir en el automation no arranca propiamente el workflow sino que pone un flag para la interfaz de usuario y se arranca desde ahí ). Obviamente ese flag desde el crontab no vale para nada. No recuerdo si hay una clase para arrancar directamente un wf ( action ), sino esto es muy fácil de hacer. Obviamente la del wizard no te va a servir para lo que quieres.
Re: Automatización Workflow
PostPosted:Fri Dec 05, 2014 11:49 am
by gcosta
Gracias por la ayuda. Lo he podido solucionar tal y como has comentado he arrancado el Workflow usando la clase para eso desde el propio script del crontab.
Os dejo la base del codigo para iniciar el Workflow por si ha alguien le sirve de ayuda.
Code: Select allimport java.util.List;
import java.util.ArrayList;
import com.openkm.api.OKMWorkflow;
List formElements = new ArrayList();
String UUID = "7435df39-f8b1-4992-96e7-51bf7047800b";
int id = 14;
OKMWorkflow.getInstance().runProcessDefinition(null, new Double(id).longValue(), UUID, formElements);