OKMWorkflow
On all methods you’ll see parameter named “token”. When accessing application across SOAP the login process returns a token, what is used to identify the user on all the exposed methods. From default application execution context you must use “null” value what indicates to the application must use the “user session”.
Methods
Section titled “Methods”registerProcessDefinition
Section titled “registerProcessDefinition”Description:
| Method | Return values | Description |
|---|---|---|
| registerProcessDefinition(String token, InputStream is) | void | Registers a new workflow. |
Example:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { InputStream is = new FileInputStream("/opt/files/Purchase.par"); OKMWorkflow.getInstance().registerProcessDefinition(null, is); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessDefinition
Section titled “deleteProcessDefinition”Description:
| Method | Return values | Description |
|---|---|---|
| deleteProcessDefinition(String token, long processDefinitionId) | void | Deletes a workflow. |
- The parameter processDefinitionId value is a valid workflow process definition**.**
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition OKMWorkflow.getInstance().deleteProcessDefinition(null, pdId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinition
Section titled “getProcessDefinition”Description:
| Method | Return values | Description |
|---|---|---|
| getProcessDefinition(String token, long processDefinitionId) | ProcessDefinition | Returns the process definition identified by processDefinitionId. |
Example:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long processDefinitionId = 1; ProcessDefinition process = OKMWorkflow.getInstance().getProcessDefinition(null, processDefinitionId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionImage
Section titled “getProcessDefinitionImage”Description:
| Method | Return values | Description |
|---|---|---|
| getProcessDefinitionImage(String token, long processDefinitionId, String node) | byte[] | Returns a workflow image process definition. |
- The parameter processDefinitionId value is a valid workflow process definition.
- The parameter node is a node with a workflow in execution.
Example:
package com.openkm;
import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition byte[] img = OKMWorkflow.getInstance().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
Section titled “getProcessDefinitionForms”Description:
| Method | Return values | Description |
|---|---|---|
| Map<String, List |
Map<String, List |
Returns a map with all workflow form definitions. |
- The parameter processDefinitionId value is a valid workflow process definition.
Example:
package com.openkm;
import java.util.List;import java.util.Map;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition Map<String,List<FormElement>> map = OKMWorkflow.getInstance().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(); } }}runProcessDefinition
Section titled “runProcessDefinition”Description:
| Method | Return values | Description |
|---|---|---|
| runProcessDefinition(String token, long processDefinitionId, String uuid, List |
ProcessInstance | Executes a workflow on a node. |
- The parameter processDefinitionId value is a valid workflow process definition.
- The parameter uuid can be any document, mail, folder or record UUID.
- The parameter values are form element values needed for starting the workflow ( not all workflows need form values for starting ).
Example:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.bean.form.TextArea;
public class Test { public static void main(String[] args) { try { 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.getInstance().runProcessDefinition(null, pdId, "f86cc22d-9b50-434f-a940-b04cea9c0048", feList); } catch (Exception e) { e.printStackTrace(); } }}sendProcessInstanceSignal
Section titled “sendProcessInstanceSignal”Description:
| Method | Return values | Description |
|---|---|---|
| sendProcessInstanceSignal(String token, long processInstanceId, String transitionName) | ProcessInstance | Send a signal to a process intance id. |
- The parameter processInstanceId value is a valid workflow process instance.
- The parameter uuid can be any document, mail, folder or record UUID.
- The parameter transactionName is the choosen transaction.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().sendProcessInstanceSignal(null, pId, "jump2"); } catch (Exception e) { e.printStackTrace(); } }}endProcessInstance
Section titled “endProcessInstance”Description:
| Method | Return values | Description |
|---|---|---|
| endProcessInstance(String token, long processInstanceId) | void | Ends a process intance id. |
- The parameter processInstanceId value is a valid workflow process instance.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().endProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessInstance
Section titled “deleteProcessInstance”Description:
| Method | Return values | Description |
|---|---|---|
| deleteProcessInstance(String token, long processInstanceId) | void | Delete a process intance id. |
- The parameter processInstanceId value is a valid workflow process instance.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().deleteProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}findProcessInstances
Section titled “findProcessInstances”Description:
| Method | Return values | Description |
|---|---|---|
| findProcessInstances(String token, long processDefinitionId) | List |
Retrieves a list of all process instances of some registered workflows definition. |
- The parameter processDefinitionId value is a valid workflow process definition.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findAllProcessDefinitions(null)) { System.out.println("WF definition: "+pd);
// Get all process of some workflow definition for (ProcessInstance pi : OKMWorkflow.getInstance().findProcessInstances(null, pd.getId())) { System.out.println("PI: "+pi); } } } catch (Exception e) { e.printStackTrace(); } }}findAllProcessDefinitions
Section titled “findAllProcessDefinitions”Description:
| Method | Return values | Description |
|---|---|---|
| findAllProcessDefinitions(String token, long processDefinitionId) | List |
Retrieves a list of all registered workflows definitions. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findAllProcessDefinitions(null)) { System.out.println("WF definition: "+pd); } } catch (Exception e) { e.printStackTrace(); } }}findLatestProcessDefinitions
Section titled “findLatestProcessDefinitions”Description:
| Method | Return values | Description |
|---|---|---|
| findLatestProcessDefinitions(String token) | List |
Retrieves a list of the last workflows definitions. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findLatestProcessDefinitions(null)) { System.out.println("WF definition: "+pd); } } catch (Exception e) { e.printStackTrace(); } }}findLastProcessDefinition
Section titled “findLastProcessDefinition”Description:
| Method | Return values | Description |
|---|---|---|
| findLastProcessDefinition(String token, String name) | ProcessDefinition | Retrieves last workflow definition of some specific workflow. |
- The parameter name identifies an specific workflow definitions group.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { ProcessDefinition pd = OKMWorkflow.getInstance().findLastProcessDefinition(null, "purchase"); System.out.println("WF definition: " + pd); } catch (Exception e) { e.printStackTrace(); } }}getProcessInstance
Section titled “getProcessInstance”Description:
| Method | Return values | Description |
|---|---|---|
| getProcessInstance(String token, long processInstanceId) | ProcessInstance | Returns the process instance. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id ProcessInstance pi = OKMWorkflow.getInstance().getProcessInstance(null, piId); System.out.println("PI: " + pi); } catch (Exception e) { e.printStackTrace(); } }}suspendProcessInstance
Section titled “suspendProcessInstance”Description:
| Method | Return values | Description |
|---|---|---|
| suspendProcessInstance(String token, long processInstanceId) | void | Suspends the process instance. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id OKMWorkflow.getInstance().suspendProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}resumeProcessInstance
Section titled “resumeProcessInstance”Description:
| Method | Return values | Description |
|---|---|---|
| resumeProcessInstance(String token, long processInstanceId) | void | Resume the process instance. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id OKMWorkflow.getInstance().resumeProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}findUserTaskInstances
Section titled “findUserTaskInstances”Description:
| Method | Return values | Description |
|---|---|---|
| findUserTaskInstances(String token) | List |
Retrieves a list of task instances assigned to the user. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances for (TaskInstance ti : OKMWorkflow.getInstance().findUserTaskInstances(null)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findPooledTaskInstances
Section titled “findPooledTaskInstances”Description:
| Method | Return values | Description |
|---|---|---|
| findPooledTaskInstances(String token) | List |
Retrieves a list of pooled task instances assigned to the user. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances for (TaskInstance ti : OKMWorkflow.getInstance().findPooledTaskInstances(null)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findTaskInstances
Section titled “findTaskInstances”Description:
| Method | Return values | Description |
|---|---|---|
| findTaskInstances(String token, long processInstanceId) | List |
Retrieves a list of task instances by process intance. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances long piId = 8108; // Some valid process instance id for (TaskInstance ti : OKMWorkflow.getInstance().findTaskInstances(null, piId)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceValues
Section titled “setTaskInstanceValues”Description:
| Method | Return values | Description |
|---|---|---|
| setTaskInstanceValues(String token, long taskInstanceId, String transitionName, List |
void | Set a task instance values. |
- The parameter taskInstanceId is a valid task instance id.
- The parameter transitionName is the choosen transaction.
- The parameter values are form element values needed for starting the workflow ( not all workflow tasks need form values ).
Example:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id List<FormElement> feList = new ArrayList<>(); OKMWorkflow.getInstance().setTaskInstanceValues(null, tiId, "approve", feList); } catch (Exception e) { e.printStackTrace(); } }}getTaskInstance
Section titled “getTaskInstance”Description:
| Method | Return values | Description |
|---|---|---|
| getTaskInstance(String token, long taskInstanceId) | TaskInstance | Returns a task instance. |
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id TaskInstance ti = OKMWorkflow.getInstance().getTaskInstance(null, tiId); System.out.println(ti); } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceActorId
Section titled “setTaskInstanceActorId”Description:
| Method | Return values | Description |
|---|---|---|
| setTaskInstanceActorId(String token, long taskInstanceId, String actorId) | void | Set the actor to a task instance. |
- The parameter taskInstanceId is a valid task instance id.
- The parameter actorId must be some valid OpenKM userId.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().setTaskInstanceActorId(null, tiId, "okmAdmin"); } catch (Exception e) { e.printStackTrace(); } }}startTaskInstance
Section titled “startTaskInstance”Description:
| Method | Return values | Description |
|---|---|---|
| startTaskInstance(String token, long taskInstanceId) | void | Starts a task instance. |
- The parameter taskInstanceId is a valid task instance id.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().startTaskInstance(null, tiId); } catch (Exception e) { e.printStackTrace(); } }}endTaskInstance
Section titled “endTaskInstance”Description:
| Method | Return values | Description |
|---|---|---|
| endTaskInstance(String token, long taskInstanceId, String transitionName) | void | Ends a task instance. |
- The parameter taskInstanceId is a valid task instance id.
- The parameter transitionName is a transaction name.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().endTaskInstance(null, tiId, "end"); } catch (Exception e) { e.printStackTrace(); } }}getToken
Section titled “getToken”Description:
| Method | Return values | Description |
|---|---|---|
| getToken(String token, long tokenId) | Token | Return a token object. |
- The parameter tokenId is a valid token id.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;
public class Test { public static void main(String[] args) { try { long tkId = 8110; // Some valid token id Token tk = OKMWorkflow.getInstance().getToken(null, tkId); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}sendTokenSignal
Section titled “sendTokenSignal”Description:
| Method | Return values | Description |
|---|---|---|
| sendTokenSignal(String token, long tokenId, String transitionName) | Token | Send a signal. |
- The parameter tokenId is a valid token id.
- The parameter transitionName is a transaction name.
Example:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;
public class Test { public static void main(String[] args) { try { long tkId = 8110; // Some valid token id Token tk = OKMWorkflow.getInstance().sendTokenSignal(null, tkId, "end"); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}