AdminScriptGuide: различия между версиями

Материал из RunaWFE
Перейти к навигации Перейти к поиску
 
(не показано 29 промежуточных версий 2 участников)
Строка 187: Строка 187:
| removeAllPermissions
| removeAllPermissions
| Удаляет все полномочия на объект
| Удаляет все полномочия на объект
|-
| removeAllPermissionsById
| Удаляет все полномочия на объект по его идентификатору
|-
|-


Строка 517: Строка 521:
где '''type''' может определять элементы:
где '''type''' может определять элементы:


* Definition - определение  
* ProcessDefinition - определение  
* Process - экземпляр процесса
* Process - экземпляр процесса
* Executor - исполнитель
* Executor - исполнитель
* Relation - отношение
* Report - отчет
* Report - отчет


Строка 944: Строка 947:


Описание элемента аналогично описанию элемента removeProcesses.
Описание элемента аналогично описанию элемента removeProcesses.
Примеры тега:
<nowiki><stopProcess id=”1”/></nowiki>
<nowiki><stopProcess idFrom="1" idTo="5"/></nowiki>


== Элемент addPermissions ==
== Элемент addPermissions ==
Строка 1105: Строка 1114:
|-
|-
| id
| id
| Имя объекта, на который добавляются полномочия
| Идентификатор объекта, на который добавляются полномочия
| обязательный (или опциональный в случае использования вложенного namedIdentitySet)
| обязательный (или опциональный в случае использования вложенного namedIdentitySet)


Строка 1141: Строка 1150:
Пример тега с использованием именованного множества:
Пример тега с использованием именованного множества:


   <namedIdentitySet name="listId" type="Definition">     
   <namedIdentitySet name="listId" type="ProcessDefinition">     
     <identity id="1"/>
     <identity id="1"/>
     <identity id="2"/>
     <identity id="2"/>
Строка 1147: Строка 1156:
    
    
   <addPermissionsById executor="julius">   
   <addPermissionsById executor="julius">   
     <namedIdentitySet name="listId" type="Definition"/>
     <namedIdentitySet name="listId" type="ProcessDefinition"/>
     <permission name="READ"/>
     <permission name="READ"/>
     <permission name="UPDATE"/>
     <permission name="UPDATE"/>
Строка 1248: Строка 1257:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| namedIdentitySet
| Именованное множество
| 0 или более


|-
|-
Строка 1261: Строка 1275:
     <nowiki><permission name="READ"/></nowiki>
     <nowiki><permission name="READ"/></nowiki>
  <nowiki></removePermissions></nowiki>
  <nowiki></removePermissions></nowiki>
Пример тега с использованием именованного множества:
  <namedIdentitySet name="users" type="Executor">   
    <identity name="manager"/>
    <identity name="staff"/>
  </namedIdentitySet>
 
  <removePermissions executor="nero">
    <namedIdentitySet name="users" type="Executor"/>
    <permission name="READ"/>
  </removePermissions


== Элемент removePermissionsById==
== Элемент removePermissionsById==
Строка 1268: Строка 1294:
Описание элемента аналогично элементу addPermissionsById.
Описание элемента аналогично элементу addPermissionsById.


== Элемент removePermissionsOnDefinition ==
== Элемент removeAllPermissions ==
 


Удаляет все полномочия на объект


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
Строка 1278: Строка 1304:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| type
| Тип объекта, из которого удаляют полномочия
| обязательный


|-
|-
| name
| name
| Определение процесса, на которое удаляются полномочия
| Имя объекта, из которого удаляют полномочия
| обязательный
| обязательный


|-
|-
| executor
| executor
| Исполнитель, у которого удаляются полномочия
| Исполнитель у которого удаляют полномочия на объект
| обязательный
| обязательный


Строка 1302: Строка 1333:


|-
|-
| permission
| namedIdentitySet
| Тип полномочий
| Именованное множество
| опциональный
| 0 или более


|-  
|-
|}
|}
пример тега:


<nowiki><removePermissionsOnDefinition name="</nowiki>отпуск" executor="ivanov">
    <nowiki><permission name="permission.undeploy_definition"/></nowiki>
<nowiki></removePermissionsOnDefinition></nowiki>


Синтаксис и семантика команд *PermissionsOnDefinition одинаковы и описание всех команд собрано в одно. Полномочия, допустимые в командах:''' '''
Пример тега:
 
<tt><nowiki><</nowiki>removeAllPermissions type="EXECUTOR" name="manager" executor="attila"/></tt>


* permission.read
Пример тега с использованием именованного множества:
* permission.update_permissions
* permission.undeploy_definition
* permission.redeploy_definition
* permission.start_process
* permission.read_process
* permission.cancel_process


  <namedIdentitySet name="users" type="Executor">   
    <identity name="manager"/>
    <identity name="staff"/>
  </namedIdentitySet> 
  <removeAllPermissions executor="nero">
    <namedIdentitySet name="users" type="Executor"/>
  </removeAllPermissions>


== Элемент removeAllPermissionsById  ==


Удаляет все полномочия на объект по его идентификатору


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
Строка 1335: Строка 1367:


|-
|-
| name
| executor
| Определение процесса, на которое добавляются полномочия
| Исполнитель, полномочия которого удаляются
| нет
| обязательный
 
|-
| type
| Тип объекта, из которого удаляются полномочия
| обязательный (или опциональный в случае использования вложенного namedIdentitySet)


|-
|-
| executor
| id
| Исполнитель, которому добавляются полномочия
| Идентификатор объекта, из которого удаляются полномочия
| да
| обязательный (или опциональный в случае использования вложенного namedIdentitySet)


|-   
|-   
Строка 1355: Строка 1392:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| permission
| Тип полномочий
| опциональный


|-
|-
| namedIdentitySet
| namedIdentitySet
| Именованное множество определений процессов, на которых добавляются полномочия
| Именованное множество
| 0 или более
| 0 или более


|-  
|-
|}
|}
Определения процессов, для которых будут добавлены полномочия исполнителю, заданному в атрибуте executor, включают в себя все из вложенных элементов типа namedIdentitySet (если вложенные элементы имеются) и определение процесса, заданное через атрибут name (если атрибут имеется).


пример тега:


  <nowiki><addPermissionsOnDefinition executor="</nowiki>агенты">
Пример тега:
    <nowiki><namedIdentitySet name="</nowiki>Все процессы"/>
 
<removeAllPermissionsById executor="attila" type="EXECUTOR" id="5"/>
 
Пример тега с использованием именованного множества:
 
  <namedIdentitySet name="listId" type="Executor">   
    <identity id="5"/>
    <identity id="11"/>
  </namedIdentitySet>
  <removeAllPermissionsById executor="attila">
    <namedIdentitySet name="listId" type="Executor"/>  
  </removeAllPermissionsById>
 
== Элемент createBotStation ==


<tt><nowiki><permission name="</nowiki>permission.start_process"/></tt>


    <nowiki><permission name="permission.read"/></nowiki>
  <nowiki></addPermissionsOnDefinition></nowiki>


== Элемент addPermissionsOnProcesses ==
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


Строка 1391: Строка 1429:
|-
|-
| name
| name
| Определение процесса, на запущенные процессы которого добавляются полномочия
| Имя ботстанции
| обязательный
| обязательный


|-
|-  
| executor
|}
| Исполнитель, которому добавляются полномочия
пример тега:
| обязательный
 
<nowiki><createBotStation name="botstation"/></nowiki>


|- 
== Элемент updateBotStation ==
|}






<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| permission
| name
| Тип полномочий
| Имя ботстанции
| опциональный
| обязательный
 
|-
| newName
| Новое имя ботстанции
| Нет


|-   
|-   
Строка 1420: Строка 1463:
пример тега:
пример тега:


  <nowiki><</nowiki>addPermissionsOnProcesses name<nowiki>="отпуск" </nowiki>  executor<nowiki>="инспектора кадровой службы"></nowiki>
  <nowiki><updateBotStation name="botstation" newName="localhostBotStation"/></nowiki>
    <nowiki><permission name="permission.update_permissions" /></nowiki>
    <nowiki><permission name="permission.cancel_process" /></nowiki>
<nowiki></addPermissionsOnProcesses></nowiki>


 
== Элемент deleteBotStation ==
== Элемент setPermissionsOnProcesses  ==




Строка 1439: Строка 1478:
|-
|-
| name
| name
| Определение процесса, на запущенные процессы которого устанавливаются полномочия
| Имя ботстанции
| обязательный
| обязательный


|-
|-
| executor
|}
| Исполнитель, которому устанавливаются полномочия
пример тега:
| обязательный
 
<nowiki><deleteBotstation name="botstation"/></nowiki>


|- 
== Элемент createBot ==
|}






<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| permission
| name
| Тип полномочий
| Имя бота
| опциональный
| обязательный
 
|-
| botStation
| Имя ботстанции
| обязательный
 
|-
| startTimeout
| Задержка выполнения
| Нет


|-
|-  
|}
|}
пример тега:
пример тега:


  <nowiki><</nowiki>setPermissionsOnProcesses name<nowiki>="отпуск" </nowiki>  executor<nowiki>="инспектора кадровой службы"></nowiki>
  <nowiki><createBot name="UniversalBot" botStation="botstation" startTimeout="200"/></nowiki>
    <nowiki><permission name="permission.read" /></nowiki>
    <nowiki><permission name="permission.update_permissions" /></nowiki>
    <nowiki><permission name="permission.cancel_process" /></nowiki>
<nowiki></setPermissionsOnProcesses></nowiki>


== Элемент updateBot ==


== Элемент removePermissionsOnProcesses  ==
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1488: Строка 1530:
|-
|-
| name
| name
| Определение процесса, на процессы которого предоставляются полномочия
| Имя бота
| обязательный
| обязательный


|-
|-
| executor
| newName
| Исполнитель, которому предоставляются полномочия
| Новое имя бота
| обязательный
| Нет
 
|- 
|}


|-
| botStation
| Имя ботстанции
| Нет


 
|-
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
| newBotStation
 
| Новое имя ботстанции
{|width=100% border=1
| Нет
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| permission
| startTimeout
| Тип полномочий
| Новая задержка выполнения
| опциональный
| Нет


|-
|-  
|}
|}
пример тега:
пример тега:


  <nowiki><</nowiki>removePermissionsOnProcesses name<nowiki>="отпуск" </nowiki>  executor<nowiki>="инспектора кадровой службы"></nowiki>
  <nowiki><updateBot name="UniversalBot" startTimeout="0"/></nowiki>
    <nowiki><permission name="permission.cancel_process" /></nowiki>
<nowiki></removePermissionsOnProcesses ></nowiki>


== Элемент deleteBot ==


Синтаксис и семантика команд *PermissionsOnProcesses одинаковы и описание всех команд собрано в одно. Полномочия, допустимые в командах:''' '''


* permission.read
* permission.update_permissions
* permission.cancel_process


 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1540: Строка 1572:
|-
|-
| name
| name
| Определение процесса, на процессы которого добавляются полномочия
| Имя бота
| обязательный
| обязательный


|-
|-
| executor
| botStation
| Исполнитель, которому добавляются полномочия
| Имя ботстанции
| обязательный
| обязательный


|-  
|-  
|}
|}
пример тега:


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


== Элемент addConfigurationsToBot ==
<div id="addConfigurationsToBot"></div>


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| permission
| name
| Тип полномочий
| Имя бота, которому добавляется конфигурация
| опциональный
| обязательный
 
|-
| botStation
| Имя ботстанции
| обязательный


|-  
|-
|}
|}
пример тега:


  <nowiki><</nowiki>addPermissionsOnProcesses name<nowiki>="отпуск" </nowiki>executor<nowiki>="инспектора кадровой службы"></nowiki>
    <nowiki><permission name="permission.update_permissions" /></nowiki>
    <nowiki><permission name="permission.cancel_process" /></nowiki>
  <nowiki></addPermissionsOnProcesses></nowiki>


== Элемент removeAllPermissionsFromExecutor ==
см. ниже


== Элемент removeAllPermissionsFromProcessDefinition  ==
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
см. ниже


== Элемент removeAllPermissionsFromProcesses  ==
{|width=100% border=1
Синтаксис и семантика команд *PermissionsOnProcesses одинаковы и описание всех команд собрано в одно.
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
| botConfiguration
| Добавляемая конфигурация
| 1


|- 
|}
примеры тега:


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
  <nowiki><botConfiguration name="" handler="" configuration=""/></nowiki>
<nowiki></addConfigurationsToBot></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">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1595: Строка 1650:
|-
|-
| name
| name
| Именованный объект, полномочия на который необходимо удалить у всех пользователей
| Имя бота, у которого удаляется конфигурация
| обязательный
| обязательный


|-  
|-
| botStation
| Имя ботстанции
| обязательный
 
|- 
|}
|}
пример тега:


<tt><nowiki><</nowiki>removeAllPermissionsFromProcesses name="отпуск"/></tt>


== Элемент createBotStation ==


 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| name
| botConfiguration
| Имя ботстанции
| Удаляемая конфигурация
| обязательный
| Не менее одного


|-
|-
| address
| Адрес ботстанции
| Нет
 
|- 
|}
|}
пример тега:
пример тега:


  <nowiki><createBotstation name="botstation" address="localhost"/></nowiki>
  <nowiki><removeConfigurationsFromBot name="UniversalBot" botStation="localbotstation"></nowiki>
  <nowiki><botConfiguration name="doNothing"/></nowiki>
<nowiki></removeConfigurationsFromBot></nowiki>


== Элемент updateBotStation ==
== Элемент removeAllConfigurationsFromBot ==






<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1644: Строка 1696:
|-
|-
| name
| name
| Имя ботстанции
| Имя бота
| обязательный
| обязательный


|-
|-
| newName
| botStation
| Новое имя ботстанции
| Имя бот станции
| Нет
| необязательный
 
|-
| address
| Новый адрес ботстанции
| Нет


|-   
|-   
Строка 1661: Строка 1708:
пример тега:
пример тега:


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


== Элемент deleteBotStation ==
== Элемент replicateBatchPresentation ==






<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1675: Строка 1722:


|-
|-
| name
| batchName
| Имя ботстанции
| Имя BatchPresentation'а которое будет создаваться в результате копирования
| обязательный
| обязательный


|-
|-
|}
| setActive
пример тега:
| Должно ли новое представление стать активным. Возможные значения:  


<nowiki><deleteBotstation name="botstation"/></nowiki>
'all' - да, для всех профайлов;
 
'changed' - только если BatchPresentation в профайле изменялся;
 
'none' - нет, для всех профайлов
| Нет, по умолчанию none
 
|-
| useTemplates
| Использовать ли шаблонные BatchPresentation. Если стоит 'no', то в случае присутствия копируемого BatchPresentation он безусловно заменяется
| Нет, по умолчанию шаблоны используются


== Элемент createBot ==
|- 
|}






<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| name
| batchPresentation
| Имя бота
| Описание BatchPresentation
| обязательный
| Не менее одного


|-
|-
| botStation
|}
| Имя ботстанции
Элемент replicateBatchPresentation должен иметь только один дочерний элемент batchPresentation с атрибутом name='source' и произвольное число дочерних элементов batchPresentation с атрибутом name='template'. Копирование BatchPresentation происходит в следующих случаях:
| обязательный
 
# Копируемого BatchPresentation еще не существует.
# Атрибут useTemplates='no'.
# Атрибут useTemplates='yes' и при этом заменяемый BatchPresentation равен хотя бы одному шаблонному BatchPresentation.


|-
пример тега:
| startTimeout
| Задержка выполнения
| Нет


|-
<tt><nowiki><replicateBatchPresentation batchName="replicatedNew" setActive="all" useTemplates="yes"></nowiki></tt>
| password
  <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 ==
|}
пример тега:


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


== Элемент updateBot ==


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
Строка 1732: Строка 1786:


|-
|-
| name
| <tt>name</tt>
| Имя бота
| Имя Элемента
| обязательный
| обязательный


|-
|-
| newName
| <tt>actorName</tt>
| Новое имя бота
| Имя пользователя, которому принадлежит batchPresentation.
| Нет
| Нет


|-
|-
| botStation
| <tt>batchId</tt>
| Имя ботстанции
| Тип BatchPresentation.
| Нет
| обязательный


|-
|-
| newBotStation
| <tt>batchName</tt>
| Новое имя ботстанции
| Имя BatchPresentation
| Нет
| Нет


|-
|-
| startTimeout
| Новая задержка выполнения
| Нет
 
|-
| password
| Новый пароль
| Нет
 
|- 
|}
|}
пример тега:


<nowiki><updateBot name="UniversalBot" startTimeout="0" password="321"/></nowiki>
Возможные значения (полный список см. в ''BatchPresentationConsts.java''):


== Элемент deleteBot ==
* listAllExecutorsForm - Исполнители
* listProcessesDefinitionsForm - Определения процессов
* listProcessesForm - Запущенные процессы
* listRelations - Отношения
* listTasksForm - Список заданий


В случае, если actorName и BatchName не указаны, то берется BatchPresentation по умолчанию для данного batchId.


== Элемент changeSubstitutions ==


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| name
| executor
| Имя бота
| Исполнители, у которых необходимо зменять правила замещения
| обязательный
| 1 или более
 
|-
| delete
| Удаляемые правила замещения
| 0 или более


|-
|-
| botStation
| add
| Имя ботстанции
| Добавляемые правила замещения
| обязательный
| 0 или более


|-  
|-
|}
|}
пример тега:
Параметров executor может быть несколько и хотя бы один должен присутствовать. Исполнитель может быть как группой так и пользователем.


  <nowiki><deleteBot name="UniversalBot" botStation="localbotstation"/></nowiki>
Изменения в заместителях будут применяться ко всем пользователям, заданным в executor или входящих в группы, заданных в executor.


== Элемент addConfigurationsToBot ==
<div id="addConfigurationsToBot"></div>


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
параметров delete может быть от 0 (отсутствие) и сколько нужно.


{|width=100% border=1
Оргфункция и критерий задаются в соответствующем параметре. Если какой то параметр не задан, то он не рассматривается, и удаляются все замещения, подходящие по другому правилу. Соответственно при отсутствии атрибутов удаляются все правила замещения.
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
| name
| Имя бота, которому добавляется конфигурация
| обязательный


|-
параметров add может быть от 0 (отсутствие) и сколько нужно.
| botStation
| Имя ботстанции
| обязательный


|-
Оргфункция - необязательный параметр, для остальных по умолчанию принимаются значения criteria=always isFirst=true isEnable=true.
|}


замещения будут вставлены в порядке их появления, то есть первый параметр с isFirst=true будет первым правилом, второй - вторым и т.д.


Так же и с параметрами с isFirst=false с той лишь разницей, что они будут с конца.


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>


{|width=100% border=1
Если огрфункция в add не указывается, то вставляется терминатор.
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
Поддерживаемые подстановки:
| botConfiguration
| Добавляемая конфигурация
| 1


|- 
%self_code% %self_id% %self_name%
|}
примеры тега:


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


<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
пример тега:
  <nowiki><botConfiguration name="" handler="">
      <nowiki><any configuration XML>
  </nowiki></botConfiguration>
<nowiki></addConfigurationsToBot></nowiki>
 
== Элемент removeConfigurationsFromBot ==


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


== Элемент removeProcessDefinitions ==


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
Строка 1858: Строка 1889:
|-
|-
| name
| name
| Имя бота, у которого удаляется конфигурация
| Имя определения процесса
| обязательный
| обязательный


|-
|-
| botStation
| version
| Имя ботстанции
| Версия определения процесса которую нужно удалить
| обязательный
| Нет
 
|-
| versionFrom
| Минимальная версия определения процессов которые нужно удалить
| Нет
 
|-
| versionTo
| Максимальная версия определения процессов которые нужно удалить
| Нет


|-   
|-   
|}
|}


== Элемент deployDataSource ==


Загружает источник данных


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-


| file
| Путь к xml конфигурации источника данных
| обязательный
|-
|-
| botConfiguration
| Удаляемая конфигурация
| Не менее одного


|- 
|}
|}
пример тега:


<nowiki><removeConfigurationsFromBot name="UniversalBot" botStation="localbotstation"></nowiki>
Пример тега
  <nowiki><botConfiguration name="doNothing"/></nowiki>
<nowiki></removeConfigurationsFromBot></nowiki>


== Элемент removeAllConfigurationsFromBot ==
  <deployDataSource file="data-sources/InternalStorage.xml"/>


== Элемент relation ==


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
{|width=100% border=1
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
Строка 1904: Строка 1944:
|-
|-
| name
| name
| Имя бота
| Имя отношения.
| обязательный
| обязательный


|-
|-
| botStation
| description
| Имя бот станции
| Описание отношения.
| необязательный
| опциональный


|-  
|-
|}
|}
пример тега:


  <nowiki><removeAllConfigurationsFromBot name="UniversalBot"/></nowiki>
Если отношение с указанным именем уже существует, то в него будет добавлены пары с правыми и левыми частями, описаными вложенными тегами. Если отношения не существует, то будет создано новое.


== Элемент addPermissionsOnBotStations ==
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
== Элемент setPermissionsOnBotStations ==
== Элемент removePermissionsOnBotStations ==
Синтаксис и семантика команд *PermissionsOnBotStations одинаковы и описание всех команд собрано в одно. Полномочия, допустимые в командах:''' '''
 
* permission.read
* permission.update_permissions
* permission.bot_station_configure
 
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| executor
| right
| Исполнитель, которому меняются полномочия
| Правая часть отношения
| обязательный
| обязательный


|-  
|-
| left
| Левая часть отношения
| обязательный
 
|- 
|}
|}


Внутри тегов <right> и <left> нужно расположить тег(и) <executor> c сотрудниками и\или группами, которые входят в правую и левую части отношения соответственно.


пример тега:


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<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>
 
== Элемент deployReport ==
 
Загружает jasper отчет
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-


| file
| Путь к jasper файлу отчета
| обязательный
|-
|-
| permission
| Тип полномочий
| Нет


|
| name
|}
| Имя отчета
пример тега:
| обязательный
|-


<nowiki><setPermissionsOnBotStations executor="A</nowiki>ll employees">
| description
    <nowiki><permission name="permission.read"/></nowiki>
| Описание
<nowiki></setPermissionsOnBotStations></nowiki>
| опциональный
|-


== Элемент replicateBatchPresentation ==
| type
| Тип отчета
| опциональный
|-


|}




<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-
| batchName
| parameter
| Имя BatchPresentation'а которое будет создаваться в результате копирования
| Параметр для построения отчета
| обязательный
| 0 или более


|-
|}
| setActive
| Должно ли новое представление стать активным. Возможные значения:


'all' - да, для всех профайлов;


'changed' - только если BatchPresentation в профайле изменялся;
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента parameter:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
 
| name
| Название параметра, видимое пользователю
| обязательный


'none' - нет, для всех профайлов
| innerName
| Нет, по умолчанию none
| Название параметра внутри отчета
| обязательный


|-
| type
| useTemplates
| Тип параметра (доступны String, Integer, Date, BP type selection, )
| Использовать ли шаблонные BatchPresentation. Если стоит 'no', то в случае присутствия копируемого BatchPresentation он безусловно заменяется
| обязательный
| Нет, по умолчанию шаблоны используются


|- 
|}
|}




В качестве типа параметра доступны:


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
* STRING
* NUMBER
* DATE
* PROCESS_NAME_OR_NULL
* SWIMLANE
* BOOLEAN_UNCHECKED
* BOOLEAN_CHECKED
* ACTOR_ID
* ACTOR_NAME
* GROUP_ID
* GROUP_NAME
* EXECUTOR_ID
* EXECUTOR_NAME


{|width=100% border=1
Тип должен соответствовать типу параметра внутри отчета
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
Пример тега:
| batchPresentation
| Описание BatchPresentation
| Не менее одного


|- 
  <deployReport file="../samples/reports/userTasks.jasper" name="userTasks" description="User tasks execution statistic" type="user">
|}
    <parameter name="User login" innerName="UserName" type="ACTOR_NAME"/>
Элемент replicateBatchPresentation должен иметь только один дочерний элемент batchPresentation с атрибутом name='source' и произвольное число дочерних элементов batchPresentation с атрибутом name='template'. Копирование BatchPresentation происходит в следующих случаях:
    <parameter name="Report date from" innerName="ReportDateFrom" type="DATE"/>
    <parameter name="Report date to" innerName="ReportDateTo" type="DATE"/>
  </deployReport>


# Копируемого BatchPresentation еще не существует.
# Атрибут useTemplates='no'.
# Атрибут useTemplates='yes' и при этом заменяемый BatchPresentation равен хотя бы одному шаблонному BatchPresentation.


пример тега:
[[Категория:Документация]]
 
<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">'''Атрибуты элемента'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| <tt>name</tt>
| Имя Элемента
| обязательный
 
|-
| <tt>actorName</tt>
| Имя пользователя, которому принадлежит batchPresentation.
| Нет
 
|-
| <tt>batchId</tt>
| Тип BatchPresentation. (См. возможные значения в AFProfileStrategy и WFProfileStrategy)
| обязательный
 
|-
| <tt>batchName</tt>
| Имя BatchPresentation
| Нет
 
|- 
|}
В случае, если actorName и BatchName не указаны, то берется BatchPresentation по умолчанию для данного batchId.
 
== Элемент changeSubstitutions ==
 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| executor
| Исполнители, у которых необходимо зменять правила замещения
| 1 или более
 
|-
| delete
| Удаляемые правила замещения
| 0 или более
 
|-
| add
| Добавляемые правила замещения
| 0 или более
 
|- 
|}
Параметров executor может быть несколько и хотя бы один должен присутствовать. Исполнитель может быть как группой так и пользователем.
 
Изменения в заместителях будут применяться ко всем пользователям, заданным в executor или входящих в группы, заданных в executor.
 
 
параметров delete может быть от 0 (отсутствие) и сколько нужно.
 
Оргфункция и критерий задаются в соответствующем параметре. Если какой то параметр не задан, то он не рассматривается, и удаляются все замещения, подходящие по другому правилу. Соответственно при отсутствии атрибутов удаляются все правила замещения.
 
 
параметров add может быть от 0 (отсутствие) и сколько нужно.
 
Оргфункция - необязательный параметр, для остальных по умолчанию принимаются значения criteria=always isFirst=true isEnable=true.
 
замещения будут вставлены в порядке их появления, то есть первый параметр с isFirst=true будет первым правилом, второй - вторым и т.д.
 
Так же и с параметрами с isFirst=false с той лишь разницей, что они будут с конца.
 
 
Если огрфункция в add не указывается, то вставляется терминатор.
 
Поддерживаемые подстановки:
 
%self_code% %self_id% %self_name%
 
 
пример тега:
 
<nowiki><changeSubstitutions></nowiki>
  <nowiki><executor name="***"/></nowiki>
  <nowiki><delete orgFunc="***" criteria="***"/></nowiki>
  <nowiki><add orgFunc="***" criteria="***" isFirst="***" isEnabled="***"/> </nowiki>
<nowiki></changeSubstitutions></nowiki>
 
== Элемент removeProcessDefinitions ==
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| name
| Имя определения процесса
| обязательный
 
|-
| version
| Версия определения процесса которую нужно удалить
| Нет
 
|-
| versionFrom
| Минимальная версия определения процессов которые нужно удалить
| Нет
 
|-
| versionTo
| Максимальная версия определения процессов которые нужно удалить
| Нет
 
|- 
|}
 
== Элемент stopProcess ==
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| id
| Если этот параметр присутствует, то будет остановлен процесс с указанным ID
| Нет
 
|-
| idFrom
| Если этот параметр присутствует, то будут остановлены процессы, ID которых начинается с idFrom включительно
| Нет
 
|-
| idTo
| Если этот параметр присутствует, то будут остановлены процессы, ID которых заканчивается idTo включительно
| Нет
|}
пример тега:
 
<nowiki><stopProcess id=”1”/></nowiki>
 
<nowiki><stopProcess idFrom="1" idTo="5"/></nowiki>
 
== Элемент relation ==
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| name
| Имя отношения.
| обязательный
 
|-
| description
| Описание отношения.
| опциональный
 
|- 
|}
 
Если отношение с указанным именем уже существует, то в него будет добавлены пары с правыми и левыми частями, описаными вложенными тегами. Если отношения не существует, то будет создано новое.
 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| right
| Правая часть отношения
| обязательный
 
|-
| left
| Левая часть отношения
| обязательный
 
|- 
|}
 
Внутри тегов <right> и <left> нужно расположить тег(и) <executor> c сотрудниками и\или группами, которые входят в правую и левую части отношения соответственно.
 
пример тега:
 
<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>

Текущая версия на 11:59, 3 июля 2023

Руководство по написанию администраторских скриптов

Версия 4.6.0

© 2015-2023, ООО "Процессные технологии"

Введение

Конфигурация скрипта описывается в отдельном xml файле.

В случае установки RunaWFE в виде сервера-симулятора, в папке adminkit можно найти пример админ скриптов для наполнения сервера демо данными (../adminkit/scripts/deploy-samples-script.xml)

Загрузить (или создать) скрипт в RunaWFE можно на странице доступной в пункте меню "Система" раздел "Скрипты".

AdmScr1 1.png

Для выполнения скрипта откройте его и нажмите "Выполнить".

AdmScr1 2.png


Также скрипты можно запустить из файловой системы с помощью команды script-runner.bat (script-runner.sh).

Настройка файла script-runner.bat (script-runner.sh):

  1. Переменной LOGIN присвойте имя пользователя, от имени которого будет запущен скрипт (set LOGIN="Имя"). Пользователь должен иметь достаточные полномочия для выполнения действий скрипта.
  2. Переменной PASSWORD присвойте значение пароля этого пользователя (set PASSWORD="пароль")
  3. Также можно задать имя файла, в котором находится конфигурация скрипта (по умолчанию - scripts/deploy-samples-script.xml). Для этого переменной SCRIPT присвойте в качестве значения имя файла (set SCRIPT_PATH="scripts/deploy-samples-script.xml").

Скрипт использует конфигурационный файл jndi.properties находящихся в директории conf. В нем указывается каким образом скрипт связывается с сервером.

# 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

Описание языка скрипта

Скрипт является правильно сформированным XML-документом с тегом верхнего уровня workflowScript, в котором содержится тело скрипта.

Скрипт обязательно должен содержать декларацию XML Schema содержащуюся в файле workflowScript.xsd. Пример правильного указания схемы содержится в прилагаемом файле-образце scripts/deploy-samples-script.xml.

Служебные элементы:
Имя элемента
Описание элемента
namedIdentitySet Создает именованное множество элементов
identity Описывает элемент
executor Описывает исполнителя
permission Описывает полномочия
botConfiguration Описывает конфигурацию бота
batchPresentation Описывает BatchPresentation


Элементы манипуляции с исполнителями:
Имя элемента
Описание элемента
createActor Создает пользователя
createGroup Создает группу
deleteExecutor Удаляет исполнителя
deleteExecutors Удаляет исполнителей
addExecutorsToGroup Добавляет исполнителей в группу
removeExecutorsFromGroup Исключает исполнителей из группы
setActorInactive Установка статуса пользователя - "не активен"


Элементы манипуляции с определениями процессов:
Имя элемента
Описание элемента
deployProcessDefinition Загружает определение процесса
redeployProcessDefinition Изменить определение процесса


Элементы манипуляции с процессами:
Имя элемента
Описание элемента
cancelProcesses (или stopProcess) Останавливает процессы
removeProcesses Удаляет из системы процессы


Элементы манипуляции с полномочиями:
Имя элемента
Описание элемента
addPermissions Добавляет полномочия на объект
addPermissionsById Добавляет полномочия на объект по его идентификатору
setPermissions Устанавливает полномочия на объект
setPermissionsById Устанавливает полномочия на объект по его идентификатору
removePermissions Удаляет полномочия на объект
removeAllPermissions Удаляет все полномочия на объект
removeAllPermissionsById Удаляет все полномочия на объект по его идентификатору


Элементы манипуляции с ботами и бот станциями:
Имя элемента
Описание элемента
createBotStation Создает бот станцию
updateBotStation Обновить бот станцию
deleteBotStation Удалить бот станцию
createBot Создает бота
updateBot Обновить бота
deleteBot Удалить бота
addConfigurationsToBot Добавить боту конфигурацию
removeConfigurationsFromBot Удалить конфигурации у бота
removeAllConfigurationsFromBot Удалить все конфигурации у бота


Элементы манипуляции с источниками данных:
Имя элемента
Описание элемента
deployDataSource Загружает источник данных


Элементы манипуляции с отношениями:
Имя элемента
Описание элемента
relation создает новое отношение или добавляет пары в существующее отношение


Элементы манипуляции с отчетами:
Имя элемента
Описание элемента
deployReport загрузка jasper отчета


Элементы административных действий:
Имя элемента
Описание элемента
replicateBatchPresentation Копирует представления тестового исполнителя всем исполнителям
changeSubstitutions Изменяет правила замещения

Добавление новых команд или расширение существующих может происходить без немедленного отображения в документации. Наиболее актуальный синтаксис команд можно посмотреть в исходных кодах ru.runa.wfe.script

Транзакционность операций

Есть 2 взаимоисключающих механизма определения области транзакций:

  • с помощью атрибута defaultTransactionScope элемента workflowScript

Атрибут defaultTransactionScope может принимать значения [all | job]. Значение all (по умолчанию) означает, что все операции скрипта будут выполнены в одной транзакции. Значение job означает, что каждая операция будет произведена в новой транзакции.

Замечание. Данный атрибут будет проигнорирован, если в скрипте используется элемент transactionScope.

  • с помощью элемента transactionScope, позволяющего задать явные границы транзакции

Пример использования (скрипт будет выполнен в 2-х транзакциях; удаление экземпляра процесса 69 не произойдет, если не был удален экземпляр 68, при этом удаление во второй транзакции будет выполнено независимо от результата выполнения действий в первой транзакции)

<?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>
  <removeProcesses id="68" /> 
  <removeProcesses id="69" /> 
 </transactionScope>
 <transactionScope>
  <removeProcesses idFrom="100" idTo="110"/> 
 </transactionScope>
</workflowScript>

Замечание. В старых версиях скрипт выполнялся в одной транзакции.

Подробное описание элементов

Элемент executor

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя пользователя обязательный

Определяет элемент типа исполнитель с заданным именем.

Элемент permission

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Наименование полномочий обязательный

Элемент соответствует типу полномочий субъекта на объект (подробнее см. документ «RunaWFE Руководство администратора») и содержит единственный атрибут Name. Предусмотрены следующие возможные значения полномочий (в контексте операции с полномочиями допустимо только подмножество предусмотренных значений):

Возможные значения полномочий:
Значение
Описание
READ Полномочия «Читать»
UPDATE Полномочия «Изменять»
DELETE Полномочия «Удалить» (определение процесса)
LOGIN Полномочия «Входить» (в систему)
CHANGE_SELF_PASSWORD Полномочия «Изменять собственный пароль»
CREATE_EXECUTOR Полномочия «Создавать исполнителя»
UPDATE_ACTOR_STATUS Полномочия «Изменять статус» (исполнителя)
CREATE_DEFINITION Полномочия «Загружать определение процесса» (в систему)
READ_PROCESS Полномочия «Читать экземпляр процесса»
START_PROCESS Полномочия «Запускать процесс»
CANCEL_PROCESS Полномочия «Останавливать экземпляр процесса» (задается в определении процесса)
CANCEL Полномочия «Останавливать экземпляр процесса» (задается в экземпляре процесса)
UPDATE_PERMISSIONS Полномочия «Изменять полномочия»
VIEW_LOGS Полномочия «Читать лог»
VIEW_TASKS Полномочия «Видеть задачи»
DELEGATE_TASKS Полномочия «Делегировать задачи»

Элемент botConfiguration

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Название задания, которое бот может выполнять обязательный
handler Класс — обработчик задания При добавлении конфигурации обязательный, при удалении не нужен
embeddedFile Имя встроенного в конфигурацию файла (например имя файла DOCX шаблона) При добавлении конфигурации необязательный, при удалении не нужен
configuration Путь к файлу конфигурации При добавлении конфигурации необязательный, при удалении не нужен

Элемент identity

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя элемента обязательный
id Идентификатор элемента обязательный

Определяет элемент типа исполнитель, определение или экземпляр процесса, отчет, отношение по заданному имени или идентификатору.

Элемент namedIdentitySet

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя именованного множества обязательный
type Тип содержащихся элементов обязательный

где type может определять элементы:

  • ProcessDefinition - определение
  • Process - экземпляр процесса
  • Executor - исполнитель
  • Report - отчет
Вложенные элементы:
Элемент
Описание
Обязательный
identity Добавляет элемент 0 или более
namedIdentitySet Добавляет множество элементов 0 или более

Создает именованное множество однотипных элементов (например исполнителей или определений процессов) для использования в дальнейшем.

Например,

 <namedIdentitySet name="staff" type="Executor">    
   <identity name="attila"/>
   <identity name="gaiua"/>
   <identity name="marcus"/>
 </namedIdentitySet>

Элемент createActor

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя пользователя обязательный
fullName Полное имя опциональный
description Описание пользователя опциональный
password Пароль пользователя опциональный
code Код пользователя (число) опциональный
email Электронная почта пользователя опциональный
phone Телефон пользователя опциональный
title Должность опциональный
department Подразделение опциональный

пример тега:

   <createActor name="ivanov" fullName="Иванов П. Н." description="инженер"/>

Элемент createGroup

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя группы обязательный
description Описание группы опциональный

пример тега:

  <createGroup name="Бухгалтеры" description=”Сотрудники РФО”/>

Элемент deleteExecutor

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя удаляемого исполнителя обязательный

пример тега:

  <deleteExecutor name="ivanova" />

Элемент deleteExecutors

Вложенные элементы:
Элемент
Описание
Обязательный
deleteExecutor Удаляемые исполнители 1 или более

Элемент предназначен для удаления сразу нескольких исполнителей за один запрос. Действие эквивалентно вызову deleteExecutor для каждого исполнителя отдельно, но выполняется быстрее.

Пример тега:

  <deleteExecutors>
    <deleteExecutor name="removed1'/>
    <deleteExecutor name="removed2"/>
  </deleteExecutors>

Элемент addExecutorsToGroup

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя группы, в которую добавляются исполнители обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
executor Исполнитель – пользователь или группа 0 или более
namedIdentitySet Именованное множество исполнителей 0 или более

пример тега:

  <addExecutorsToGroup name="Инспектора КС">
    <executor name="ivanova"/>
    <executor name="petrova"/>
    <namedIdentitySet name="Инспектора" type="Executor"/>
  </addExecutorsToGroup>

Элемент removeExecutorsFromGroup

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя группы, из которой удаляются исполнители обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
executor Исполнитель – пользователь или группа 0 или более
namedIdentitySet Именованное множество исполнителей 0 или более

пример тега:

  <removeExecutorsFromGroup name="Инспектора КС">
    <executor name="ivanova"/>
    <executor name="petrova"/>
    <namedIdentitySet name="Инспектора" type="Executor"/>
  </removeExecutorsFromGroup>

Элемент setActorInactive

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя пользователя у которого сбрасывается статус активности обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
namedIdentitySet Именованное множество исполнителей 0 или более

пример тега:

 <namedIdentitySet name="Инспектора" type="Executor">    
   <identity name="attila"/>
   <identity name="julius"/>
 </namedIdentitySet>  
 <setActorInactive name="nero">    
   <namedIdentitySet name="Инспектора" type="Executor"/>    
 </setActorInactive>

Элемент deployProcessDefinition

Атрибуты элемента:
Атрибут
Описание
Обязательный
file Путь к файлу, в котором находится определение процесса (par архив) обязательный
type Тип процесса (если не указан, то Script) опциональный

пример тега:

<deployProcessDefinition file="c:\processes\Оформить отпуск.par" type=”отпуска”/>

Элемент redeployProcessDefinition

Атрибуты элемента:
Атрибут
Описание
Обязательный
definitionId Идентификатор определения процесса обязательный
file Путь к файлу, в котором находится определение процесса (par архив) обязательный
type Тип процесса (если не указан, то Script) опциональный


Элемент removeProcesses

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя определения процесса Нет
version Версия определения процесса для которой удалять запущенные процессы Нет
id Если этот параметр присутствует, то будет удален процесс с указанным ID Нет
idFrom Если этот параметр присутствует, то будут удалены процессы, ID которых начинается с idFrom включительно Нет
idTo Если этот параметр присутствует, то будут удалены процессы, ID которых заканчивается idTo включительно Нет
startDateFrom Дата старта процесса не должна быть ранее данного значения Нет
startDateTo Дата старта процесса не должна превосходить данное значение Нет
endDateFrom Дата окончания процесса не должна быть ранее данного значения Нет
endDateTo Дата окончания процесса не должна превосходить данное значение Нет
onlyFinished Удалять только завершенные процессы, только незавершенные или все (по умолчанию – все) Нет

Замечание. Формат даты для атрибутов задается как указан в настройках сервера без времени (по умолчанию ДД.ММ.ГГГГ).

Элемент cancelProcesses (или stopProcess)

Описание элемента аналогично описанию элемента removeProcesses.

Примеры тега:

<stopProcess id=”1”/>

<stopProcess idFrom="1" idTo="5"/>

Элемент addPermissions

Добавляет полномочия на объект

Атрибуты элемента:
Атрибут
Описание
Обязательный
type Тип объекта, на который добавляются полномочия обязательный
name Имя объекта, на который добавляются полномочия обязательный
executor Исполнитель, которому добавляются полномочия обязательный


Где type может быть:

  • DEFINITION - определение процесса
  • PROCESS - экземпляр процесса
  • EXECUTOR - исполнитель
  • BOTSTATIONS - бот станция
  • RELATIONS - отношения
  • RELATION - отношение
  • REPORTS - отчеты
  • DATASOURCES - источники данных
  • SYSTEM - системные полномочия


Вложенные элементы:
Элемент
Описание
Обязательный
permission Тип полномочий опциональный


Допустимые полномочия для определений процессов (type="DEFINITION"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE
  • DELETE
  • START_PROCESS
  • READ_PROCESS
  • CANCEL_PROCESS

Допустимые полномочия для экземпляров процессов (type="PROCESS"):

  • READ
  • UPDATE_PERMISSIONS
  • CANCEL
  • UPDATE
  • DELETE
  • START_PROCESS
  • CANCEL_PROCESS

Допустимые полномочия для исполнителей (type="EXECUTOR"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE
  • UPDATE_ACTOR_STATUS (только для пользователя, для группы не поддерживается)
  • VIEW_TASKS
  • DELEGATE_TASKS

Допустимые полномочия для бот станции (type="BOTSTATIONS"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

Допустимые полномочия для отношений (type="RELATIONS"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

Допустимые полномочия для отношения (type="RELATION"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE
  • DELETE

Допустимые полномочия для отчетов (type="REPORTS"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

Допустимые полномочия для источников данных (type="DATASOURCES"):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

Допустимые системные полномочия (type="SYSTEM"):

  • READ
  • UPDATE_PERMISSIONS
  • LOGIN
  • CHANGE_SELF_PASSWORD
  • CREATE_EXECUTOR
  • CREATE_DEFINITION
  • VIEW_LOGS


Пример тега:

<addPermissions type="EXECUTOR" name="ivanov" executor="агенты">
    <permission name="READ"/>
    <permission name="UPDATE_PERMISSIONS"/>
</addPermissions>

Элемент addPermissionsById

Добавляет полномочия на объект по его идентификатору

Атрибуты элемента:
Атрибут
Описание
Обязательный
executor Исполнитель, которому добавляются полномочия обязательный
type Тип объекта, на который добавляются полномочия обязательный (или опциональный в случае использования вложенного namedIdentitySet)
id Идентификатор объекта, на который добавляются полномочия обязательный (или опциональный в случае использования вложенного namedIdentitySet)


Вложенные элементы:
Элемент
Описание
Обязательный
namedIdentitySet Именованное множество 0 или более
permission Тип полномочий опциональный

Пример тега:

 <addPermissionsById executor="attila" type="EXECUTOR" id="5">
   <permission name="READ"/>
 </addPermissionsById>

Пример тега с использованием именованного множества:

 <namedIdentitySet name="listId" type="ProcessDefinition">    
   <identity id="1"/>
   <identity id="2"/>
 </namedIdentitySet>
 
 <addPermissionsById executor="julius">   
   <namedIdentitySet name="listId" type="ProcessDefinition"/>
   <permission name="READ"/>
   <permission name="UPDATE"/>
 </addPermissionsById>

Элемент setPermissions

Атрибуты элемента:
Атрибут
Описание
Обязательный
type Тип объекта, на который устанавливаются полномочия обязательный
name Имя объекта, на который устанавливаются полномочия обязательный
executor Исполнитель которому устанавливаются полномочия на объект обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
permission Тип полномочий опциональный

Список допустимых полномочий и их описание см. в пункте "Элемент addPermissions" настоящего руководства

пример тега:

<setPermissions type="EXECUTOR" name="ivanov" executor="агенты">
   <permission name="READ"/>
   <permission name="UPDATE_PERMISSIONS"/>
</setPermissions>

Элемент setPermissionsById

Устанавливает полномочия на объект по его идентификатору.

Описание элемента аналогично элементу addPermissionsById.

Элемент removePermissions

Удаляет указанные полномочия на объект

Атрибуты элемента:
Атрибут
Описание
Обязательный
type Тип объекта, из которого удаляются полномочия обязательный
name Имя объекта обязательный
executor Исполнитель, у которого удаляются полномочия на объект обязательный
Вложенные элементы:
Элемент
Описание
Обязательный
namedIdentitySet Именованное множество 0 или более
permission Тип полномочий опциональный

пример тега:

<removePermissions type="EXECUTOR" name="ivanov" executor="агенты">
    <permission name="READ"/>
</removePermissions>

Пример тега с использованием именованного множества:

 <namedIdentitySet name="users" type="Executor">    
   <identity name="manager"/>
   <identity name="staff"/>
 </namedIdentitySet>
 
 <removePermissions executor="nero">
   <namedIdentitySet name="users" type="Executor"/>
   <permission name="READ"/>
 </removePermissions

Элемент removePermissionsById

Удаляет полномочия на объект по его идентификатору.

Описание элемента аналогично элементу addPermissionsById.

Элемент removeAllPermissions

Удаляет все полномочия на объект

Атрибуты элемента:
Атрибут
Описание
Обязательный
type Тип объекта, из которого удаляют полномочия обязательный
name Имя объекта, из которого удаляют полномочия обязательный
executor Исполнитель у которого удаляют полномочия на объект обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
namedIdentitySet Именованное множество 0 или более


Пример тега:

<removeAllPermissions type="EXECUTOR" name="manager" executor="attila"/>

Пример тега с использованием именованного множества:

 <namedIdentitySet name="users" type="Executor">    
   <identity name="manager"/>
   <identity name="staff"/>
 </namedIdentitySet>  
 <removeAllPermissions executor="nero">
   <namedIdentitySet name="users" type="Executor"/>
 </removeAllPermissions>

Элемент removeAllPermissionsById

Удаляет все полномочия на объект по его идентификатору

Атрибуты элемента:
Атрибут
Описание
Обязательный
executor Исполнитель, полномочия которого удаляются обязательный
type Тип объекта, из которого удаляются полномочия обязательный (или опциональный в случае использования вложенного namedIdentitySet)
id Идентификатор объекта, из которого удаляются полномочия обязательный (или опциональный в случае использования вложенного namedIdentitySet)


Вложенные элементы:
Элемент
Описание
Обязательный
namedIdentitySet Именованное множество 0 или более


Пример тега:

<removeAllPermissionsById executor="attila" type="EXECUTOR" id="5"/>

Пример тега с использованием именованного множества:

 <namedIdentitySet name="listId" type="Executor">    
   <identity id="5"/>
   <identity id="11"/>
 </namedIdentitySet>
 <removeAllPermissionsById executor="attila">
   <namedIdentitySet name="listId" type="Executor"/>   
 </removeAllPermissionsById>

Элемент createBotStation

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя ботстанции обязательный

пример тега:

<createBotStation name="botstation"/>

Элемент updateBotStation

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя ботстанции обязательный
newName Новое имя ботстанции Нет

пример тега:

<updateBotStation name="botstation" newName="localhostBotStation"/>

Элемент deleteBotStation

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя ботстанции обязательный

пример тега:

<deleteBotstation name="botstation"/>

Элемент createBot

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя бота обязательный
botStation Имя ботстанции обязательный
startTimeout Задержка выполнения Нет

пример тега:

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

Элемент updateBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота обязательный
newName Новое имя бота Нет
botStation Имя ботстанции Нет
newBotStation Новое имя ботстанции Нет
startTimeout Новая задержка выполнения Нет

пример тега:

<updateBot name="UniversalBot" startTimeout="0"/>

Элемент deleteBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота обязательный
botStation Имя ботстанции обязательный

пример тега:

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

Элемент addConfigurationsToBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота, которому добавляется конфигурация обязательный
botStation Имя ботстанции обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
botConfiguration Добавляемая конфигурация 1

примеры тега:

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

Элемент removeConfigurationsFromBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота, у которого удаляется конфигурация обязательный
botStation Имя ботстанции обязательный


Вложенные элементы:
Элемент
Описание
Обязательный
botConfiguration Удаляемая конфигурация Не менее одного

пример тега:

<removeConfigurationsFromBot name="UniversalBot" botStation="localbotstation">
  <botConfiguration name="doNothing"/>
</removeConfigurationsFromBot>

Элемент removeAllConfigurationsFromBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота обязательный
botStation Имя бот станции необязательный

пример тега:

  <removeAllConfigurationsFromBot name="UniversalBot"/>

Элемент replicateBatchPresentation

Атрибуты элемента
Атрибут
Описание
Обязательный
batchName Имя BatchPresentation'а которое будет создаваться в результате копирования обязательный
setActive Должно ли новое представление стать активным. Возможные значения:

'all' - да, для всех профайлов;

'changed' - только если BatchPresentation в профайле изменялся;

'none' - нет, для всех профайлов

Нет, по умолчанию none
useTemplates Использовать ли шаблонные BatchPresentation. Если стоит 'no', то в случае присутствия копируемого BatchPresentation он безусловно заменяется Нет, по умолчанию шаблоны используются


Вложенные элементы:
Элемент
Описание
Обязательный
batchPresentation Описание BatchPresentation Не менее одного

Элемент replicateBatchPresentation должен иметь только один дочерний элемент batchPresentation с атрибутом name='source' и произвольное число дочерних элементов batchPresentation с атрибутом name='template'. Копирование BatchPresentation происходит в следующих случаях:

  1. Копируемого BatchPresentation еще не существует.
  2. Атрибут useTemplates='no'.
  3. Атрибут useTemplates='yes' и при этом заменяемый BatchPresentation равен хотя бы одному шаблонному BatchPresentation.

пример тега:

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

Элемент batchPresentation

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя Элемента обязательный
actorName Имя пользователя, которому принадлежит batchPresentation. Нет
batchId Тип BatchPresentation. обязательный
batchName Имя BatchPresentation Нет

Возможные значения (полный список см. в BatchPresentationConsts.java):

  • listAllExecutorsForm - Исполнители
  • listProcessesDefinitionsForm - Определения процессов
  • listProcessesForm - Запущенные процессы
  • listRelations - Отношения
  • listTasksForm - Список заданий

В случае, если actorName и BatchName не указаны, то берется BatchPresentation по умолчанию для данного batchId.

Элемент changeSubstitutions

Вложенные элементы:
Элемент
Описание
Обязательный
executor Исполнители, у которых необходимо зменять правила замещения 1 или более
delete Удаляемые правила замещения 0 или более
add Добавляемые правила замещения 0 или более

Параметров executor может быть несколько и хотя бы один должен присутствовать. Исполнитель может быть как группой так и пользователем.

Изменения в заместителях будут применяться ко всем пользователям, заданным в executor или входящих в группы, заданных в executor.


параметров delete может быть от 0 (отсутствие) и сколько нужно.

Оргфункция и критерий задаются в соответствующем параметре. Если какой то параметр не задан, то он не рассматривается, и удаляются все замещения, подходящие по другому правилу. Соответственно при отсутствии атрибутов удаляются все правила замещения.


параметров add может быть от 0 (отсутствие) и сколько нужно.

Оргфункция - необязательный параметр, для остальных по умолчанию принимаются значения criteria=always isFirst=true isEnable=true.

замещения будут вставлены в порядке их появления, то есть первый параметр с isFirst=true будет первым правилом, второй - вторым и т.д.

Так же и с параметрами с isFirst=false с той лишь разницей, что они будут с конца.


Если огрфункция в add не указывается, то вставляется терминатор.

Поддерживаемые подстановки:

%self_code% %self_id% %self_name%


пример тега:

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

Элемент removeProcessDefinitions

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя определения процесса обязательный
version Версия определения процесса которую нужно удалить Нет
versionFrom Минимальная версия определения процессов которые нужно удалить Нет
versionTo Максимальная версия определения процессов которые нужно удалить Нет

Элемент deployDataSource

Загружает источник данных

Атрибуты элемента:
Атрибут
Описание
Обязательный
file Путь к xml конфигурации источника данных обязательный

Пример тега

 <deployDataSource file="data-sources/InternalStorage.xml"/>

Элемент relation

Атрибуты элемента:
Атрибут
Описание
Обязательный
name Имя отношения. обязательный
description Описание отношения. опциональный

Если отношение с указанным именем уже существует, то в него будет добавлены пары с правыми и левыми частями, описаными вложенными тегами. Если отношения не существует, то будет создано новое.

Вложенные элементы:
Элемент
Описание
Обязательный
right Правая часть отношения обязательный
left Левая часть отношения обязательный

Внутри тегов <right> и <left> нужно расположить тег(и) <executor> c сотрудниками и\или группами, которые входят в правую и левую части отношения соответственно.

пример тега:

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

Элемент deployReport

Загружает jasper отчет


Атрибуты элемента:
Атрибут
Описание
Обязательный
file Путь к jasper файлу отчета обязательный
name Имя отчета обязательный
description Описание опциональный
type Тип отчета опциональный


Вложенные элементы:
Элемент
Описание
Обязательный
parameter Параметр для построения отчета 0 или более


Атрибуты элемента parameter:
Элемент
Описание
Обязательный
name Название параметра, видимое пользователю обязательный innerName Название параметра внутри отчета обязательный type Тип параметра (доступны String, Integer, Date, BP type selection, ) обязательный


В качестве типа параметра доступны:

  • STRING
  • NUMBER
  • DATE
  • PROCESS_NAME_OR_NULL
  • SWIMLANE
  • BOOLEAN_UNCHECKED
  • BOOLEAN_CHECKED
  • ACTOR_ID
  • ACTOR_NAME
  • GROUP_ID
  • GROUP_NAME
  • EXECUTOR_ID
  • EXECUTOR_NAME

Тип должен соответствовать типу параметра внутри отчета

Пример тега:

 <deployReport file="../samples/reports/userTasks.jasper" name="userTasks" description="User tasks execution statistic" type="user">
   <parameter name="User login" innerName="UserName" type="ACTOR_NAME"/>
   <parameter name="Report date from" innerName="ReportDateFrom" type="DATE"/>
   <parameter name="Report date to" innerName="ReportDateTo" type="DATE"/>
 </deployReport>