Ir al contenido
Otras versiones

Cargando…

Workflow samples

Para la mayoría de los ejemplos se ha usado el Purchase workflow sample.

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

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

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

Descripción:

Método Valores de retorno Descripción
runProcessDefinition(long pdId, String uuid, List values) 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());
}
}
}
}

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

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

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

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

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

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

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

Descripción:

Método Valores de retorno Descripción
setTaskInstanceValues(long tiId, String transName, List valuess) 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());
}
}
}
}

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

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

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

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

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