Workflow samples
Para la mayoría de los ejemplos se ha usado el Purchase workflow sample.
Métodos
Sección titulada «Métodos»registerProcessDefinition
Sección titulada «registerProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| registerProcessDefinition(FileStream fs) | void | Registra un nuevo flujo de trabajo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using System.IO;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { FileStream fs = new FileStream("E:\\Purchase.par",FileMode.Open); ws.registerProcessDefinition(fs); fs.Dispose(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}deleteProcessDefinition
Sección titulada «deleteProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteProcessDefinition(long pdId) | void | Elimina un flujo de trabajo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using System.IO;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 5; // Valid workflow process definition ws.deleteProcessDefinition(pdId); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getProcessDefinition
Sección titulada «getProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessDefinition(long pdId) | void | Devuelve una definición de proceso de flujo de trabajo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 1; // Valid workflow process definition ProcessDefinition pd = ws.getProcessDefinition(pdId); System.Console.WriteLine(pd); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}runProcessDefinition
Sección titulada «runProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| runProcessDefinition(long pdId, String uuid, List |
ProcessInstance | Ejecuta un flujo de trabajo sobre un nodo. |
- El valor del parámetro pdId es una definición de proceso de flujo de trabajo válida.
- El parámetro uuid puede ser cualquier UUID de 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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.bean.form;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 8041; // Some valid workflow process definition id List<FormElement> feList = new List<FormElement>(); Input price = new Input(); price.name = "price"; price.value = "1000"; feList.Add(price); TextArea textArea = new TextArea(); textArea.name = "description"; textArea.value = "some description here"; feList.Add(textArea); ws.runProcessDefinition(pdId, "7aa523e0-06cf-4733-b8c8-cc74d8b2716d", feList); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findAllProcessDefinitions
Sección titulada «findAllProcessDefinitions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findAllProcessDefinitions() | List |
Recupera una lista con todas las definiciones de flujo de trabajo registradas. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (ProcessDefinition pd in ws.findAllProcessDefinitions()) { System.Console.WriteLine(pd); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findProcessInstances
Sección titulada «findProcessInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findProcessInstances(long pdId) | List |
Recupera una lista con todas las instancias de proceso de algunas definiciones de flujo de trabajo registradas. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all workflow definitions foreach (ProcessDefinition pd in ws.findAllProcessDefinitions()) { System.Console.WriteLine("WF definition: "+pd); // Get all process of some workflow definition foreach (ProcessInstance pi in ws.findProcessInstances(pd.id)) { System.Console.WriteLine("PI: "+pi); } } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findLatestProcessDefinitions
Sección titulada «findLatestProcessDefinitions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findLatestProcessDefinitions() | List |
Recupera una lista con las últimas definiciones de flujo de trabajo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all latest workflow definitions foreach (ProcessDefinition pd in ws.findLatestProcessDefinitions()) { System.Console.WriteLine("WF definition: " + pd); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findLastProcessDefinition
Sección titulada «findLastProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findLastProcessDefinition(String name) | ProcessDefinition | Obtiene la última definición de un flujo de trabajo concreto. |
- El parámetro name identifica un grupo concreto de definiciones de flujo de trabajo.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ProcessDefinition pd = ws.findLastProcessDefinition("purchase"); System.Console.WriteLine("WF definition: " + pd); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getProcessInstance
Sección titulada «getProcessInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessInstance(long piId) | ProcessInstance | Devuelve la instancia de proceso. |
- El parámetro piId es un id de instancia de proceso válido.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long piId = 5868; // Some valid process instance id ProcessInstance pi = ws.getProcessInstance(piId); System.Console.WriteLine("PI: " + pi); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findUserTaskInstances
Sección titulada «findUserTaskInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findUserTaskInstances() | List |
Recupera una lista de instancias de tarea asignadas al usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all user task intances foreach(TaskInstance ti in ws.findUserTaskInstances()) { System.Console.WriteLine(ti); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findTaskInstances
Sección titulada «findTaskInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findTaskInstances(long piId) | List |
Obtiene una lista de instancias de tarea de una instancia de proceso concreta. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all task instances of some process instance long piId = 8108; // Some valid process instance id foreach (TaskInstance ti in ws.findTaskInstances(piId)) { System.Console.WriteLine(ti); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setTaskInstanceValues
Sección titulada «setTaskInstanceValues»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setTaskInstanceValues(long tiId, String transName, List |
void | Obtiene una lista de instancias de tarea de una instancia de proceso concreta. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro transName 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 flujo de trabajo necesitan valores de formulario).
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.bean.form;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id List<FormElement> feList = new List<FormElement>(); ws.setTaskInstanceValues(tiId, "approve", feList); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getTaskInstance
Sección titulada «getTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getTaskInstance(long tiId) | TaskInstance | Devuelve una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id TaskInstance ti = ws.getTaskInstance(tiId); System.Console.WriteLine(ti); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}startTaskInstance
Sección titulada «startTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| startTaskInstance(long tiId) | void | Inicia una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.startTaskInstance(tiId); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setTaskInstanceActorId
Sección titulada «setTaskInstanceActorId»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setTaskInstanceActorId(long tiId, String actorId) | void | Inicia una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro actorId debe ser un userId válido de OpenKM.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.setTaskInstanceActorId(tiId, "okmAdmin"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}endTaskInstance
Sección titulada «endTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| endTaskInstance(long tiId, String transName) | void | Inicia una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro transName es un nombre de transacción.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.endTaskInstance(tiId, "end"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getProcessDefinitionForms
Sección titulada «getProcessDefinitionForms»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessDefinitionForms(long pdId) | Dictionary<String, List |
Devuelve un mapa con todos los formularios de la definición de proceso. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean.form;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { Dictionary<String, List<FormElement>> forms = ws.getProcessDefinitionForms(1); foreach (KeyValuePair<String, List<FormElement>> pair in forms) { System.Console.WriteLine("Key:"+ pair.Key); foreach (FormElement fe in pair.Value) { System.Console.WriteLine("Fe:"+ fe); } } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}