OKMWorkflow
En todos los métodos verá un parámetro denominado “token”. Dado que las tareas cron se ejecutan en segundo plano sin autenticación, los métodos utilizados en este escenario pueden emplear el parámetro token. Desde el contexto de ejecución predeterminado de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión de usuario”.
Métodos
Sección titulada «Métodos»registerProcessDefinition
Sección titulada «registerProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| registerProcessDefinition(String token, InputStream is) | void | Registra un nuevo flujo de trabajo. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import com.openkm.util.ContextWrapper;import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class); InputStream is = new FileInputStream("/opt/files/Purchase.par") okmWorkflow.registerProcessDefinition(null, is); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessDefinition
Sección titulada «deleteProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| deleteProcessDefinition(String token, long processDefinitionId) | void | Elimina un flujo de trabajo. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class); long pdId = 5; // Valid workflow process definition okmWorkflow.deleteProcessDefinition(null, pdId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionImage
Sección titulada «getProcessDefinitionImage»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProcessDefinitionImage(String token, long processDefinitionId, String node) | byte[] | Devuelve una imagen de la definición de proceso del flujo de trabajo. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
- El parámetro node es un nodo con un flujo de trabajo en ejecución.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;import org.apache.commons.io.IOUtils;
import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pdId = 5; // Valid workflow process definition byte[] img = okmWorkflow.getProcessDefinitionImage(null, pdId, "/okm:root/sample.pdf"); ByteArrayInputStream in = new ByteArrayInputStream(img); FileOutputStream out = new FileOutputStream(new File("/home/test/img.jpg")); IOUtils.copy(in, out); IOUtils.closeQuietly(in); IOUtils.closeQuietly(out); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionForms
Sección titulada «getProcessDefinitionForms»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| Map<String, List |
Map<String, List |
Devuelve un mapa con todas las definiciones de formularios del flujo de trabajo. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;import com.openkm.util.ContextWrapper;
import java.util.List;import java.util.Map;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pdId = 5; // Valid workflow process definition Map<String, List<FormElement>> map = okmWorkflow.getProcessDefinitionForms(null, pdId); for (String key : map.keySet()) { System.out.println("group:" + key); for (FormElement fe : map.get(key)) { System.out.println(fe); } } } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinition
Sección titulada «getProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| ProcessDefinition getProcessDefinition(String token, long processDefinitionId) | ProcessDefinition | Devuelve una definición de proceso de flujo de trabajo. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pdId = 5; // Valid workflow process definition ProcessDefinition pd = okmWorkflow.getProcessDefinition(null, pdId); System.out.println(pd); } catch (Exception e) { e.printStackTrace(); } }}runProcessDefinition
Sección titulada «runProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| runProcessDefinition(String token, long processDefinitionId, String uuid, List |
ProcessInstance | Ejecuta un flujo de trabajo sobre un nodo. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
- El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o expediente.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el flujo de trabajo (no todos los flujos de trabajo necesitan valores de formulario para iniciarse).
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.bean.form.TextArea;import com.openkm.util.ContextWrapper;
import java.util.ArrayList;import java.util.List;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pdId = 8041; // Some valid workflow process definition id List<FormElement> feList = new ArrayList<>(); // Case as part of starting workflow are required form parameter Input price = new Input(); price.setName("price"); price.setValue("1000"); feList.add(price); TextArea textArea = new TextArea(); textArea.setName("description"); textArea.setValue("some description here"); feList.add(textArea); okmWorkflow.runProcessDefinition(null, pdId, "f86cc22d-9b50-434f-a940-b04cea9c0048", feList); } catch (Exception e) { e.printStackTrace(); } }}sendProcessInstanceSignal
Sección titulada «sendProcessInstanceSignal»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| sendProcessInstanceSignal(String token, long processInstanceId, String transitionName) | ProcessInstance | Envía una señal a una instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de flujo de trabajo válida.
- El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o expediente.
- El parámetro transactionName es la transacción elegida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pId = 1046; // Some valid process instance id okmWorkflow.sendProcessInstanceSignal(null, pId, "jump2"); } catch (Exception e) { e.printStackTrace(); } }}endProcessInstance
Sección titulada «endProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| endProcessInstance(String token, long processInstanceId) | void | Finaliza una instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pId = 1046; // Some valid process instance id okmWorkflow.endProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessInstance
Sección titulada «deleteProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| deleteProcessInstance(String token, long processInstanceId) | void | Elimina una instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long pId = 1046; // Some valid process instance id okmWorkflow.deleteProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}findProcessInstances
Sección titulada «findProcessInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findProcessInstances(String token, long processDefinitionId) | List |
Recupera una lista de todas las instancias de proceso de algunas definiciones de flujo de trabajo registradas. |
- El valor del parámetro processDefinitionId es una definición de proceso de flujo de trabajo válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.bean.workflow.ProcessInstance;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
// Get all workflow definitions for (ProcessDefinition pd : okmWorkflow.findAllProcessDefinitions(null)) { System.out.println("WF definition: " + pd);
// Get all process of some workflow definition for (ProcessInstance pi : okmWorkflow.findProcessInstances(null, pd.getId())) { System.out.println("PI: " + pi); } } } catch (Exception e) { e.printStackTrace(); } }}findAllProcessDefinitions
Sección titulada «findAllProcessDefinitions»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findAllProcessDefinitions(String token, long processDefinitionId) | List |
Recupera una lista de todas las definiciones de flujo de trabajo registradas. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
// Get all workflow definitions for (ProcessDefinition pd : okmWorkflow.findAllProcessDefinitions(null)) { System.out.println("WF definition: " + pd); } } catch (Exception e) { e.printStackTrace(); } }}findLatestProcessDefinitions
Sección titulada «findLatestProcessDefinitions»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findLatestProcessDefinitions(String token) | List |
Recupera una lista de las últimas definiciones de flujo de trabajo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
// Get all workflow definitions for (ProcessDefinition pd : okmWorkflow.findLatestProcessDefinitions(null)) { System.out.println("WF definition: " + pd); } } catch (Exception e) { e.printStackTrace(); } }}findLastProcessDefinition
Sección titulada «findLastProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findLastProcessDefinition(String token, String name) | ProcessDefinition | Recupera la última definición de flujo de trabajo de un flujo de trabajo concreto. |
- El parámetro name identifica un grupo concreto de definiciones de flujo de trabajo.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
ProcessDefinition pd = okmWorkflow.findLastProcessDefinition(null, "purchase"); System.out.println("WF definition: " + pd); } catch (Exception e) { e.printStackTrace(); } }}getProcessInstance
Sección titulada «getProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProcessInstance(String token, long processInstanceId) | ProcessInstance | Devuelve la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long piId = 8108; // Some valid process instance id ProcessInstance pi = okmWorkflow.getProcessInstance(null, piId); System.out.println("PI: " + pi); } catch (Exception e) { e.printStackTrace(); } }}suspendProcessInstance
Sección titulada «suspendProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| suspendProcessInstance(String token, long processInstanceId) | void | Suspende la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long piId = 8108; // Some valid process instance id okmWorkflow.suspendProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}resumeProcessInstance
Sección titulada «resumeProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| resumeProcessInstance(String token, long processInstanceId) | void | Reanuda la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long piId = 8108; // Some valid process instance id okmWorkflow.resumeProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}findUserTaskInstances
Sección titulada «findUserTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findUserTaskInstances(String token, int offset, int limit) | List |
Recupera una lista de instancias de tarea asignadas al usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;import com.openkm.bean.workflow.TaskInstanceResultSet;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
TaskInstanceResultSet resultSet = okmWorkflow.findUserTaskInstances(null, 0, 10); System.out.println("Total: " + resultSet.getTotal()); // Get all user task intances for (TaskInstance ti : resultSet.getResults()) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findPooledTaskInstances
Sección titulada «findPooledTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findPooledTaskInstances(String token, int offset, int limit) | List |
Recupera una lista de instancias de tarea compartidas (pooled) asignadas al usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;import com.openkm.bean.workflow.TaskInstanceResultSet;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
TaskInstanceResultSet resultSet = okmWorkflow.findPooledTaskInstances(null, 0, 10); System.out.println("Total: " + resultSet.getTotal()); // Get all user task intances for (TaskInstance ti : resultSet.getResults()) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findTaskInstances
Sección titulada «findTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findTaskInstances(String token, long processInstanceId) | List |
Recupera una lista de instancias de tarea por instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
// Get all user task intances long piId = 8108; // Some valid process instance id for (TaskInstance ti : okmWorkflow.findTaskInstances(null, piId)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceValues
Sección titulada «setTaskInstanceValues»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setTaskInstanceValues(String token, long taskInstanceId, String transitionName, List |
void | Establece los valores de una instancia de tarea. |
- El parámetro taskInstanceId es un identificador de instancia de tarea válido.
- El parámetro transitionName es la transacción elegida.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el flujo de trabajo (no todas las tareas de un flujo de trabajo necesitan valores de formulario).
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;import com.openkm.util.ContextWrapper;
import java.util.ArrayList;import java.util.List;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tiId = 8110; // Some valid task instance id List<FormElement> feList = new ArrayList<>(); okmWorkflow.setTaskInstanceValues(null, tiId, "approve", feList); } catch (Exception e) { e.printStackTrace(); } }}getTaskInstance
Sección titulada «getTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getTaskInstance(String token, long taskInstanceId) | TaskInstance | Devuelve una instancia de tarea. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tiId = 8110; // Some valid task instance id TaskInstance ti = okmWorkflow.getTaskInstance(null, tiId); System.out.println(ti); } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceActorId
Sección titulada «setTaskInstanceActorId»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setTaskInstanceActorId(String token, long taskInstanceId, String actorId) | void | Establece el actor de una instancia de tarea. |
- El parámetro taskInstanceId es un identificador de instancia de tarea válido.
- El parámetro actorId debe ser un userId de OpenKM válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tiId = 8110; // Some valid task instance id okmWorkflow.setTaskInstanceActorId(null, tiId, "okmAdmin"); } catch (Exception e) { e.printStackTrace(); } }}startTaskInstance
Sección titulada «startTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| startTaskInstance(String token, long taskInstanceId) | void | Inicia una instancia de tarea. |
- El parámetro taskInstanceId es un identificador de instancia de tarea válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tiId = 8110; // Some valid task instance id okmWorkflow.startTaskInstance(null, tiId); } catch (Exception e) { e.printStackTrace(); } }}endTaskInstance
Sección titulada «endTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| endTaskInstance(String token, long taskInstanceId, String transitionName) | void | Finaliza una instancia de tarea. |
- El parámetro taskInstanceId es un identificador de instancia de tarea válido.
- El parámetro transitionName es un nombre de transacción.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tiId = 8110; // Some valid task instance id okmWorkflow.endTaskInstance(null, tiId, "end"); } catch (Exception e) { e.printStackTrace(); } }}getToken
Sección titulada «getToken»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getToken(String token, long tokenId) | Token | Devuelve un objeto token. |
- El parámetro tokenId es un identificador de token válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tkId = 8110; // Some valid token id Token tk = okmWorkflow.getToken(null, tkId); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}sendTokenSignal
Sección titulada «sendTokenSignal»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| sendTokenSignal(String token, long tokenId, String transitionName) | Token | Envía una señal. |
- El parámetro tokenId es un identificador de token válido.
- El parámetro transitionName es un nombre de transacción.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
long tkId = 8110; // Some valid token id Token tk = okmWorkflow.sendTokenSignal(null, tkId, "end"); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}