• Automatización Workflow

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #30492  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.
 #30494  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
 #30497  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.
 #30499  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
 #30502  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.
 #30503  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
 #30532  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
 #30623  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.
Attachments
automation.png
automation.png (15.57 KiB) Viewed 4478 times
 #30632  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.
 #30645  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 all
import 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);

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.