Ir al contenido
Otras versiones

Cargando…

OKMWorkflow

En todos los métodos verá un parámetro llamado “token”. Como las tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en ese escenario pueden usar el parámetro token. En el contexto de ejecución por defecto de la aplicación debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

Descripción:

Método Valores de retorno Descripción
registerProcessDefinition(String token, InputStream is) void Registra un nuevo workflow.

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
deleteProcessDefinition(String token, long processDefinitionId) void Elimina un workflow.
  • El valor del parámetro processDefinitionId es un ID de definición de proceso de workflow 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 pdId = 5; // Valid workflow process definition
okmWorkflow.deleteProcessDefinition(null, pdId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getProcessDefinitionImage(String token, long processDefinitionId, String node) byte[] Devuelve una imagen de una definición de proceso de workflow.
  • El valor del parámetro processDefinitionId es un ID de definición de proceso de workflow válido.
  • El parámetro node es un nodo que tiene un workflow 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
Map<String, List> getProcessDefinitionForms(String token, long processDefinitionId) Map<String, List> Devuelve un mapa de todas las definiciones de formularios del workflow.
  • El valor del parámetro processDefinitionId es un ID de definición de proceso de workflow válido.

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
ProcessDefinition getProcessDefinition(String token, long processDefinitionId) ProcessDefinition Devuelve una definición de proceso de workflow.
  • El valor del parámetro processDefinitionId es un ID de definición de proceso de workflow válido.

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
runProcessDefinition(String token, long processDefinitionId, String uuid, List variables) ProcessInstance Ejecuta un workflow sobre un nodo.
  • El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
  • El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o record.
  • El parámetro values son los valores de los elementos de formulario necesarios para iniciar el workflow (no todos los workflows 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();
}
}
}

runProcessDefinition (sin asociación a nodo)

Sección titulada «runProcessDefinition (sin asociación a nodo)»

Descripción:

Método Valores de retorno Descripción
runProcessDefinition(String token, long processDefinitionId, List variables) ProcessInstance Ejecuta un workflow sin asociarlo a un nodo específico.
  • El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
  • El parámetro values son los valores de los elementos de formulario necesarios para iniciar el workflow (no todos los workflows 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.bean.workflow.ProcessInstance;
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 where form parameters are required to start workflow
Input priority = new Input();
priority.setName("priority");
priority.setValue("high");
feList.add(priority);
TextArea comments = new TextArea();
comments.setName("comments");
comments.setValue("This is a standalone workflow process");
feList.add(comments);
ProcessInstance pi = okmWorkflow.runProcessDefinition(null, pdId, feList);
System.out.println("Process instance created: " + pi);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno 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 un ID de instancia de proceso de workflow válido.
  • El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o record.
  • El parámetro transitionName es la transició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();
}
}
}

Descripción:

Método Valores de retorno 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 workflow 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();
}
}
}

Descripción:

Método Valores de retorno 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 workflow 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findProcessInstances(String token, long processDefinitionId) List Obtiene una lista de todas las instancias de proceso de algunas definiciones de workflow registradas.
  • El valor del parámetro processDefinitionId es una definición de proceso de workflow 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findAllProcessDefinitions(String token, long processDefinitionId) List Obtiene una lista de todas las definiciones de workflow 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findLatestProcessDefinitions(String token) List Obtiene una lista de las últimas definiciones de workflow.

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findLastProcessDefinition(String token, String name) ProcessDefinition Obtiene la última definición de workflow de un workflow específico.
  • El parámetro name identifica un grupo de definición de workflow específico.

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();
}
}
}

Descripción:

Método Valores de retorno 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();
}
}
}

Descripción:

Método Valores de retorno 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();
}
}
}

Descripción:

Método Valores de retorno 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findUserTaskInstances(String token, int offset, int limit) List Obtiene 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findPooledTaskInstances(String token, int offset, int limit) List Obtiene una lista de instancias de tarea agrupadas (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();
}
}
}

Descripción:

Método Valores de retorno Descripción
findTaskInstances(String token, long processInstanceId) List Obtiene una lista de instancias de tarea de una 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setTaskInstanceValues(String token, long taskInstanceId, String transitionName, List values) void Establece los valores de una instancia de tarea.
  • El parámetro taskInstanceId es un ID de instancia de tarea válido.
  • El parámetro transitionName es la transición elegida.
  • El parámetro values son los valores de los elementos de formulario necesarios para iniciar el workflow (no todas las tareas de workflow 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();
}
}
}

Descripción:

Método Valores de retorno 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setTaskInstanceActorId(String token, long taskInstanceId, String actorId) void Establece el actor de una instancia de tarea.
  • El parámetro taskInstanceId es un ID de instancia de tarea válido.
  • El parámetro actorId debe ser un ID de usuario 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
startTaskInstance(String token, long taskInstanceId) void Inicia una instancia de tarea.
  • El parámetro taskInstanceId es un ID 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
endTaskInstance(String token, long taskInstanceId, String transitionName) void Finaliza una instancia de tarea.
  • El parámetro taskInstanceId es un ID 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getToken(String token, long tokenId) Token Devuelve un objeto token.
  • El parámetro tokenId es un ID 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();
}
}
}

Descripción:

Método Valores de retorno Descripción
sendTokenSignal(String token, long tokenId, String transitionName) Token Envía una señal.
  • El parámetro tokenId es un ID de token válido.
  • El parámetro transitionName es un nombre de transició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();
}
}
}