Difference between pages "RunaWFE Free Workflow System" and "AdminScriptGuide"

From RunaWFE
(Difference between pages)
Jump to navigation Jump to search
 
doc>Natkinnat
 
Line 1: Line 1:
__NOTOC__
{{PageHeading|Administrative script guide}}
<div style="width: 50%; float:right; background: #fff">
<div style="background: #f9f9f9; margin: 0 0 15px 15px; padding: 15px 0;">
<div style="width:90%; margin: 5px auto 20px auto; text-align:center; background: orange; border: 2px solid red; padding: 15px 5px; border-radius: 3px; font-size: 188%"> {{Downloads|Installer|Download Windows RunaWFE-Installer}}</div>
<div style="margin:auto; width:95%">
#Run RunaWFE-4.4.1-Wildfly-java8_64u.exe, click "ok" in all dialog windows with default settings<br>
#After the installation is over click "Start Simulation" on the desktop.<br>
#Wait two minutes for the Simulator to start. Click "Simulation web interface" on the desktop.<br>Login/password (case sensitive) for administrator: ''Administrator''/''wf''.<br>
#Run Developer Studio - click "Developer Studio" on the desktop.
</div>
</div>
<div style="background: #f9f9f9; margin: 0 0 15px 15px; padding: 15px 0;">
<div style="margin:auto; width:90%; font-size: 188%; text-align: center; padding: 15px 5px;">Quick Start for other OS</div>
<div style="margin:auto; width:95%">
#Download RunaWFE Server {{Downloads|Server|RunaWFE Free Server}} . 
#Install java {{Downloads|Java8|on this link}}
#Set the JAVA_HOME environment variable
#Unpack archive file and go to the bin directory
#Run standalone.sh
#Wait two minutes for the RunaWFE Server to start
#Surf to http://localhost:8080/wfe
#Enter the system. Login/password (case sensitive) for administrator: ''Administrator''/''wf''
#Download RunaWFE Developer Studio (Process Designer) {{Downloads|DevLinux|DS for Linux}} or {{Downloads|DevMac|DS for MAC}}  
#Unpack archive file and go to the main directory (RunaWFE_DeveloperStudio...)
#Run runa-gpd


{{Licensing}}


You can find more detailed information in<br>
- [https://runawfe.org/Download download], <br>
- [https://{{SERVERNAME}}/doc/InstallationGuide installation guide], <br>
- [https://runawfe.org/doc/Documentation documentation],<br>
- [https://runawfe.org/doc/Tutorial#DemoOvertimeWork description of creating and running the demo process]
</div>
</div>
</div>
'''RunaWFE Free''' is a free Open Source BPMS (business process management system), which serves to optimize and automate business processes (for Windows, Linux, Mac OS).


It is low code (no code) fully functional business application platform, which is easy to install and easy to use.
= Introduction =


It includes Workflow Engine, Process Designer (Developer Studio) with Form Builder to work with data (input / display / output) in tasks, Task Notification Client, and other components that provide end-user convenience. The performers in the system can be both people and special computer applications - bots that remove many routine tasks from people.
Scripts are located in a separate '''adminkit''' folder in $JBOSS_HOME.  
They can be accessed from menu on '''System''' page in web-interface.


BPMN and UML AD notations are supported.


Thanks to RunaWFE Free web interface users can receive, filter, perform and delegate the tasks of business process instances, start new business process instances, view the properties of started business process instances, deploy new business process definitions (if permission is granted) and administrators can: create /remove actors and groups, include /exclude actors to/from groups, grant permissions on system objects to actors and groups, forcibly stop business process instances, add/change actors substitutions rules. RunaWFE Free Workfow System is software for complete workflow organization.
'''Note.''' The scripts can also be run from file system with script-runner.bat (script-runner.sh) command.


=Basic features:=
Script configuration is set in a separate xml file.
* Low code platform
* Up to 10,000 users supported
* LDAP/MS Active Directory integration
* Flexible role assignment
* Web services support
* Bots for automatic task execution
* Simple integration with relational data bases
* Alfresco integration
* Heterogeneous enterprise applications integration is possible
* Localization on Chinese, Dutch, English, French, German, Italian, Portuguese, Russian, Spanish, Ukrainian.  
* Support of Windows, Linux, Solaris, FreeBSD operational systems


= Configuring script-runner.bat (script-runner.sh) =


License. RunaWFE Free is delivered under LGPL licence.
# Assign the name of the user launching the script to the LOGIN variable (set LOGIN="Name")
# Assign this user’s password value to the PASSWORD variable (set PASSWORD="password")
# The name of the file containing the script configuration can also be specified (scripts/deploy-samples-script.xml by default). To do this, assign the file name value to the SCRIPT variable (set SCRIPT_PATH="scripts/deploy-samples-script.xml").  


=Links=
The script uses the '''jndi.properties''' configuration file, located in the '''conf''' folder. This file specifies how the script connects to the workflow system.


[http://www.runa.ru Runa Consulting Group] (russian).
<code>
# JbossAS4
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:10099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces


=YourKit=
# JbossAS7
[[File:YKlogo.png|130px|link=]]
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=remote://localhost:4447
jboss.naming.client.ejb.context=true
</code>


= Script language =


YourKit supports open source projects with its full-featured Java Profiler.
A script is a properly formatted XML-document with an upper-level tag '''workflowScript''', where the body of the script is contained.
YourKit, LLC is the creator of [https://www.yourkit.com/java/profiler/ YourKit Java Profiler],
 
innovative and intelligent tools for profiling Java and .NET applications.
A script must contain an XML Schema declaration in the workflowScript.xsd file. See a sample of a schema declaration in the attached scripts/deploy-samples-script.xml sample file.
 
<table>
<tr><td style="vertical-align: middle">'''Utility Elements:'''</td></tr>
</table>
 
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
|-
 
| namedIdentitySet
| Creates a named set of elements
|-
 
| identity
| identifies an element
|-
 
| executor
| identifies executor
|-
 
| permission
| enumerates permissions
|-
 
| botConfiguration
| describes bot configuration
|-
 
| batchPresentation
| describes BatchPresentation
|-
 
|}
 
 
 
<table>
<tr><td style="vertical-align: middle">'''Executors elements:'''</td></tr>
</table>
 
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
 
|-
| createActor
| Creates an actor.
 
|-
| createGroup
| Creates a group of actors.
 
|-
| deleteExecutor
| Deletes an executor.
 
|-
| deleteExecutors
| Deletes executors.
 
|-
| addExecutorsToGroup
| Adds an executor into a group.
 
|-
| removeExecutorsFromGroup
| Removes an executor from a group.
 
|-
|}
 
 
 
<table>
<tr><td style="vertical-align: middle">'''Process Definition:'''</td></tr>
</table>
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
|-
 
| deployProcessDefinition
| Deploys the process definition
|-
 
 
| removeProcessDefinitions
| Removes the process definition along with all instances of it
|-
 
|}
 
<table>
<tr><td style="vertical-align: middle">'''Process instances:'''</td></tr>
</table>
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
|-
 
| cancelProcesses
| Stops processes
|-
 
| removeProcesses
| Removes processes from the system
|-
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Permissions:'''</td></tr></table>
 
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
 
|-
| addPermissionsOnActor
| Adds permissions on an actor.
 
|-
| setPermissionsOnActor
| Sets permissions on an actor.
 
|-
| removePermissionsOnActor
| Removes permissions on an actor.
 
|-
| addPermissionsOnGroup
| Adds permissions on a group.
 
|-
| setPermissionsOnGroup
| Sets permissions on a group.
 
|-
| removePermissionsOnGroup
| Removes permissions on a group.
 
|-
| addPermissionsOnRelation
| Adds permissions on relation
 
|-
| setPermissionsOnRelation
| Sets permissions on relation
 
|-
| removePermissionsOnRelation
| Removes permissions on relation
 
 
|-
| addPermissionsOnSystem
| Adds permissions on a system.
 
|-
| setPermissionsOnSystem
| Sets permissions on a system.
 
|-
| removePermissionsOnSystem
| Removes permissions on a system.
 
|-
| addPermissionsOnRelationGroup
| Adds permissions on Relation menu
 
|-
| setPermissionsOnRelationGroup
| Sets permissions on Relation menu
 
|-
| removePermissionsRelationGroup
| Removes permissions on Relation menu
 
|-
| addPermissionsOnDefinition
| Adds permissions on a business process definition.
 
|-
| setPermissionsOnDefinition
| Sets permissions on a business process definition.
 
|-
| removePermissionsOnDefinition
| Removes permissions on a business process definition.
 
|-
| addPermissionsOnProcesses
| Adds permissions on all currently existing process instances
 
|-
| setPermissionsOnProcesses
| Sets permissions on all currently existing process instances
 
|-
| removePermissionsOnProcesses
| Removes permissions on all currently existing process instances
 
|-
| removeAllPermissionsFromExecutor
| Removes all permissions on executor
 
|-
| removeAllPermissionsFromProcessDefinition
| Removes all permissions on process definition
 
|-
| removeAllPermissionsFromProcesses
| Removes all permissions on all currently existing process instances
 
|-
| removeAllPermissionsFromSystem
| Removes all permissions on system
 
 
|}
 
 
<table> <tr><td style="vertical-align: middle">'''Botstations and Bots:'''</td></tr></table>
 
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
 
|-
| createBotStation
| Creates new bot station
 
|-
| updateBotStation
| Updates a bot station
 
|-
| deleteBotStation
| Deletes a bot station
 
|-
| createBot
| Creates new bot
 
|-
| updateBot
| Updates a bot
 
|-
| deleteBot
| Deletes a bot
 
|-
|  addPermissionsOnBotStations
| Adds permissions on bot stations
 
|-
| setPermissionsOnBotStations
| Sets permissions on bot stations
 
|-
| removePermissionsOnBotStations
| Removes permissions on bot stations
 
|-
| addConfigurationsToBot
| Adds configurations to bot
 
|-
| removeConfigurationsFromBot
| Removes configurations from bot
 
|-
| removeAllConfigurationsFromBot
| Removes all configurations from bot
 
|-
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Administrative actions:'''</td></tr></table>
 
{|width=100% border=1
! <center>Element</center>
! <center>Description</center>
|-
 
| replicateBatchPresentation
| Copies the batch presentation settings from one executor to all other executors
|-
 
| changeSubstitutions
| Changes the substitution rules
|-
 
|}
 
 
New commands addition and updates of existing commands might happen without immediate documentation update. For the latest version of commands syntaxes see file workflowScript.xsd.
 
 
= Transactions =
 
There are 2 ways to configure transactions for script operations:
* using attribute '''defaultTransactionScope''' of the root element '''workflowScript'''
Valid attribute values are ['''all''' | '''job'''].
Value '''all''' (default behaviour) means that all script operations will be executed in single transaction.
Value '''job''' means that each script operation will be executed in new transaction.
 
''Note. This attribute will be ignored if '''transactionScope''' is present in the script.''
 
* using element '''transactionScope'''. It explicitly defines the transaction bounds.
 
Example. There are 2 transactions. First one creates group Accountants, actor Ivanova and adds Ivanova to Accountants. If something goes wrong nothing is created and added. Second transaction creates actor Petrova and it is created even if something goes wrong in the first transaction.
 
<?xml version="1.0" encoding="UTF-8" ?>
<workflowScript xmlns="http://runa.ru/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://runa.ru/xml workflowScript.xsd">
  <transactionScope>
  <createGroup name="Accountants" description=”Financial staff”/>
  <createActor name="Ivanova">
  <addExecutorsToGroup name="Accountants">
          <executor name="Ivanova"/>
  </addExecutorsToGroup>
  </transactionScope>
  <transactionScope>
  <createActor name="Petrova">
  </transactionScope>
</workflowScript>
 
 
'''Note.''' In old versions single transaction per script is used.
 
= Detailed Description of Elements =
== executor ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Actor name
| Mandatory
 
|}
 
Defines an executor element with a given name
 
== permission ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Permission name
| Mandatory
 
|}
 
 
This element specifies the type of permission on an object granted to a subject (see "RUNA WFE Administrator’s Guide" for more information) and contains only one attribute – Name. The valid values for permission are as follows:
 
<table> <tr><td style="vertical-align: middle">'''Valid Values for permission Element:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Value'''''</center>
| <center>'''''Description'''''</center>
 
|-
| permission.read
| Permission to read.
 
|-
| permission.update_permissions
| Permission to update permissions.
 
|-
| permission.login_to_system
| Permission to login.
 
|-
| permission.change_self_password
| Permission to change one's own password
 
|-
| permission.create_executor
| Permission to create a user.
 
|-
| permission.deploy_definition
| Permission to load a process definition into the system.
 
|-
| permission.update_executor
| Permission to update properties (of an executor).
 
|-
| permission.update_actor_status
| Permission to update executor status
 
|-
| permission.list_group
| Permission to view (group members).
 
|-
| permission.add_to_group
| Permission to add members into a group.
 
|-
| permission.remove_from_group
| Permission to remove members from a group.
 
|-
| permission.redeploy_definition
| Permission to modify (a business process definition in the system)
 
|-
| permission.undeploy_definition
| Permission to unload (a business process definition from the system).
 
|-
| permission.start_process
| Permission to start a business process.
 
|-
| permission.read_instance
| Permission to read an instance (of a business process).
 
|-
| permission.cancel_instance
| Permission to cancel an instance (of a business process).
 
|-
| permission.bot_station_configure
| Permission to configure botstations.
 
|-
| permission.view_logs
| Permission to read log
 
|- 
|}
 
== botConfiguration ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Name'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| The name of the task for bot
| Mandatory
 
|-
| handler
| Class that can handle this task
| Mandatory when adding a configuration (not required when deleting a configuration)
 
|-
| configuration
| A path to the configuration file
| Mandatory when adding a configuration (not required when deleting a configuration)
 
|}
 
== Identity ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Name'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
 
| name
| Element name
| Mandatory
|-
 
|}
 
Defines executor or process definition with a given name
 
== namedIdentitySet ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Name'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Identity set name
| Mandatory
|-
| type
| The type of the set elements
| Mandatory
|- 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| identity
| Adds and element
| 0 or more
|-
| namedIdentitySet
| Adds a set of elements
| 0 or more
|- 
|}
 
Creates a named set of the elements (executors or process definitions). All the set elements must be of the same type. This set is referenced by name in subsequent usage.
 
== createActor ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Actor name
| Mandatory
 
|-
| fullName
| Full name
| Optional
 
|-
| description
| Description
| Optional
 
|-
| password
| Actor password
| Optional
 
|-
| code
| Employee code
| Optional
 
|-
| email
| Employee email
| Optional
 
|-
| phone
| Employee phone number
| Optional
 
|- 
|}
 
Tag example:
 
<nowiki><createActor name="ivanov" fullName="P. N. Ivanov" </nowiki>description="engineer"/>
 
== createGroup ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Group name
| Mandatory
 
|-
| description
| Description
| Optional
 
|}
Tag example:
 
<nowiki><createGroup name="Accountants" description=”Financial staff”/></nowiki>
 
== deleteExecutor ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name executor to be deleted
| Mandatory
 
|}
Tag example:
 
<nowiki><deleteExecutor name="ivanova" /></nowiki>
 
== deleteExecutors ==
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| deleteExecutor
| An executor to delete
| 1 or more
 
|- 
|}
This element is used to delete several executors in one query. The effect is the same as if after repeated usage of deleteExecutor for each executor separately. But deleteExecutors is a faster way to do it.
 
Usage example:
 
  <nowiki><deleteExecutors></nowiki>
    <nowiki><deleteExecutor name=”removed1”/></nowiki>
    <nowiki><deleteExecutor name=”removed2”/></nowiki>
  <nowiki></deleteExecutors></nowiki>
 
 
 
== addExecutorsToGroup ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the group to which members are added
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| An executor is an actor or a group of actors
| 0 or more
 
|-
| namedIdentitySet
| Named identity set of executors
| 0 or more
 
|}
Tag example:
 
<nowiki><addExecutorsToGroup name="HR staff"></nowiki>
  <nowiki><executor name="ivanova"/></nowiki>
  <nowiki><executor name="petrova"/></nowiki>
  <nowiki><namedIdentitySet name="Inspectors"/></nowiki>
<nowiki></addExecutorsToGroup></nowiki>
 
== removeExecutorsFromGroup ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the group, from which members are removed.
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executor (an actor or a group of actors)
| 0 or more
 
|-
| namedIdentitySet
| Named identity set of executors
| 0 or more
 
|}
 
Tag example:
 
<nowiki><removeExecutorsFromGroup name="RS Inspectors"></nowiki>
  <nowiki><executor name="ivanova"/></nowiki>
  <nowiki><executor name="petrova"/></nowiki>
  <nowiki><namedIdentitySet name="</nowiki>Inspectors"/>
<nowiki></removeExecutorsFromGroup></nowiki>
 
 
== deployProcessDefinition  ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
|-
 
| file
| Path to the .par file with process definition.
| Mandatory
 
|-
| type
| Process type (default type is Script).
| Optional
 
|-
|}
tag example:
 
<tt><nowiki><</nowiki>deployProcessDefinition file<nowiki>="</nowiki>c:\processes\Vacation.par" type=”vacations”/></tt>
 
== redeployProcessDefinition  ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
|-
 
| definitionId
| Process definition identifier
| Mandatory
|-
| file
| Path to the .par file with process definition.
| Mandatory
 
|-
| type
| Process type (default type is Script).
| Optional
 
|-
|}
 
== addPermissionsOnActor ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the actor, permissions are added on
| Mandatory
 
|-
| executor
| Name of executor, permissions are added to
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
Tag example:
 
<nowiki><addPermissionsOnActor name="ivanov" executor="agents"></nowiki>
  <nowiki><permission name="permission.read"/></nowiki>
  <nowiki><permission name="permission.update_permissions"/></nowiki>
<nowiki></addPermissionsOnActor></nowiki>
 
== setPermissionsOnActor ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the actor, permissions are set on
| Mandatory
 
|-
| executor
| Executor, permissions on the actor are granted to
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
Tag example:
 
<nowiki><setPermissionsOnActor name="ivanov" executor="agents"></nowiki>
    <nowiki><permission name="permission.read"/></nowiki>
    <nowiki><permission name="permission.update_permissions"/></nowiki>
<nowiki></setPermissionsOnActor ></nowiki>
 
== removePermissionsOnActor ==
 
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of actor, on whom permissions are removed
| Mandatory
 
|-
| executor
| Executor, whose permissions on the actor are removed
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
Tag example:
 
<nowiki><removePermissionsOnActor name="ivanov" executor="agents"></nowiki>
    <nowiki><permission name="permission.read"/></nowiki>
<nowiki></removePermissionsOnActor></nowiki>
 
== addPermissionsOnGroup  ==
 
See below
 
== setPermissionsOnGroup  ==
 
See below
 
== removePermissionsOnGroup  ==
Syntax and attributes for  *PermissionsOnActor and *PermissionsOnGroup are alike and described below. The difference is only in the set of allowed permissions types set and allowed executors in namedIdentitySet and name attibute.
 
Permissions types allowed for actors:
 
* ''permission.read''
* ''permission.update_permissions''
* ''permission.update_actor_status''
* ''permission.update_executor''
 
for groups:
 
* ''permission.read''
* ''permission.update_permissions''
* ''permission.update_executor''
* ''permission.list_group''
* ''permission.list_group''
* ''permission.remove_from_group) ''
 
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the group, on which permissions are added on
| Optional
 
|-
| executor
| Name of executor, permissions are added to
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| 0 or more
 
|-
| namedIdentitySet
| Name of the executors set to which the permissions added
| 0 or more
 
 
|}
 
 
The permissions are added to the executor defined in the mandatory executor attribute. This executor will get named permissions over the executors from the embedded element namedIdentitySet (if it is set) and the executor defined by name attribute (if it is set).
 
Tag example:
 
  <nowiki><addPermissionsOnActor name="ivanov" executor="</nowiki>agents">
    <nowiki><namedIdentitySet name="</nowiki>Employees"/>
    <nowiki><permission name="permission.read"/></nowiki>
  <nowiki></addPermissionsOnActor></nowiki>
 
== addPermissionsOnRelation (since version 4.0.5) ==
 
See below
 
== setPermissionsOnRelation (since version 4.0.5) ==
 
See below
 
== removePermissionsOnRelation (since version 4.0.5) ==
 
Allowed permissions:
 
* ''permission.read''
* ''permission.update_permissions''
* ''permission.update_relation''
 
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Relation name (for which permissions are added)
| Optional
 
|-
| executor
| Executor to whom permissions are added
| Required
 
|- 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| permissions type
| 0 or more
 
|-
| namedIdentitySet
| Named identity set of relations for which permission are added
| 0 or more
 
|- 
|}
 
Relations to which permissions are added for the executor indicated in executor attribute include relations from namedIdentitySet (if present) and relations indicated by name attribute (if present).
 
Tag example:
 
  <nowiki><addPermissionsOnRelation name="boss" executor="</nowiki>agents">
    <nowiki><namedIdentitySet name="</nowiki>All_Relations"/>
    <nowiki><permission name="permission.read"/></nowiki>
  <nowiki></addPermissionsOnRelation></nowiki>
 
== addPermissionsOnSystem ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executor, permissions on the system are added to
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
 
The following permission names are valid for system:
* permission.read
* permission.update_permissions
* permission.login_to_system
* permission.change_self_password
* permission.create_executor
* permission.deploy_definition
* permission.change_self_password
* permission.view_logs
 
 
Tag example:
 
<nowiki><addPermissionsOnSystem executor="All employees"></nowiki>
  <nowiki><permission name="permission.read"/></nowiki>
  <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></addPermissionsOnSystem></nowiki>
 
 
== setPermissionsOnSystem ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executor, permissions on the system are granted to
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
Tag example:
 
<nowiki><setPermissionsOnSystem executor="A</nowiki>ll employees">
  <nowiki><permission name="permission.read"/></nowiki>
  <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></setPermissionsOnSystem></nowiki>
 
 
== removePermissionsOnSystem ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executor, whose permissions on the system are removed
| Mandatory
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|}
Tag example:
 
<nowiki><removePermissionsOnSystem executor="A</nowiki>ll employees">
  <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></removePermissionsOnSystem></nowiki>
 
 
== addPermissionsOnDefinition ==
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition on which permissions are added
| Required
 
|-
| executor
| Executor to whom permissions are added
| Required
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|- 
|}
Tag example:
 
<nowiki><addPermissionsOnDefinition name="</nowiki>vacation" executor="ivanov">
    <nowiki><permission name="permission.read"/></nowiki>
    <nowiki><permission name="permission.start_process"/></nowiki>
    <nowiki><permission name="permission.read_process"/></nowiki>
<nowiki></addPermissionsOnDefinition></nowiki>
 
== setPermissionsOnDefinition  ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition on which permissions are added
| Required
 
|-
| executor
| Executor to whom permissions are added
| Required
 
|- 
|}
 
 
 
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|- 
|}
Tag example:
 
<nowiki><setPermissionsOnDefinition name="</nowiki>vacation" executor="ivanov">
    <nowiki><permission name="permission.read"/></nowiki>
    <nowiki><permission name="permission.update_permissions"/></nowiki>
    <nowiki><permission name="permission.redeploy_definition"/></nowiki>
    <nowiki><permission name="permission.undeploy_definition"/></nowiki>
    <nowiki><permission name="permission.start_process"/></nowiki>
    <nowiki><permission name="permission.read_process"/></nowiki>
<nowiki></setPermissionsOnDefinition></nowiki>
 
== removePermissionsOnDefinition  ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition on which permissions are added
| Required
 
|-
| executor
| Executor to whom permissions are added
| Required
 
|- 
|}
 
Allowed permission types:
 
* permission.read
* permission.update_permissions
* permission.undeploy_definition
* permission.redeploy_definition
* permission.start_process
* permission.read_process
* permission.cancel_process
 
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|-
| namedIdentitySet
| Named identity set of process definitions to which permissions are added/set/removed
| 0 or more
 
|-
|}
Process definitions to which permissions are added for the executor indicated in executor attribute include process definitions from namedIdentitySet (if present) and process definition indicated by name attribute (if present).
 
 
Tag example:
 
  <nowiki><addPermissionsOnDefinition executor="</nowiki>агенты">
    <nowiki><namedIdentitySet name="</nowiki>Все процессы"/>
    <nowiki><permission name="</nowiki>permission.start_process"/>
    <nowiki><permission name="permission.read"/></nowiki>
  <nowiki></addPermissionsOnDefinition></nowiki>
 
== addPermissionsOnProcesses ==
See below
 
== Элемент setPermissionsOnProcesses  ==
 
See below
 
== Элемент removePermissionsOnProcesses  ==
 
 
Sintax and attributes of all *PermissionsOnProcesses are similar.
 
Allowed permissions types:
 
* permission.read
* permission.update_permissions
* permission.cancel_process
 
 
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition on which instances permissions are added/set/removed
| Required
 
|-
| executor
| Executor to whom permissions are added/set/removed
| Required
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permission type
| Optional
 
|-
|}
Tag example:
 
  <nowiki><</nowiki>addPermissionsOnProcesses name<nowiki>="vacation" </nowiki>executor<nowiki>="HR_inspectors"></nowiki>
    <nowiki><permission name="permission.update_permissions" /></nowiki>
    <nowiki><permission name="permission.cancel_process" /></nowiki>
  <nowiki></addPermissionsOnProcesses></nowiki>
 
== removeAllPermissionsFromExecutor ==
See below
 
== removeAllPermissionsFromProcessDefinition  ==
See below
 
== removeAllPermissionsFromProcesses  ==
Sintax and attributes of removeAllPermissionsFrom* commands are similar.
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| A named object permissions to which are to be removed from all users
| Required
 
|- 
|}
Tag example:
 
<nowiki><</nowiki>removeAllPermissionsFromProcesses name="vacation"/>
 
== createBotStation ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot station name
| Mandatory
 
|-
| address
| Bot station address
| Optional
 
|}
Tag example:
 
<nowiki><createBotstation name="botstation" address="localhost"/></nowiki>
 
 
== updateBotStation ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot station name
| Mandatory
 
|-
| newName
| New bot station name
| Optional
 
|-
| address
| Bot station address
| Optional
 
|}
Tag example:
 
<nowiki><updateBotstation name="botstation" </nowiki>newName="localhostBotStation" address="localhost"/>
 
 
== deleteBotStation ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot station name
| Mandatory
 
|}
Tag example:
 
<nowiki><deleteBotstation name="botstation"/></nowiki>
 
== createBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot name
| Mandatory
 
|-
| botStation
| Bot station name
| Mandatory
 
|-
| startTimeout
| Start timeout
| Optional
 
|-
| password
| Bot password
| Optional
 
|}
Tag example:
 
<nowiki><createBot name="UniversalBot" botStation="botstation" startTimeout="200" password="123"/></nowiki>
 
 
== updateBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot name
| Mandatory
 
|-
| newName
| New bot name
| Optional
 
|-
| botStation
| Bot station name
| Optional
 
|-
| newBotStation
| New bot station name
| Optional
 
|-
| startTimeout
| Start timeout
| Optional
 
|-
| password
| Bot password
| Optional
 
|}
Tag example:
 
<nowiki><updateBot name="UniversalBot" botStation="localbotstation" startTimeout="0" password="321"/></nowiki>
 
 
== deleteBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Bot name
| Mandatory
 
|}
Tag example:
 
  <nowiki><deleteBot name="UniversalBot" botStation="localbotstation"/></nowiki>
 
== addConfigurationsToBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the bot to add configuration
| Mandatory
 
|-
| botStation
| Botstation name
| Optional
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| botConfiguration
| Configuration to add
| At least 1
 
|}
Tag example:
 
<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
    <nowiki><botConfiguration name="" handler="" configuration=""/></nowiki>
<nowiki></addExecutorsToGroup></nowiki>
 
<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
  <nowiki><botConfiguration name="" handler="">
      <nowiki><any configuration XML>
  </nowiki></botConfiguration>
<nowiki></addConfigurationsToBot></nowiki>
 
== removeConfigurationsFromBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the bot to remove configuration
| Mandatory
 
|-
| botStation
| Botstation name
| Optional
 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| botConfiguration
| Configuration to remove
| At least 1
 
|}
Tag example:
 
<nowiki><removeConfigurationsFromBot name="UniversalBot"></nowiki>
    <nowiki><botConfiguration name="doNothing"/></nowiki>
<nowiki></removeExecutorsFromGroup></nowiki>
 
 
== removeAllConfigurationsFromBot ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Name of the bot to add configuration
| Mandatory
 
|}
Tag example:
 
<nowiki><removeAllConfigurationsFromBot name="UniversalBot"/></nowiki>
 
 
== addPermissionsOnBotStations ==
 
See below
 
== setPermissionsOnBotStations ==
 
See below
 
== removePermissionsOnBotStations ==
Sintax and attributes for all *PermissionsOnBotStations commands are similar
 
Allowed permissions types:
 
* permission.read
* permission.update_permissions
* permission.bot_station_configure
 
<table> <tr><td style="vertical-align: middle">'''Element attributes'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executor to whom the permissions are added/set/removed
| Required
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| permission
| Permissions type
| Optional
 
|- 
|}
Tag example:
 
<nowiki><setPermissionsOnBotStations executor="A</nowiki>ll employees">
    <nowiki><permission name="permission.read"/></nowiki>
<nowiki></setPermissionsOnBotStations></nowiki>
 
== replicateBatchPresentation ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| batchName
| The name of the BatchPresentation copy
| Mandatory
 
|-
| setActive
| Set status (active or not) to the created BatchPresentation copy. Possible values:
'all' - set active for all profiles;
'changed' - active only if BatchPresentation is changed in profile;
'none' - not active for all profiles
| Default value is 'none'
 
|-
| useTemplates
| Defines if BatchPresentation templates should be used. If 'no', then if copied BatchPresentation is present, the substitution always occurs
| Optional, default value 'yes'
 
|- 
|}
 
<table> <tr><td style="vertical-align: middle">'''Embedded Elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
|-
| batchPresentation
| BatchPresentation description
| 1 or more
 
|- 
|}
The replicateBatchPresentation element must have only one child element batchPresentation with attribute nama='source' and any number of batchPresentation child elements with attirbute name='template'. The BatchPresentation replication occurs in the following cases:
 
# The copied BatchPresentation doesn't exist yet.
# useTemplates='no'.
# useTemplates='yes' and the substituted BatchPresentation equals to one of the BatchPresentation templates.
 
Tag example:
 
<tt><nowiki><replicateBatchPresentation batchName="replicatedNew" setActive="all" useTemplates="yes"></nowiki></tt>
  <tt><nowiki><batchPresentation name="source" actorName="attila" batchId="listTasksForm" batchName="replicateMe"/></nowiki></tt>
  <tt><nowiki><batchPresentation name="template" batchId="listTasksForm"/></nowiki></tt>
<tt><nowiki></replicateBatchPresentation></nowiki></tt>
 
 
== batchPresentation ==
 
<table> <tr><td style="vertical-align: middle">'''Attributes:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| <tt>name</tt>
| Element name
| Mandatory
 
|-
| <tt>actorName</tt>
| Actor name to whom batchPresentation belongs.
| Optional
 
|-
| <tt>batchId</tt>
| BatchPresentation type. (See allowed values in AFProfileStrategy and WFProfileStrategy java classes sources)
| Mandatory
 
|-
| <tt>batchName</tt>
| BatchPresentation name
| Optional
 
|- 
|}
 
If actorName and BatchName are not specified the default BatchPresentation for a given batchId is used.
 
 
== changeSubstitutions ==
 
<table> <tr><td style="vertical-align: middle">'''Embedded Elements:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| executor
| Executors whose substitution rules need to be changed
| 1 or more
 
|-
| delete
| Substitution rules to be deleted
| 0 or more
 
|-
| add
| Substitution rules to be added
| 0 or more
 
|- 
|}
 
The must be at least one executor element present (more than on is also allowed). Executor can be an actor or a group.
 
Changes in substitutions will be applied to all the executors and all group members set via executor element.
 
element 'delete' attributes:
* orgFunc - optional
* criteria - optional (default value 'always')
 
element 'add' attributes:
* orgFunc - optional
* criteria - optional (default value 'always')
* isFirst - optional (default value 'true')
* isEnable - optional (default value 'true')
 
 
If orgFunc (and/or) criteria are set in 'delete' element then all substitution rules that match all set parameters are deleted. But if no parameters set all the substitution rules are deleted.
 
Substitution rules will be applied in the order in which they are added. The first added rule with isFirst=true and isEnable=true will be the first, the second will be second and etc. The same logic goes for rules with isFirst=false but only from the tail of the queue. The first added will be the last rule, the second - the one before last, etc.
If orgfunction is not specified in the 'add' element, then terminator will be added.
 
Allowed replacements:
%self_code% %self_id% %self_name%
 
Tag example:
 
<nowiki><changeSubstitutions></nowiki>
  <nowiki><executor name="***"/></nowiki>
  <nowiki><delete orgFunc="***" criteria="***"/></nowiki>
  <nowiki><add orgFunc="***" criteria="***" isFirst="***" isEnabled="***"/> </nowiki>
<nowiki></changeSubstitutions></nowiki>
 
== removeProcesses ==
 
<table> <tr><td style="vertical-align: middle">'''Element attributes'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition name
| Optional
 
|-
| version
| Process definition version of which to remove process instances
| Optional
 
|-
| id
| If this attribute present then the process instance with indicated ID is removed
| Optional
 
|-
| idFrom
| If present then process instances with ID greater than indicated ID (inclusive) are removed
| Optional
 
|-
| idTo
| If present then process instances ID less than indicated ID (inclusive) are removed
| Optional
 
|-
| startDateFrom
| Process instance start date is later or equal than given date
| Optional
 
|-
| startDateTo
| Process instance start date is earlier or equal than given date
| Optional
 
|-
| endDateFrom
| Process instance end date is later or equal than given date
| Optional
 
|-
| endDateTo
| Process instance end date is earlier or equal than given date
| Optional
 
|-
| onlyFinished
| Remove only finish process instances, only not finished or all if value not set.
| Optional
 
|- 
|}
 
'''Note.''' Attributes date format is default {{Serv}} format (as set in {{Serv}} configurations) by default it's dd.mm.yyyy.
 
== cancelProcesses ==
 
It's similar to removeProcesses.
 
== removeProcessDefinitions ==
 
<table> <tr><td style="vertical-align: middle">'''Element attributes'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Process definition name
| Required
 
|-
| version
| Process definition version number
| Optional
 
|-
| versionFrom
| Remove all definitions with given name starting from this version
| Optional
 
|-
| versionTo
| Remove all definitions with given name ending by this version
| Optional
 
|- 
|}
 
== stopProcess ==
 
<table> <tr><td style="vertical-align: middle">'''Element attributes'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| id
| Process instance id
| Required
|- 
|}
Tag example:
 
<nowiki><stopProcess id=”1”/></nowiki>
 
== relation ==
 
<table> <tr><td style="vertical-align: middle">'''Element attributes:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Attribute'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| name
| Relation name
| Required
 
|-
| description
| Relation description
| Optional
 
|- 
|}
 
If relation with given name exists already then pairs described by embedded tags will be added to it. If relation doesn't exist it is created.
 
<table> <tr><td style="vertical-align: middle">'''Embedded elements:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Element'''''</center>
| <center>'''''Description'''''</center>
| <center>'''''Mandatory'''''</center>
 
|-
| right
| Right part of the relation
| Required
 
|-
| left
| Left part of the relation
| Required
 
|- 
|}
 
In <right> and <left> tags <executor> tags are placed with actors or\and groups, that constitute right and left part of the relation accordingly.
 
Tag example:
 
<nowiki><relation name="Boss"></nowiki>
  <nowiki><left></nowiki>
    <nowiki><executor name="nero"/></nowiki>
  <nowiki></left></nowiki>
  <nowiki><right></nowiki>
    <nowiki><executor name="caligula"/></nowiki>
    <nowiki><executor name="attila"/></nowiki>
  <nowiki></right></nowiki>
<nowiki></relation></nowiki>

Revision as of 12:57, 30 May 2014

Administrative script guide

RunaWFE Free Workflow System (BPMS) Version 4.5.0

© 2003 - 2015, Consulting Group Runa

© 2015 - 2024, "Process Technologies" Ltd, this document is available under GNU FDL license. RunaWFE Free is an open source system distributed under a LGPL license (http://www.gnu.org/licenses/lgpl.html).


Introduction

Scripts are located in a separate adminkit folder in $JBOSS_HOME. They can be accessed from menu on System page in web-interface.


Note. The scripts can also be run from file system with script-runner.bat (script-runner.sh) command.

Script configuration is set in a separate xml file.

Configuring script-runner.bat (script-runner.sh)

  1. Assign the name of the user launching the script to the LOGIN variable (set LOGIN="Name")
  2. Assign this user’s password value to the PASSWORD variable (set PASSWORD="password")
  3. The name of the file containing the script configuration can also be specified (scripts/deploy-samples-script.xml by default). To do this, assign the file name value to the SCRIPT variable (set SCRIPT_PATH="scripts/deploy-samples-script.xml").

The script uses the jndi.properties configuration file, located in the conf folder. This file specifies how the script connects to the workflow system.

# JbossAS4
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:10099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
# JbossAS7
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=remote://localhost:4447
jboss.naming.client.ejb.context=true

Script language

A script is a properly formatted XML-document with an upper-level tag workflowScript, where the body of the script is contained.

A script must contain an XML Schema declaration in the workflowScript.xsd file. See a sample of a schema declaration in the attached scripts/deploy-samples-script.xml sample file.

Utility Elements:
Element
Description
namedIdentitySet Creates a named set of elements
identity identifies an element
executor identifies executor
permission enumerates permissions
botConfiguration describes bot configuration
batchPresentation describes BatchPresentation


Executors elements:
Element
Description
createActor Creates an actor.
createGroup Creates a group of actors.
deleteExecutor Deletes an executor.
deleteExecutors Deletes executors.
addExecutorsToGroup Adds an executor into a group.
removeExecutorsFromGroup Removes an executor from a group.


Process Definition:
Element
Description
deployProcessDefinition Deploys the process definition
removeProcessDefinitions Removes the process definition along with all instances of it
Process instances:
Element
Description
cancelProcesses Stops processes
removeProcesses Removes processes from the system
Permissions:
Element
Description
addPermissionsOnActor Adds permissions on an actor.
setPermissionsOnActor Sets permissions on an actor.
removePermissionsOnActor Removes permissions on an actor.
addPermissionsOnGroup Adds permissions on a group.
setPermissionsOnGroup Sets permissions on a group.
removePermissionsOnGroup Removes permissions on a group.
addPermissionsOnRelation Adds permissions on relation
setPermissionsOnRelation Sets permissions on relation
removePermissionsOnRelation Removes permissions on relation


addPermissionsOnSystem Adds permissions on a system.
setPermissionsOnSystem Sets permissions on a system.
removePermissionsOnSystem Removes permissions on a system.
addPermissionsOnRelationGroup Adds permissions on Relation menu
setPermissionsOnRelationGroup Sets permissions on Relation menu
removePermissionsRelationGroup Removes permissions on Relation menu
addPermissionsOnDefinition Adds permissions on a business process definition.
setPermissionsOnDefinition Sets permissions on a business process definition.
removePermissionsOnDefinition Removes permissions on a business process definition.
addPermissionsOnProcesses Adds permissions on all currently existing process instances
setPermissionsOnProcesses Sets permissions on all currently existing process instances
removePermissionsOnProcesses Removes permissions on all currently existing process instances
removeAllPermissionsFromExecutor Removes all permissions on executor
removeAllPermissionsFromProcessDefinition Removes all permissions on process definition
removeAllPermissionsFromProcesses Removes all permissions on all currently existing process instances
removeAllPermissionsFromSystem Removes all permissions on system



Botstations and Bots:
Element
Description
createBotStation Creates new bot station
updateBotStation Updates a bot station
deleteBotStation Deletes a bot station
createBot Creates new bot
updateBot Updates a bot
deleteBot Deletes a bot
addPermissionsOnBotStations Adds permissions on bot stations
setPermissionsOnBotStations Sets permissions on bot stations
removePermissionsOnBotStations Removes permissions on bot stations
addConfigurationsToBot Adds configurations to bot
removeConfigurationsFromBot Removes configurations from bot
removeAllConfigurationsFromBot Removes all configurations from bot


Administrative actions:
Element
Description
replicateBatchPresentation Copies the batch presentation settings from one executor to all other executors
changeSubstitutions Changes the substitution rules


New commands addition and updates of existing commands might happen without immediate documentation update. For the latest version of commands syntaxes see file workflowScript.xsd.


Transactions

There are 2 ways to configure transactions for script operations:

  • using attribute defaultTransactionScope of the root element workflowScript

Valid attribute values are [all | job]. Value all (default behaviour) means that all script operations will be executed in single transaction. Value job means that each script operation will be executed in new transaction.

Note. This attribute will be ignored if transactionScope is present in the script.

  • using element transactionScope. It explicitly defines the transaction bounds.

Example. There are 2 transactions. First one creates group Accountants, actor Ivanova and adds Ivanova to Accountants. If something goes wrong nothing is created and added. Second transaction creates actor Petrova and it is created even if something goes wrong in the first transaction.

<?xml version="1.0" encoding="UTF-8" ?>
<workflowScript xmlns="http://runa.ru/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://runa.ru/xml workflowScript.xsd">
 <transactionScope>
  <createGroup name="Accountants" description=”Financial staff”/>
  <createActor name="Ivanova"> 
  <addExecutorsToGroup name="Accountants"> 
          <executor name="Ivanova"/> 
  </addExecutorsToGroup> 
 </transactionScope>
 <transactionScope>
  <createActor name="Petrova"> 
 </transactionScope>
</workflowScript>


Note. In old versions single transaction per script is used.

Detailed Description of Elements

executor

Attributes:
Attribute
Description
Mandatory
name Actor name Mandatory

Defines an executor element with a given name

permission

Attributes:
Attribute
Description
Mandatory
name Permission name Mandatory


This element specifies the type of permission on an object granted to a subject (see "RUNA WFE Administrator’s Guide" for more information) and contains only one attribute – Name. The valid values for permission are as follows:

Valid Values for permission Element:
Value
Description
permission.read Permission to read.
permission.update_permissions Permission to update permissions.
permission.login_to_system Permission to login.
permission.change_self_password Permission to change one's own password
permission.create_executor Permission to create a user.
permission.deploy_definition Permission to load a process definition into the system.
permission.update_executor Permission to update properties (of an executor).
permission.update_actor_status Permission to update executor status
permission.list_group Permission to view (group members).
permission.add_to_group Permission to add members into a group.
permission.remove_from_group Permission to remove members from a group.
permission.redeploy_definition Permission to modify (a business process definition in the system)
permission.undeploy_definition Permission to unload (a business process definition from the system).
permission.start_process Permission to start a business process.
permission.read_instance Permission to read an instance (of a business process).
permission.cancel_instance Permission to cancel an instance (of a business process).
permission.bot_station_configure Permission to configure botstations.
permission.view_logs Permission to read log

botConfiguration

Attributes:
Name
Description
Mandatory
name The name of the task for bot Mandatory
handler Class that can handle this task Mandatory when adding a configuration (not required when deleting a configuration)
configuration A path to the configuration file Mandatory when adding a configuration (not required when deleting a configuration)

Identity

Attributes:
Name
Description
Mandatory
name Element name Mandatory

Defines executor or process definition with a given name

namedIdentitySet

Attributes:
Name
Description
Mandatory
name Identity set name Mandatory
type The type of the set elements Mandatory
Embedded elements:
Element
Description
Mandatory
identity Adds and element 0 or more
namedIdentitySet Adds a set of elements 0 or more

Creates a named set of the elements (executors or process definitions). All the set elements must be of the same type. This set is referenced by name in subsequent usage.

createActor

Attributes:
Attribute
Description
Mandatory
name Actor name Mandatory
fullName Full name Optional
description Description Optional
password Actor password Optional
code Employee code Optional
email Employee email Optional
phone Employee phone number Optional

Tag example:

<createActor name="ivanov" fullName="P. N. Ivanov" description="engineer"/>

createGroup

Attributes:
Attribute
Description
Mandatory
name Group name Mandatory
description Description Optional

Tag example:

<createGroup name="Accountants" description=”Financial staff”/>

deleteExecutor

Attributes:
Attribute
Description
Mandatory
name Name executor to be deleted Mandatory

Tag example:

<deleteExecutor name="ivanova" />

deleteExecutors

Embedded elements:
Element
Description
Mandatory
deleteExecutor An executor to delete 1 or more

This element is used to delete several executors in one query. The effect is the same as if after repeated usage of deleteExecutor for each executor separately. But deleteExecutors is a faster way to do it.

Usage example:

  <deleteExecutors>
    <deleteExecutor name=”removed1”/>
    <deleteExecutor name=”removed2”/>
  </deleteExecutors>


addExecutorsToGroup

Attributes:
Attribute
Description
Mandatory
name Name of the group to which members are added Mandatory
Embedded elements:
Element
Description
Mandatory
executor An executor is an actor or a group of actors 0 or more
namedIdentitySet Named identity set of executors 0 or more

Tag example:

<addExecutorsToGroup name="HR staff">
  <executor name="ivanova"/>
  <executor name="petrova"/>
  <namedIdentitySet name="Inspectors"/>
</addExecutorsToGroup>

removeExecutorsFromGroup

Attributes:
Attribute
Description
Mandatory
name Name of the group, from which members are removed. Mandatory
Embedded elements:
Element
Description
Mandatory
executor Executor (an actor or a group of actors) 0 or more
namedIdentitySet Named identity set of executors 0 or more

Tag example:

<removeExecutorsFromGroup name="RS Inspectors">
  <executor name="ivanova"/>
  <executor name="petrova"/>
  <namedIdentitySet name="Inspectors"/>
</removeExecutorsFromGroup>


deployProcessDefinition

Attributes:
Attribute
Description
Mandatory
file Path to the .par file with process definition. Mandatory
type Process type (default type is Script). Optional

tag example:

<deployProcessDefinition file="c:\processes\Vacation.par" type=”vacations”/>

redeployProcessDefinition

Attributes:
Attribute
Description
Mandatory
definitionId Process definition identifier Mandatory
file Path to the .par file with process definition. Mandatory
type Process type (default type is Script). Optional

addPermissionsOnActor

Attributes:
Attribute
Description
Mandatory
name Name of the actor, permissions are added on Mandatory
executor Name of executor, permissions are added to Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<addPermissionsOnActor name="ivanov" executor="agents">
  <permission name="permission.read"/>
  <permission name="permission.update_permissions"/>
</addPermissionsOnActor>

setPermissionsOnActor

Attributes:
Attribute
Description
Mandatory
name Name of the actor, permissions are set on Mandatory
executor Executor, permissions on the actor are granted to Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<setPermissionsOnActor name="ivanov" executor="agents">
   <permission name="permission.read"/>
   <permission name="permission.update_permissions"/>
</setPermissionsOnActor >

removePermissionsOnActor

Attributes:
Attribute
Description
Mandatory
name Name of actor, on whom permissions are removed Mandatory
executor Executor, whose permissions on the actor are removed Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<removePermissionsOnActor name="ivanov" executor="agents">
   <permission name="permission.read"/>
</removePermissionsOnActor>

addPermissionsOnGroup

See below

setPermissionsOnGroup

See below

removePermissionsOnGroup

Syntax and attributes for *PermissionsOnActor and *PermissionsOnGroup are alike and described below. The difference is only in the set of allowed permissions types set and allowed executors in namedIdentitySet and name attibute.

Permissions types allowed for actors:

  • permission.read
  • permission.update_permissions
  • permission.update_actor_status
  • permission.update_executor

for groups:

  • permission.read
  • permission.update_permissions
  • permission.update_executor
  • permission.list_group
  • permission.list_group
  • permission.remove_from_group)


Attributes:
Attribute
Description
Mandatory
name Name of the group, on which permissions are added on Optional
executor Name of executor, permissions are added to Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type 0 or more
namedIdentitySet Name of the executors set to which the permissions added 0 or more



The permissions are added to the executor defined in the mandatory executor attribute. This executor will get named permissions over the executors from the embedded element namedIdentitySet (if it is set) and the executor defined by name attribute (if it is set).

Tag example:

  <addPermissionsOnActor name="ivanov" executor="agents">
    <namedIdentitySet name="Employees"/>
    <permission name="permission.read"/>
  </addPermissionsOnActor>

addPermissionsOnRelation (since version 4.0.5)

See below

setPermissionsOnRelation (since version 4.0.5)

See below

removePermissionsOnRelation (since version 4.0.5)

Allowed permissions:

  • permission.read
  • permission.update_permissions
  • permission.update_relation


Element attributes:
Attribute
Description
Mandatory
name Relation name (for which permissions are added) Optional
executor Executor to whom permissions are added Required
Embedded elements:
Element
Description
Mandatory
permission permissions type 0 or more
namedIdentitySet Named identity set of relations for which permission are added 0 or more

Relations to which permissions are added for the executor indicated in executor attribute include relations from namedIdentitySet (if present) and relations indicated by name attribute (if present).

Tag example:

  <addPermissionsOnRelation name="boss" executor="agents">
    <namedIdentitySet name="All_Relations"/>
    <permission name="permission.read"/>
  </addPermissionsOnRelation>

addPermissionsOnSystem

Attributes:
Attribute
Description
Mandatory
executor Executor, permissions on the system are added to Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

The following permission names are valid for system:

  • permission.read
  • permission.update_permissions
  • permission.login_to_system
  • permission.change_self_password
  • permission.create_executor
  • permission.deploy_definition
  • permission.change_self_password
  • permission.view_logs


Tag example:

<addPermissionsOnSystem executor="All employees">
  <permission name="permission.read"/>
  <permission name="permission.login_to_system"/>
</addPermissionsOnSystem>


setPermissionsOnSystem

Attributes:
Attribute
Description
Mandatory
executor Executor, permissions on the system are granted to Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<setPermissionsOnSystem executor="All employees">
  <permission name="permission.read"/>
  <permission name="permission.login_to_system"/>
</setPermissionsOnSystem>


removePermissionsOnSystem

Attributes:
Attribute
Description
Mandatory
executor Executor, whose permissions on the system are removed Mandatory
Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<removePermissionsOnSystem executor="All employees">
  <permission name="permission.login_to_system"/>
</removePermissionsOnSystem>


addPermissionsOnDefinition

Element attributes:
Attribute
Description
Mandatory
name Process definition on which permissions are added Required
executor Executor to whom permissions are added Required


Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<addPermissionsOnDefinition name="vacation" executor="ivanov">
    <permission name="permission.read"/>
    <permission name="permission.start_process"/>
    <permission name="permission.read_process"/>
</addPermissionsOnDefinition>

setPermissionsOnDefinition

Element attributes:
Attribute
Description
Mandatory
name Process definition on which permissions are added Required
executor Executor to whom permissions are added Required



Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

<setPermissionsOnDefinition name="vacation" executor="ivanov">
    <permission name="permission.read"/>
    <permission name="permission.update_permissions"/>
    <permission name="permission.redeploy_definition"/>
    <permission name="permission.undeploy_definition"/>
    <permission name="permission.start_process"/>
    <permission name="permission.read_process"/>
</setPermissionsOnDefinition>

removePermissionsOnDefinition

Element attributes:
Attribute
Description
Mandatory
name Process definition on which permissions are added Required
executor Executor to whom permissions are added Required

Allowed permission types:

  • permission.read
  • permission.update_permissions
  • permission.undeploy_definition
  • permission.redeploy_definition
  • permission.start_process
  • permission.read_process
  • permission.cancel_process


Embedded elements:
Element
Description
Mandatory
permission Permission type Optional
namedIdentitySet Named identity set of process definitions to which permissions are added/set/removed 0 or more

Process definitions to which permissions are added for the executor indicated in executor attribute include process definitions from namedIdentitySet (if present) and process definition indicated by name attribute (if present).


Tag example:

  <addPermissionsOnDefinition executor="агенты">
    <namedIdentitySet name="Все процессы"/>
    <permission name="permission.start_process"/>
    <permission name="permission.read"/>
  </addPermissionsOnDefinition>

addPermissionsOnProcesses

See below

Элемент setPermissionsOnProcesses

See below

Элемент removePermissionsOnProcesses

Sintax and attributes of all *PermissionsOnProcesses are similar.

Allowed permissions types:

  • permission.read
  • permission.update_permissions
  • permission.cancel_process



Element attributes:
Attribute
Description
Mandatory
name Process definition on which instances permissions are added/set/removed Required
executor Executor to whom permissions are added/set/removed Required


Embedded elements:
Element
Description
Mandatory
permission Permission type Optional

Tag example:

  <addPermissionsOnProcesses name="vacation" executor="HR_inspectors">
    <permission name="permission.update_permissions" />
    <permission name="permission.cancel_process" />
  </addPermissionsOnProcesses>

removeAllPermissionsFromExecutor

See below

removeAllPermissionsFromProcessDefinition

See below

removeAllPermissionsFromProcesses

Sintax and attributes of removeAllPermissionsFrom* commands are similar.

Element attributes:
Attribute
Description
Mandatory
name A named object permissions to which are to be removed from all users Required

Tag example:

<removeAllPermissionsFromProcesses name="vacation"/>

createBotStation

Attributes:
Attribute
Description
Mandatory
name Bot station name Mandatory
address Bot station address Optional

Tag example:

<createBotstation name="botstation" address="localhost"/>


updateBotStation

Attributes:
Attribute
Description
Mandatory
name Bot station name Mandatory
newName New bot station name Optional
address Bot station address Optional

Tag example:

<updateBotstation name="botstation" newName="localhostBotStation" address="localhost"/>


deleteBotStation

Attributes:
Attribute
Description
Mandatory
name Bot station name Mandatory

Tag example:

<deleteBotstation name="botstation"/>

createBot

Attributes:
Attribute
Description
Mandatory
name Bot name Mandatory
botStation Bot station name Mandatory
startTimeout Start timeout Optional
password Bot password Optional

Tag example:

<createBot name="UniversalBot" botStation="botstation" startTimeout="200" password="123"/>


updateBot

Attributes:
Attribute
Description
Mandatory
name Bot name Mandatory
newName New bot name Optional
botStation Bot station name Optional
newBotStation New bot station name Optional
startTimeout Start timeout Optional
password Bot password Optional

Tag example:

<updateBot name="UniversalBot" botStation="localbotstation" startTimeout="0" password="321"/>


deleteBot

Attributes:
Attribute
Description
Mandatory
name Bot name Mandatory

Tag example:

 <deleteBot name="UniversalBot" botStation="localbotstation"/>

addConfigurationsToBot

Attributes:
Attribute
Description
Mandatory
name Name of the bot to add configuration Mandatory
botStation Botstation name Optional
Embedded elements:
Element
Description
Mandatory
botConfiguration Configuration to add At least 1

Tag example:

<addConfigurationsToBot name="UniversalBot">
   <botConfiguration name="" handler="" configuration=""/>
</addExecutorsToGroup>
<addConfigurationsToBot name="UniversalBot">
  <botConfiguration name="" handler="">
      <nowiki><any configuration XML>
   </botConfiguration>
</addConfigurationsToBot>

removeConfigurationsFromBot

Attributes:
Attribute
Description
Mandatory
name Name of the bot to remove configuration Mandatory
botStation Botstation name Optional
Embedded elements:
Element
Description
Mandatory
botConfiguration Configuration to remove At least 1

Tag example:

<removeConfigurationsFromBot name="UniversalBot">
   <botConfiguration name="doNothing"/>
</removeExecutorsFromGroup>


removeAllConfigurationsFromBot

Attributes:
Attribute
Description
Mandatory
name Name of the bot to add configuration Mandatory

Tag example:

<removeAllConfigurationsFromBot name="UniversalBot"/>


addPermissionsOnBotStations

See below

setPermissionsOnBotStations

See below

removePermissionsOnBotStations

Sintax and attributes for all *PermissionsOnBotStations commands are similar

Allowed permissions types:

  • permission.read
  • permission.update_permissions
  • permission.bot_station_configure
Element attributes
Attribute
Description
Mandatory
executor Executor to whom the permissions are added/set/removed Required


Embedded elements:
Element
Description
Mandatory
permission Permissions type Optional

Tag example:

<setPermissionsOnBotStations executor="All employees">
   <permission name="permission.read"/>
</setPermissionsOnBotStations>

replicateBatchPresentation

Attributes:
Attribute
Description
Mandatory
batchName The name of the BatchPresentation copy Mandatory
setActive Set status (active or not) to the created BatchPresentation copy. Possible values:

'all' - set active for all profiles; 'changed' - active only if BatchPresentation is changed in profile; 'none' - not active for all profiles

Default value is 'none'
useTemplates Defines if BatchPresentation templates should be used. If 'no', then if copied BatchPresentation is present, the substitution always occurs Optional, default value 'yes'
Embedded Elements:
Attribute
Description
Mandatory
batchPresentation BatchPresentation description 1 or more

The replicateBatchPresentation element must have only one child element batchPresentation with attribute nama='source' and any number of batchPresentation child elements with attirbute name='template'. The BatchPresentation replication occurs in the following cases:

  1. The copied BatchPresentation doesn't exist yet.
  2. useTemplates='no'.
  3. useTemplates='yes' and the substituted BatchPresentation equals to one of the BatchPresentation templates.

Tag example:

<replicateBatchPresentation batchName="replicatedNew" setActive="all" useTemplates="yes">
  <batchPresentation name="source" actorName="attila" batchId="listTasksForm" batchName="replicateMe"/>
  <batchPresentation name="template" batchId="listTasksForm"/>
</replicateBatchPresentation>


batchPresentation

Attributes:
Attribute
Description
Mandatory
name Element name Mandatory
actorName Actor name to whom batchPresentation belongs. Optional
batchId BatchPresentation type. (See allowed values in AFProfileStrategy and WFProfileStrategy java classes sources) Mandatory
batchName BatchPresentation name Optional

If actorName and BatchName are not specified the default BatchPresentation for a given batchId is used.


changeSubstitutions

Embedded Elements:
Attribute
Description
Mandatory
executor Executors whose substitution rules need to be changed 1 or more
delete Substitution rules to be deleted 0 or more
add Substitution rules to be added 0 or more

The must be at least one executor element present (more than on is also allowed). Executor can be an actor or a group.

Changes in substitutions will be applied to all the executors and all group members set via executor element.

element 'delete' attributes:

  • orgFunc - optional
  • criteria - optional (default value 'always')

element 'add' attributes:

  • orgFunc - optional
  • criteria - optional (default value 'always')
  • isFirst - optional (default value 'true')
  • isEnable - optional (default value 'true')


If orgFunc (and/or) criteria are set in 'delete' element then all substitution rules that match all set parameters are deleted. But if no parameters set all the substitution rules are deleted.

Substitution rules will be applied in the order in which they are added. The first added rule with isFirst=true and isEnable=true will be the first, the second will be second and etc. The same logic goes for rules with isFirst=false but only from the tail of the queue. The first added will be the last rule, the second - the one before last, etc. If orgfunction is not specified in the 'add' element, then terminator will be added.

Allowed replacements: %self_code% %self_id% %self_name%

Tag example:

<changeSubstitutions>
  <executor name="***"/>
  <delete orgFunc="***" criteria="***"/>
  <add orgFunc="***" criteria="***" isFirst="***" isEnabled="***"/> 
</changeSubstitutions>

removeProcesses

Element attributes
Attribute
Description
Mandatory
name Process definition name Optional
version Process definition version of which to remove process instances Optional
id If this attribute present then the process instance with indicated ID is removed Optional
idFrom If present then process instances with ID greater than indicated ID (inclusive) are removed Optional
idTo If present then process instances ID less than indicated ID (inclusive) are removed Optional
startDateFrom Process instance start date is later or equal than given date Optional
startDateTo Process instance start date is earlier or equal than given date Optional
endDateFrom Process instance end date is later or equal than given date Optional
endDateTo Process instance end date is earlier or equal than given date Optional
onlyFinished Remove only finish process instances, only not finished or all if value not set. Optional

Note. Attributes date format is default WFE Server format (as set in WFE Server configurations) by default it's dd.mm.yyyy.

cancelProcesses

It's similar to removeProcesses.

removeProcessDefinitions

Element attributes
Attribute
Description
Mandatory
name Process definition name Required
version Process definition version number Optional
versionFrom Remove all definitions with given name starting from this version Optional
versionTo Remove all definitions with given name ending by this version Optional

stopProcess

Element attributes
Attribute
Description
Mandatory
id Process instance id Required

Tag example:

<stopProcess id=”1”/>

relation

Element attributes:
Attribute
Description
Mandatory
name Relation name Required
description Relation description Optional

If relation with given name exists already then pairs described by embedded tags will be added to it. If relation doesn't exist it is created.

Embedded elements:
Element
Description
Mandatory
right Right part of the relation Required
left Left part of the relation Required

In <right> and <left> tags <executor> tags are placed with actors or\and groups, that constitute right and left part of the relation accordingly.

Tag example:

<relation name="Boss">
  <left>
    <executor name="nero"/>
  </left>
  <right>
    <executor name="caligula"/>
    <executor name="attila"/>
  </right>
</relation>