Ir al contenido
Otras versiones

Cargando…

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”.

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

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

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

Descripción:

Método Valores devueltos Descripción
Map<String, List> getProcessDefinitionForms(String token, long processDefinitionId) 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();
}
}
}

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

Descripción:

Método Valores devueltos Descripción
runProcessDefinition(String token, long processDefinitionId, String uuid, List variables) 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();
}
}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

Descripción:

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

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

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

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

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

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

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