Workflow samples
For almost all examples has been used the Purchase workflow sample.
Methods
registerProcessDefinition
Description:
Method | Return values | Description |
---|---|---|
registerProcessDefinition($content) |
void |
Register a new workflow. |
Parameters: $content string type is recommend using file_get_contents — Reads entire file into a string |
Example:
<?php
include '../src/openkm/OpenKM.php';
ini_set('display_errors', true);
error_reporting(E_ALL);
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testRegisterProcessDefinition() {
try {
$fileName = dirname(__FILE__) . '/workflow/Purchase.par';
$this->ws->registerProcessDefinition(file_get_contents($fileName));
var_dump('Register Definition correct');
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testRegisterProcessDefinition();
?>
deleteProcessDefinition
Description:
Method | Return values | Description |
---|---|---|
deleteProcessDefinition($pdId) |
void |
Deletes a workflow. |
Parameters: $pdId integer type is a valid workflow process definition. |
Example:
<?php
include '../src/openkm/OpenKM.php';
ini_set('display_errors', true);
error_reporting(E_ALL);
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testDeleteProcessDefinition() {
try {
$pdId = 11; // Valid workflow process definition
$this->ws->deleteProcessDefinition($pdId);
var_dump('Delete Process Definition correct');
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testDeleteProcessDefinition();
?>
getProcessDefinition
Description:
Method | Return values | Description |
---|---|---|
getProcessDefinition($pdId) |
ProcessDefinition |
Returns a workflow process definition. |
Parameters: $pdId integer type is a valid workflow process definition. |
Example:
<?php
include '../src/openkm/OpenKM.php';
ini_set('display_errors', true);
error_reporting(E_ALL);
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testGetProcessDefinition() {
try {
$pdId = 83; // Valid workflow process definition
$processDefiniton = $this->ws->getProcessDefinition($pdId);
var_dump($processDefiniton);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testGetProcessDefinition();
?>
runProcessDefinition
Description:
Method | Return values | Description |
---|---|---|
runProcessDefinition($pdId, $uuid, $formElements = array) |
ProcessInstance |
Executes a workflow on some node and Returns a workflow process instance |
Parameters: $pdId int type is a valid workflow process definition. $uuid string type is the uuid or path of the document, folder, mail or record. $formElements array type are form element values needed for starting the workflow ( not all workflows need form values for starting ). |
Example:
<?php
include '../src/openkm/OpenKM.php';
ini_set('display_errors', true);
error_reporting(E_ALL);
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testRunProcessDefinition() {
try {
$pdId = 91; // Valid workflow process definition
// Same modification with only affected FormElement
$formElements = array();
$price = new \openkm\bean\form\Input();
$price->setName("price");
$price->setValue(1000);
$formElements[] = $price;
$textArea = new \openkm\bean\form\TextArea();
$textArea->setName("description");
$textArea->setValue("some description here");
$formElements[] = $textArea;
$processInstance = $this->ws->runProcessDefinition($pdId, '8e66f95b-90b4-474b-b70b-92b0f290e0b2', $formElements);
var_dump($processInstance);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testRunProcessDefinition();
?>
FindAllProcessDefinitions
Description:
Method | Return values | Description |
---|---|---|
findAllProcessDefinitions() |
array(ProcessDefinition) |
Retrieves a list of all registered workflows definitions. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindAllProcessDefinitions() {
try {
$processDefinitions = $this->ws->findAllProcessDefinitions();
foreach ($processDefinitions as $processDefinition){
var_dump($processDefinition);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindAllProcessDefinitions();
?>
findProcessInstances
Description:
Method | Return values | Description |
---|---|---|
findProcessInstances($pdId) |
array(ProcessInstance) |
Retrieves a list of all process instances of some registered workflows definition. |
Parameters: $pdId int type is a valid workflow process definition. |
Example:
<?php
include '../src/openkm/OpenKM.php';
ini_set('display_errors', true);
error_reporting(E_ALL);
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindProcessInstances() {
try {
// Get all workflow definitions
$processDefinitions = $this->ws->findAllProcessDefinitions();
foreach ($processDefinitions as $processDefinition) {
echo '<h2>WF definition</h2>';
var_dump($processDefinition);
// Get all process of some workflow definition
$processInstances = $this->ws->findProcessInstances($processDefinition->getId());
foreach ($processInstances as $processInstance) {
echo '<h2>Process Instance</h2>';
var_dump($processInstance);
}
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindProcessInstances();
?>
findLatestProcessDefinitions
Description:
Method | Return values | Description |
---|---|---|
findLatestProcessDefinitions() |
array(ProcessDefinition) |
Retrieves a list of the last workflows definitions. |
Can be several versions of the same workflow registered. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindLatestProcessDefinitions() {
try {
// Get all latest workflow definitions
$processDefinitions = $this->ws->findLatestProcessDefinitions();
foreach ($processDefinitions as $processDefinition){
var_dump($processDefinition);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindLatestProcessDefinitions();
?>
findLastProcessDefinition
Description:
Method | Return values | Description |
---|---|---|
findLastProcessDefinition($name) |
ProcessDefinition |
Retrieves last workflow definition of some specific workflow. |
Parameters: $name string type Identify an specific workflow definitions group. Several workflow definition versions they have the same name. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindLastProcessDefinition() {
try {
$processInstance = $this->ws->findLastProcessDefinition("purchase");
var_dump($processInstance);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindLastProcessDefinition();
?>
getProcessInstance
Description:
Method | Return values | Description |
---|---|---|
getProcessInstance($piId) |
ProcessInstance |
Returns the process instance. |
Parameters: $pdId string type is a valid process instance id. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testGetProcessInstance() {
try {
$piId = 77; // Some valid process instance id
$processInstance = $this->ws->getProcessInstance($piId);
var_dump($processInstance);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testGetProcessInstance();
?>
findUserTaskInstances
Description:
Method | Return values | Description |
---|---|---|
findUserTaskInstances() |
array(TaskInstance) |
Retrieves a list of task instances assigned to the user. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindUserTaskInstances() {
try {
// Get all user task intances
$taskInstances = $this->ws->findUserTaskInstances();
foreach ($taskInstances as $taskInstance) {
var_dump($taskInstance);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindUserTaskInstances();
?>
findTaskInstances
Description:
Method | Return values | Description |
---|---|---|
findTaskInstances($piId) |
array(TaskInstance) |
Retrieves a list of task instances of some process instance id. |
Parameters: $pdId string type is a valid process instance id. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testFindTaskInstances() {
try {
// Get all task instances of some process instance
$piId = 77; // Some valid process instance id
$taskInstances = $this->ws->findTaskInstances($piId);
foreach ($taskInstances as $taskInstance) {
var_dump($taskInstance);
}
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testFindTaskInstances();
?>
setTaskInstanceValues
Description:
Method | Return values | Description |
---|---|---|
setTaskInstanceValues($tiId, $transName, formElements = array()) |
void |
Retrieves a list of task instances of some process instance id. |
Parameters: $tdId string type is a valid task instance id. $transName string type is the chosen transaction. $formElements array type are form element values needed for starting the workflow ( not all workflows need form values for starting). |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testSetTaskInstanceValues() {
try {
$tiId = 5; // Some valid task instance id
$formElements = array();
$this->ws->setTaskInstanceValues($tiId, 'approve', $formElements);
echo '<p>Set task Instance value</p>';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testSetTaskInstanceValues();
?>
getTaskInstance
Description:
Method | Return values | Description |
---|---|---|
getTaskInstance($tiId) |
TaskInstance |
Returns a task instance. |
Parameters: $tdId string type is a valid task instance id. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testGetTaskInstance() {
try {
$tiId = 282; // Some valid task instance id
$taskInstance = $this->ws->getTaskInstance($tiId);
var_dump($taskInstance);
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testGetTaskInstance();
?>
setTaskInstanceActorId
Description:
Method | Return values | Description |
---|---|---|
setTaskInstanceActorId($tiId, $actorId) |
void |
Starts a task instance. |
Parameters: $tdId string type is a valid task instance id. $actorId string type must be some valid OpenKM userId. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testSetTaskInstanceActorId() {
try {
$tiId = 4; // Some valid task instance id
$this->ws->setTaskInstanceActorId($tiId,'okmAdmin');
echo '<p>Set task Instance actorid</p>';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testSetTaskInstanceActorId();
?>
startTaskInstance
Description:
Method | Return values | Description |
---|---|---|
startTaskInstance($tiId) |
void |
Starts a task instance. |
Parameters: $tdId string type is a valid task instance id. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testStartTaskInstance() {
try {
$tiId = 4; // Some valid task instance id
$this->ws->startTaskInstance($tiId);
echo '<p>Start task Instance</p>';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testStartTaskInstance();
?>
endTaskInstance
Description:
Method | Return values | Description |
---|---|---|
endTaskInstance($tiId, $transName) |
void |
Ends a task instance. |
Parameters: $tdId string type is a valid task instance id. $transName string type is the chosen transaction. |
Example:
<?php
include '../src/openkm/OpenKM.php';
use openkm\OKMWebServicesFactory;
use openkm\OpenKM;
class ExampleWorkflow {
const HOST = "http://localhost:8080/OpenKM/";
const USER = "okmAdmin";
const PASSWORD = "admin";
private $ws;
public function __construct() {
$this->ws = OKMWebServicesFactory::build(self::HOST, self::USER, self::PASSWORD);
}
public function testEndTaskInstance() {
try {
$tiId = 6; // Some valid task instance id
$this->ws->endTaskInstance($tiId, 'end');
echo '<p>End task Instance</p>';
} catch (Exception $e) {
var_dump($e);
}
}
}
$openkm = new OpenKM(); //autoload
$exampleWorkflow = new ExampleWorkflow();
$exampleWorkflow->testEndTaskInstance();
?>