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

Материал из RunaWFE
Перейти к навигации Перейти к поиску
м (1 версия импортирована)
 
(не показано 75 промежуточных версий 2 участников)
Строка 5: Строка 5:
= Введение =
= Введение =


Скрипты находятся в отдельной папке adminkit (находится в $JBOSS_HOME).
Конфигурация скрипта описывается в отдельном xml файле.
Они доступны из пункта меню '''Система''' в веб-интерфейсе.
 
В случае установки RunaWFE в виде сервера-симулятора, в папке adminkit можно найти пример админ скриптов для наполнения сервера демо данными (../adminkit/scripts/deploy-samples-script.xml)
 
Загрузить (или создать) скрипт в RunaWFE можно на странице доступной в пункте меню "Система" раздел "Скрипты".
 
[[Image:admScr1_1.png]]
 
Для выполнения скрипта откройте его и нажмите "Выполнить".
 
[[Image:admScr1_2.png]]
 


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


Конфигурация скрипта описывается в отдельном xml файле.
Настройка файла script-runner.bat (script-runner.sh):


= Настройка файла script-runner.bat (script-runner.sh) =
# Переменной LOGIN присвойте имя пользователя, от имени которого будет запущен скрипт (set LOGIN="Имя"). Пользователь должен иметь достаточные полномочия для выполнения действий скрипта.  
# Переменной LOGIN присвойте имя пользователя, от имени которого будет запущен скрипт (set LOGIN="Имя"). Пользователь должен иметь достаточные полномочия для выполнения действий скрипта.  
# Переменной PASSWORD присвойте значение пароля этого пользователя (set PASSWORD="пароль")
# Переменной PASSWORD присвойте значение пароля этого пользователя (set PASSWORD="пароль")
Строка 18: Строка 27:


Скрипт использует конфигурационный файл '''jndi.properties''' находящихся в директории '''conf'''. В нем указывается каким образом скрипт связывается с сервером.  
Скрипт использует конфигурационный файл '''jndi.properties''' находящихся в директории '''conf'''. В нем указывается каким образом скрипт связывается с сервером.  
<code>
<code>
  # JbossAS4
  # JbossAS4
Строка 103: Строка 111:
| removeExecutorsFromGroup
| removeExecutorsFromGroup
| Исключает исполнителей из группы
| Исключает исполнителей из группы
|-
| setActorInactive
| Установка статуса пользователя - "не активен"
|-
|-


Строка 120: Строка 132:
|-
|-


| removeProcessDefinitions
| redeployProcessDefinition
| Удаляет из системы определения процессов вместе с запущенными по ним процессами
| Изменить определение процесса
|-
|-


|}
|}


<table>  
<table>  
Строка 134: Строка 147:
|-
|-


| cancelProcesses
| cancelProcesses (или stopProcess)
| Останавливает процессы
| Останавливает процессы
|-
|-
Строка 143: Строка 156:


|}
|}


<table> <tr><td style="vertical-align: middle">'''Элементы манипуляции с полномочиями:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Элементы манипуляции с полномочиями:'''</td></tr></table>
Строка 151: Строка 165:
|-
|-


| addPermissionsOnActor
| addPermissions
| Добавляет полномочия на пользователя
| Добавляет полномочия на объект
|-
|-


| setPermissionsOnActor
| addPermissionsById
| Устанавливает полномочия на пользователя
| Добавляет полномочия на объект по его идентификатору
|-
|-


| removePermissionsOnActor
| setPermissions
| Удаляет полномочия на пользователя
| Устанавливает полномочия на объект
|-
|-


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


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


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


| addPermissionsOnRelation
| removeAllPermissionsById
| Добавляет полномочия на отношение
| Удаляет все полномочия на объект по его идентификатору
|-
|-


| setPermissionsOnRelation
|}
| Устанавливает полномочия на отношение
|-


| removePermissionsOnRelation
| Удаляет полномочия на отношение
|-


| addPermissionsOnSystem
<table> <tr><td style="vertical-align: middle">'''Элементы манипуляции с ботами и бот станциями:'''</td></tr></table>
| Добавляет полномочия на систему
|-


| setPermissionsOnSystem
{|width=100% border=1
| Устанавливает полномочия на систему
! <center>Имя элемента</center>
! <center>Описание элемента</center>
|-
|-


| removePermissionsOnSystem
| createBotStation
| Удаляет полномочия на систему
| Создает бот станцию
|-
|-


| addPermissionsOnRelations
| updateBotStation
| Добавляет полномочия на меню "Отношения"
| Обновить бот станцию
|-
|-


| setPermissionsOnRelations
| deleteBotStation
| Устанавливает полномочия на меню "Отношения"
| Удалить бот станцию
|-
|-


| removePermissionsRelations
| createBot
| Удаляет полномочия на меню "Отношения"
| Создает бота
|-
|-


| addPermissionsOnDefinition
| updateBot
| Добавляет полномочия на определение процесса
| Обновить бота
|-
|-


| setPermissionsOnDefinition
| deleteBot
| Устанавливает полномочия на определение процесса
| Удалить бота
|-
|-


| removePermissionsOnDefinition
| addConfigurationsToBot
| Удаляет полномочия на определение процесса
| Добавить боту конфигурацию
|-
|-


| addPermissionsOnProcesses
| removeConfigurationsFromBot
| Добавляет полномочия на все существующие в данный момент процессы
| Удалить конфигурации у бота
|-
|-


| setPermissionsOnProcesses
| removeAllConfigurationsFromBot
| Устанавливает полномочия на все существующие в данный момент процессы
| Удалить все конфигурации у бота
|-
|-


| removePermissionsOnProcesses
|}
| Удаляет полномочия на все существующие в данный момент процессы
 
 
<table>
<tr><td style="vertical-align: middle">'''Элементы манипуляции с источниками данных:'''</td></tr>
</table>
{|width=100% border=1
! <center>Имя элемента</center>
! <center>Описание элемента</center>
|-
|-


| removeAllPermissionsFromExecutor
| deployDataSource
| Удаляет все полномочия на исполнителя
| Загружает источник данных
|-
|-


| removeAllPermissionsFromProcessDefinition
|}
| Удаляет все полномочия на определение процесса
 
|-


| removeAllPermissionsFromProcesses
<table>
| Удаляет все полномочия на все существующие в данный момент процессы
<tr><td style="vertical-align: middle">'''Элементы манипуляции с отношениями:'''</td></tr>
</table>
{|width=100% border=1
! <center>Имя элемента</center>
! <center>Описание элемента</center>
|-
|-


| removeAllPermissionsFromSystem
| relation
| Удаляет все полномочия на систему
| создает новое отношение или добавляет пары в существующее отношение
|-
|-


Строка 254: Строка 272:




<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>
Строка 261: Строка 280:
|-
|-


| createBotStation
| deployReport
| Создает бот станцию
| загрузка jasper отчета
|-
|-


| updateBotStation
|}
| Обновить бот станцию
 
|-


| deleteBotStation
<table> <tr><td style="vertical-align: middle">'''Элементы административных действий:'''</td></tr></table>
| Удалить бот станцию
|-


| createBot
{|width=100% border=1
| Создает бота
! <center>Имя элемента</center>
! <center>Описание элемента</center>
|-
|-


| updateBot
| replicateBatchPresentation
| Обновить бота
| Копирует представления тестового исполнителя всем исполнителям
|-
|-


| deleteBot
| changeSubstitutions
| Удалить бота
| Изменяет правила замещения
|-
|-


| addConfigurationsToBot
|}
| Добавить боту конфигурацию
|-


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


| removeAllConfigurationsFromBot
= Транзакционность операций =
| Удалить все конфигурации у бота
 
|-
Есть 2 взаимоисключающих механизма определения области транзакций:
* с помощью атрибута '''defaultTransactionScope''' элемента '''workflowScript'''
Атрибут '''defaultTransactionScope''' может принимать значения ['''all''' | '''job''']. Значение '''all''' (по умолчанию) означает, что все операции скрипта будут выполнены в одной транзакции. Значение '''job''' означает, что каждая операция будет произведена в новой транзакции.


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


| setPermissionsOnBotStations
* с помощью элемента '''transactionScope''', позволяющего задать явные границы транзакции
| Установить полномочия на бот станцию
|-


| removePermissionsOnBotStations
Пример использования (скрипт будет выполнен в 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>


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


<table> <tr><td style="vertical-align: middle">'''Элементы административных действий:'''</td></tr></table>
= Подробное описание элементов =


{|width=100% border=1
== Элемент executor ==
! <center>Имя элемента</center>
! <center>Описание элемента</center>
|-


| replicateBatchPresentation
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
| Копирует представления тестового исполнителя всем исполнителям
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-


| changeSubstitutions
| name
| Изменяет правила замещения
| Имя пользователя
| обязательный
|-
|-


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


Добавление новых команд или расширение существующих может происходить без немедленного отображения в документации. Наиболее актуальный синтаксис команд можно посмотреть в файле workflowScript.xsd.
== Элемент permission ==


= Транзакционность операций =
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


Есть 2 взаимоисключающих механизма определения области транзакций:
{|width=100% border=1
* с помощью атрибута '''defaultTransactionScope''' элемента '''workflowScript'''
| <center>'''''Атрибут'''''</center>
Атрибут '''defaultTransactionScope''' может принимать значения ['''all''' | '''job''']. Значение '''all''' (по умолчанию) означает, что все операции скрипта будут выполнены в одной транзакции. Значение '''job''' означает, что каждая операция будет произведена в новой транзакции.
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-


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


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


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


<?xml version="1.0" encoding="UTF-8" ?>
<table> <tr><td style="vertical-align: middle">'''Возможные значения полномочий:'''</td></tr></table>
<workflowScript xmlns="http://runa.ru/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://runa.ru/xml workflowScript.xsd">
  <transactionScope>
  <removeOldProcesses id="68" />
  <removeOldProcesses id="69" />
  </transactionScope>
  <transactionScope>
  <removeOldProcesses idFrom="100" idTo="110"/>
  </transactionScope>
</workflowScript>
 
'''Замечание.''' В старых версиях скрипт выполнялся в одной транзакции.
 
= Подробное описание элементов =
 
== Элемент executor ==
 
<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>
|-
|-


| name
| READ
| Имя пользователя
| Полномочия «Читать»
| обязательный
|-
|-


|}
| UPDATE
Определяет элемент типа исполнитель с заданным именем.
| Полномочия «Изменять»
|-


== Элемент permission ==
| DELETE
| Полномочия «Удалить» (определение процесса)
|-


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
| LOGIN
| Полномочия «Входить» (в систему)
|-


{|width=100% border=1
| CHANGE_SELF_PASSWORD
| <center>'''''Атрибут'''''</center>
| Полномочия «Изменять собственный пароль»
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-


| name
| CREATE_EXECUTOR
| Наименование полномочий
| Полномочия «Создавать исполнителя»
| обязательный
|-
|-


|}
| UPDATE_ACTOR_STATUS
| Полномочия «Изменять статус» (исполнителя)
|-


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


<table> <tr><td style="vertical-align: middle">'''Возможные значения полномочий:'''</td></tr></table>
| READ_PROCESS
| Полномочия «Читать экземпляр процесса»
|-


{|width=100% border=1
| START_PROCESS
| <center>'''''Значение'''''</center>
| Полномочия «Запускать процесс»
| <center>'''''Описание'''''</center>
|-
|-


| permission.read
| CANCEL_PROCESS
| Полномочия «Читать»
| Полномочия «Останавливать экземпляр процесса» (задается в определении процесса)
|-
|-


| permission.update_permissions
| CANCEL
| Полномочия «Изменять полномочия»
| Полномочия «Останавливать экземпляр процесса» (задается в экземпляре процесса)
|-
|-


| permission.login_to_system
| UPDATE_PERMISSIONS
| Полномочия «Входить» (в систему)
| Полномочия «Изменять полномочия»
|-
|-


| permission.change_self_password
| VIEW_LOGS
| Полномочия «Изменять собственный пароль»
| Полномочия «Читать лог»
|-
|-


| permission.create_executor
| VIEW_TASKS
| Полномочия «Создавать исполнителя»
| Полномочия «Видеть задачи»
|-
|-


| permission.update_executor
| DELEGATE_TASKS
| Полномочия «Изменять свойства» (исполнителя)
| Полномочия «Делегировать задачи»
|-
|-


| permission.update_actor_status
|
| Полномочия «Изменять статус» (исполнителя)
|}
|-


| permission.list_group
== Элемент botConfiguration ==
| Полномочия «Просматривать» (члены группы)
|-


| permission.add_to_group
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
| Полномочия «Добавлять в группу»
|-


| permission.remove_from_group
{|width=100% border=1
| Полномочия «Удалять из группы»
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-


| permission.deploy_definition
| name
| Полномочия «Загружать определение процесса» (в систему)
| Название задания, которое бот может выполнять
| обязательный
|-
|-


| permission.redeploy_definition
| handler
| Полномочия «Изменять» (определение процесса в системе)
| Класс — обработчик задания
| При добавлении конфигурации обязательный, при удалении не нужен
|-
|-


| permission.undeploy_definition
| embeddedFile
| Полномочия «Выгружать» (определение процесса из системы)
| Имя встроенного в конфигурацию файла (например имя файла DOCX шаблона)
| При добавлении конфигурации необязательный, при удалении не нужен
|-
|-


| permission.start_process
| configuration
| Полномочия «Запускать процесс»
| Путь к файлу конфигурации
|-
| При добавлении конфигурации необязательный, при удалении не нужен
|-  
|}
 
== Элемент identity ==


| permission.read_process
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
| Полномочия «Читать процесс»
|-


| permission.cancel_process
{|width=100% border=1
| Полномочия «Отменять процесс»
! <center>Атрибут</center>
! <center>Описание</center>
! <center>Обязательный</center>
|-
|-


| permission.bot_station_configure
| name
| Полномочия «Настраивать бот станцию»
| Имя элемента
| обязательный
|-
|-


| permission.view_logs
| id
| Полномочия «Читать лог»
| Идентификатор элемента
| обязательный
|-
|-


|- 
|}
|}


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


<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
| name
| Название задания, которое бот может выполнять
| Имя именованного множества
| обязательный
| обязательный
|-
|-
| type
| Тип содержащихся элементов
| обязательный
|- 
|}
где '''type''' может определять элементы:
* ProcessDefinition - определение
* Process - экземпляр процесса
* Executor - исполнитель
* Report - отчет
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>


| handler
{|width=100% border=1
| Класс — обработчик задания
| <center>'''''Элемент'''''</center>
| При добавлении конфигурации обязательный, при удалении не нужен
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-
 
| identity
| embeddedFile
| Добавляет элемент
| Имя встроенного в конфигурацию файла (например имя файла DOCX шаблона)
| 0 или более
| При добавлении конфигурации необязательный, при удалении не нужен
|-
|-
 
| namedIdentitySet
| configuration
| Добавляет множество элементов
| Путь к файлу конфигурации
| 0 или более
| При добавлении конфигурации необязательный, при удалении не нужен
|-   
|-   
|}
|}


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


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


{|width=100% border=1
  <namedIdentitySet name="staff" type="Executor">   
! <center>Атрибут</center>
    <identity name="attila"/>
! <center>Описание</center>
    <identity name="gaiua"/>
! <center>Обязательный</center>
    <identity name="marcus"/>
|-
  </namedIdentitySet>


| name
== Элемент createActor ==
| Имя элемента
| обязательный
|-
 
|}
 
Определяет элемент типа исполнитель или определение процесса с заданным именем.
 
== Элемент namedIdentitySet ==


<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
| name
| Имя именованного множества
| Имя пользователя
| обязательный
| обязательный
|-
|-
| type
| fullName
| Тип содержащихся элементов
| Полное имя
| обязательный
| опциональный
|-
 
|}
|-
| description
| Описание пользователя
| опциональный


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
|-
| password
| Пароль пользователя
| опциональный


{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
|-
|-
| identity
| code
| Добавляет элемент
| Код пользователя (число)
| 0 или более
| опциональный
 
|-
|-
| namedIdentitySet
| email
| Добавляет множество элементов
| Электронная почта пользователя
| 0 или более
| опциональный
 
|-
| phone
| Телефон пользователя
| опциональный
 
|-
| title
| Должность
| опциональный
 
|-
| department
| Подразделение
| опциональный
 
|-   
|-   
|}
|}


Создает именованное множество однотипных элементов (исполнителей или определений процессов) для использования в дальнейшем.
пример тега:
 
    <nowiki><</nowiki>createActor name<nowiki>="</nowiki>ivanov" fullName<nowiki>="Иванов П. </nowiki>Н." description<nowiki>="инженер"/></nowiki>


== Элемент createActor ==
== Элемент createGroup ==


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
Строка 577: Строка 625:
|-
|-
| name
| name
| Имя пользователя
| Имя группы
| обязательный
| обязательный
|-
| fullName
| Полное имя
| опциональный


|-
|-
| description
| description
| Описание пользователя
| Описание группы
| опциональный
| опциональный


|-
|-
| password
|}
| Пароль пользователя
пример тега:
| опциональный


|-
  <nowiki><createGroup name="</nowiki>Бухгалтеры" description=”Сотрудники РФО”/>
| code
| Код пользователя (число)
| опциональный


|-
== Элемент deleteExecutor ==
| email
| Электронная почта пользователя
| опциональный
 
|-
| phone
| Телефон пользователя
| опциональный
 
|- 
|}


пример тега:


    <nowiki><</nowiki>createActor name<nowiki>="</nowiki>ivanov" fullName<nowiki>="Иванов П. </nowiki>Н." description<nowiki>="инженер"/></nowiki>
== Элемент createGroup ==


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


|-
|-   
| description
|}
| Описание группы
| опциональный
 
|-
|}
пример тега:
 
  <nowiki><createGroup name="</nowiki>Бухгалтеры" description=”Сотрудники РФО”/>
 
== Элемент deleteExecutor ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| name
| Имя удаляемого исполнителя
| обязательный
 
|-   
|}
пример тега:
пример тега:


Строка 685: Строка 682:


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


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


Строка 750: Строка 747:
|-
|-
| name
| name
| Имя группы, из которой удалаются исполнители
| Имя группы, из которой удаляются исполнители
| обязательный
| обязательный


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


== Элемент deployProcessDefinition  ==
== Элемент setActorInactive ==
 
 


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


|-
|-
| file
| name
| Путь к файлу, в котором находится определение процесса (par архив)
| Имя пользователя у которого сбрасывается статус активности
| обязательный
| обязательный
|-
|}
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| type
| namedIdentitySet
| Тип процесса (если не указан, то Script)
| Именованное множество исполнителей
| опциональный
| 0 или более


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


<tt><nowiki><</nowiki>deployProcessDefinition file<nowiki>="</nowiki>c:\processes\Оформить отпуск.par" type=”отпуска”/></tt>
  <namedIdentitySet name="Инспектора" type="Executor">  
    <identity name="attila"/>
    <identity name="julius"/>
  </namedIdentitySet>
  <setActorInactive name="nero">  
    <namedIdentitySet name="Инспектора" type="Executor"/>  
  </setActorInactive>


== Элемент redeployProcessDefinition ==
== Элемент deployProcessDefinition ==


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


|-
|-
| definitionId
| file
| Идентификатор определения процесса
| Путь к файлу, в котором находится определение процесса (par архив)
| обязательный
 
|-
| file
| Путь к файлу, в котором находится определение процесса (par архив)
| обязательный
| обязательный


Строка 836: Строка 848:
|-
|-
|}
|}
пример тега:


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


== Элемент redeployProcessDefinition  ==


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


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


|-
|-
| executor
| file
| Исполнитель, которому добавляются полномочия
| Путь к файлу, в котором находится определение процесса (par архив)
| обязательный
| обязательный


|-
|-
| type
| Тип процесса (если не указан, то Script)
| опциональный
 
|-
|}
|}




== Элемент removeProcesses ==


<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
| Тип полномочий
| Имя определения процесса
| опциональный
| Нет


|-
|-
|}
| version
пример тега:
| Версия определения процесса для которой удалять запущенные процессы
| Нет


<nowiki><addPermissionsOnActor name="ivanov" executor="</nowiki>агенты">
|-
    <nowiki><permission name="permission.read"/></nowiki>
| id
    <nowiki><permission name="permission.update_permissions"/></nowiki>
| Если этот параметр присутствует, то будет удален процесс с указанным ID
<nowiki></addPermissionsOnActor></nowiki>
| Нет


== Элемент setPermissionsOnActor  ==
|-
| idFrom
| Если этот параметр присутствует, то будут удалены процессы, ID которых начинается с idFrom включительно
| Нет


|-
| idTo
| Если этот параметр присутствует, то будут удалены процессы, ID которых заканчивается idTo включительно
| Нет


|-
| startDateFrom
| Дата старта процесса не должна быть ранее данного значения
| Нет


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
|-
 
| startDateTo
{|width=100% border=1
| Дата старта процесса не должна превосходить данное значение
| <center>'''''Атрибут'''''</center>
| Нет
| <center>'''''Описание'''''</center>
 
| <center>'''''Обязательный'''''</center>
|-
| endDateFrom
| Дата окончания процесса не должна быть ранее данного значения
| Нет


|-
|-
| name
| endDateTo
| Имя пользователя, на которого устанавливаются полномочия
| Дата окончания процесса не должна превосходить данное значение
| обязательный
| Нет


|-
|-
| executor
| onlyFinished
| Исполнитель, которому устанавливаются полномочия на пользователя
| Удалять только завершенные процессы, только незавершенные или все (по умолчанию – все)
| обязательный
| Нет


|-   
|-   
|}
|}


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


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


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
Описание элемента аналогично описанию элемента removeProcesses.


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


|-
<nowiki><stopProcess id=”1”/></nowiki>
| permission
| Тип полномочий
| опциональный


|- 
<nowiki><stopProcess idFrom="1" idTo="5"/></nowiki>
|}
пример тега:
 
<nowiki><setPermissionsOnActor name="ivanov" executor="</nowiki>агенты">
    <nowiki><permission name="permission.read"/></nowiki>
    <nowiki><permission name="permission.update_permissions"/></nowiki>
<nowiki></setPermissionsOnActor ></nowiki>
 
== Элемент removePermissionsOnActor  ==


== Элемент addPermissions ==


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


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


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


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


|-  
|-
|}
|}
Где '''type''' может быть:
* DEFINITION - определение процесса
* PROCESS - экземпляр процесса
* EXECUTOR - исполнитель
* BOTSTATIONS - бот станция
* RELATIONS - отношения
* RELATION - отношение
* REPORTS - отчеты
* DATASOURCES - источники данных
* SYSTEM - системные полномочия


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
Строка 964: Строка 1006:
|-
|-
| permission
| permission
| Тип полномочий
| Тип полномочий  
| опциональный
| опциональный


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


<nowiki><removePermissionsOnActor name="ivanov" executor="</nowiki>агенты">
    <nowiki><permission name="permission.read"/></nowiki>
<nowiki></removePermissionsOnActor></nowiki>


Допустимые полномочия для определений процессов (type="DEFINITION"):
* READ
* UPDATE_PERMISSIONS
* UPDATE
* DELETE
* START_PROCESS
* READ_PROCESS
* CANCEL_PROCESS


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


== Элемент addPermissionsOnGroup  ==
* READ
* UPDATE_PERMISSIONS
* CANCEL
* UPDATE
* DELETE
* START_PROCESS
* CANCEL_PROCESS


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


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


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


* READ
* UPDATE_PERMISSIONS
* UPDATE


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


== Элемент removePermissionsOnGroup  ==
* READ
Синтаксис и семантика команд *PermissionsOnActor и *PermissionsOnGroup одинаковы и описание всех команд собрано в одно. Различия в элементах операций над пользователями и группами состоят в разных подмножествах допустимых полномочий и допустимых исполнителях задаваемых передаваемых в namedIdentitySet и атрибуте name.
* UPDATE_PERMISSIONS
* UPDATE


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


* ''permission.read''
* READ
* ''permission.update_permissions''
* UPDATE_PERMISSIONS
* ''permission.update_actor_status''
* UPDATE
* ''permission.update_executor''
* DELETE


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


* ''permission.read''
* READ
* ''permission.update_permissions''
* UPDATE_PERMISSIONS
* ''permission.update_executor''
* UPDATE
* ''permission.list_group''
* ''permission.list_group''
* ''permission.remove_from_group) ''


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


* READ
* UPDATE_PERMISSIONS
* UPDATE


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


<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
* READ
* UPDATE_PERMISSIONS
* LOGIN
* CHANGE_SELF_PASSWORD
* CREATE_EXECUTOR
* CREATE_DEFINITION
* VIEW_LOGS


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


|-
Пример тега:
| name
 
| Имя пользователя, на которого добавляются полномочия
<nowiki><addPermissions type="EXECUTOR" name="ivanov" executor="</nowiki>агенты">
| опциональный
    <nowiki><permission name="READ"/></nowiki>
    <nowiki><permission name="UPDATE_PERMISSIONS"/></nowiki>
<nowiki></addPermissions></nowiki>
 
== Элемент addPermissionsById ==
 
Добавляет полномочия на объект по его идентификатору
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


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


|-   
|-   
|}
|}


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


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


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


|-  
|-
|}
|}


Исполнители, для которых будут добавлены полномочия исполнителю, заданному в атрибуте executor, включают в себя всех исполнителей из вложенных элементов типа namedIdentitySet (если вложенные элементы имеются) и исполнителя, заданного через атрибут name (если атрибут имеется).
Пример тега:
 
пример тега:
 
  <nowiki><addPermissionsOnActor name="ivanov" executor="</nowiki>агенты">
    <nowiki><namedIdentitySet name="</nowiki>Сотрудники"/>
    <nowiki><permission name="permission.read"/></nowiki>
  <nowiki></addPermissionsOnActor></nowiki>
 
== Элемент addPermissionsOnRelation (начиная с версии 4.0.5) ==
 
См. ниже
 
== Элемент setPermissionsOnRelation (начиная с версии 4.0.5) ==


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


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


== Элемент removePermissionsOnRelation (начиная с версии 4.0.5) ==
  <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  ==


* ''permission.read''
* ''permission.update_permissions''
* ''permission.update_relation''




Строка 1082: Строка 1171:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| type
| Тип объекта, на который устанавливаются полномочия
| обязательный


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


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


|-   
|-   
|}
|}


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
Строка 1106: Строка 1202:
| permission
| permission
| Тип полномочий
| Тип полномочий
| 0 или более
| опциональный


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


Отношения, для которых будут добавлены полномочия исполнителю, заданному в атрибуте executor, включают в себя все отношения из вложенных элементов типа namedIdentitySet (если вложенные элементы имеются) и отношение, заданное через атрибут name (если атрибут имеется).
Список допустимых полномочий и их описание см. в пункте "Элемент addPermissions" настоящего руководства


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


  <nowiki><addPermissionsOnRelation name="boss" executor="</nowiki>агенты">
<setPermissions type="EXECUTOR" name="ivanov" executor="агенты">
    <nowiki><namedIdentitySet name="</nowiki>Все_Отношения"/>
    <permission name="READ"/>
    <nowiki><permission name="permission.read"/></nowiki>
    <permission name="UPDATE_PERMISSIONS"/>
  <nowiki></addPermissionsOnRelation></nowiki>
</setPermissions>
 
== Элемент setPermissionsById ==
 
Устанавливает полномочия на объект по его идентификатору.


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


== Элемент removePermissions  ==


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


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


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


|-  
|-
|}
| name
| Имя объекта
| обязательный


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


|-
|}


<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
Строка 1152: Строка 1257:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| namedIdentitySet
| Именованное множество
| 0 или более


|-
|-
Строка 1158: Строка 1268:
| опциональный
| опциональный


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


  <nowiki><addPermissionsOnSystem executor="</nowiki>Группа Все">
  <nowiki><removePermissions type="EXECUTOR" name="ivanov" executor="</nowiki>агенты">
     <nowiki><permission name="permission.read"/></nowiki>
     <nowiki><permission name="READ"/></nowiki>
    <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></removePermissions></nowiki>
<nowiki></addPermissionsOnSystem></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==
 
Удаляет полномочия на объект по его идентификатору.


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


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


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


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


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


|-  
|-
|}
|}


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


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


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


<nowiki><setPermissionsOnSystem executor="</nowiki>Группа Все">
    <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></setPermissionsOnSystem></nowiki>


== Элемент removePermissionsOnSystem ==
Пример тега:
 
<tt><nowiki><</nowiki>removeAllPermissions type="EXECUTOR" name="manager" executor="attila"/></tt>
 
Пример тега с использованием именованного множества:
 
  <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>
Строка 1221: Строка 1368:
|-
|-
| executor
| executor
| Исполнитель, у которого удаляются полномочия на систему
| Исполнитель, полномочия которого удаляются
| обязательный
| обязательный


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


Строка 1237: Строка 1394:


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


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


<nowiki><removePermissionsOnSystem executor="</nowiki>Группа Все">
    <nowiki><permission name="permission.login_to_system"/></nowiki>
<nowiki></removePermissionsOnSystem></nowiki>


Синтаксис и семантика команд *PermissionsOnSystem одинаковы и описание всех команд собрано в одно.
Пример тега:


Полномочия, допустимые в командах:
<removeAllPermissionsById executor="attila" type="EXECUTOR" id="5"/>


* 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


  <namedIdentitySet name="listId" type="Executor">   
    <identity id="5"/>
    <identity id="11"/>
  </namedIdentitySet>
  <removeAllPermissionsById executor="attila">
    <namedIdentitySet name="listId" type="Executor"/> 
  </removeAllPermissionsById>
== Элемент createBotStation ==




Строка 1273: Строка 1428:


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


|-
|-  
|}
|}
пример тега:
<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
| Новое имя ботстанции
| Нет


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


  <nowiki><addPermissionsOnSystem executor="</nowiki>Группа Все">
<nowiki><updateBotStation name="botstation" newName="localhostBotStation"/></nowiki>
    <nowiki><permission name="permission.read"/></nowiki>
 
    <nowiki><permission name="permission.login_to_system"/></nowiki>
== Элемент deleteBotStation ==
  <nowiki></addPermissionsOnSystem></nowiki>
 


== Элемент addPermissionsOnDefinition ==


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


|-
|-   
| executor
| Исполнитель, которому добавляются полномочия
| обязательный
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| permission
| Тип полномочий
| опциональный
 
|-   
|}
|}
пример тега:
пример тега:


  <nowiki><addPermissionsOnDefinition name="</nowiki>отпуск" executor="ivanov">
  <nowiki><deleteBotstation name="botstation"/></nowiki>
    <nowiki><permission name="permission.read"/></nowiki>
    <nowiki><permission name="permission.start_process"/></nowiki>
    <nowiki><permission name="permission.read_process"/></nowiki>
<nowiki></addPermissionsOnDefinition></nowiki>


== Элемент setPermissionsOnDefinition  ==
== Элемент createBot ==




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


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


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


  <nowiki><setPermissionsOnDefinition name="</nowiki>отпуск" executor="ivanov">
  <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.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  ==
== Элемент updateBot ==


 
<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
Строка 1413: Строка 1530:
|-
|-
| name
| name
| Определение процесса, на которое удаляются полномочия
| Имя бота
| обязательный
| обязательный


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


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


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


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


|-   
|-   
Строка 1442: Строка 1557:
пример тега:
пример тега:


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


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


* 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">'''Атрибуты элемента'''</td></tr></table>


 
{|width=100% border=1
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
Строка 1468: Строка 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
| Тип полномочий
| Имя бота, которому добавляется конфигурация
| опциональный
| обязательный


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


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


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


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


    <nowiki><permission name="permission.read"/></nowiki>
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
  <nowiki></addPermissionsOnDefinition></nowiki>
 
== Элемент addPermissionsOnProcesses ==
<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
| Определение процесса, на запущенные процессы которого добавляются полномочия
| Добавляемая конфигурация
| обязательный
| 1
 
|-
| executor
| Исполнитель, которому добавляются полномочия
| обязательный


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


<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>


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


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


|-
| permission
| Тип полномочий
| опциональный


|- 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
|}
пример тега:
 
<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>
 
 
== Элемент setPermissionsOnProcesses  ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>


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


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


|-  
|-
|}
|}


Строка 1592: Строка 1671:


|-
|-
| permission
| botConfiguration
| Тип полномочий
| Удаляемая конфигурация
| опциональный
| Не менее одного


|-   
|-   
Строка 1600: Строка 1679:
пример тега:
пример тега:


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


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


== Элемент 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
Строка 1620: Строка 1696:
|-
|-
| name
| name
| Определение процесса, на процессы которого предоставляются полномочия
| Имя бота
| обязательный
| обязательный


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


|-   
|-   
|}
|}
пример тега:
  <nowiki><removeAllConfigurationsFromBot name="UniversalBot"/></nowiki>
== Элемент 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
| <center>'''''Элемент'''''</center>
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>


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


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


<nowiki><</nowiki>removePermissionsOnProcesses name<nowiki>="отпуск" </nowiki>  executor<nowiki>="инспектора кадровой службы"></nowiki>
'all' - да, для всех профайлов;
    <nowiki><permission name="permission.cancel_process" /></nowiki>
<nowiki></removePermissionsOnProcesses ></nowiki>


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


Синтаксис и семантика команд *PermissionsOnProcesses одинаковы и описание всех команд собрано в одно. Полномочия, допустимые в командах:''' '''
'none' - нет, для всех профайлов
 
| Нет, по умолчанию none
* permission.read
* permission.update_permissions
* permission.cancel_process
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
|-
| name
| useTemplates
| Определение процесса, на процессы которого добавляются полномочия
| Использовать ли шаблонные BatchPresentation. Если стоит 'no', то в случае присутствия копируемого BatchPresentation он безусловно заменяется
| обязательный
| Нет, по умолчанию шаблоны используются
 
|-
| executor
| Исполнитель, которому добавляются полномочия
| обязательный


|-   
|-   
Строка 1693: Строка 1755:


|-
|-
| permission
| batchPresentation
| Тип полномочий
| Описание BatchPresentation
| опциональный
| Не менее одного


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


  <nowiki><</nowiki>addPermissionsOnProcesses name<nowiki>="отпуск" </nowiki>executor<nowiki>="инспектора кадровой службы"></nowiki>
# Копируемого BatchPresentation еще не существует.
    <nowiki><permission name="permission.update_permissions" /></nowiki>
# Атрибут useTemplates='no'.
    <nowiki><permission name="permission.cancel_process" /></nowiki>
# Атрибут useTemplates='yes' и при этом заменяемый BatchPresentation равен хотя бы одному шаблонному BatchPresentation.
  <nowiki></addPermissionsOnProcesses></nowiki>


== Элемент removeAllPermissionsFromExecutor ==
пример тега:
см. ниже


== Элемент removeAllPermissionsFromProcessDefinition  ==
<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>


== Элемент removeAllPermissionsFromProcesses  ==
== Элемент batchPresentation ==
Синтаксис и семантика команд *PermissionsOnProcesses одинаковы и описание всех команд собрано в одно.






<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
Строка 1726: Строка 1786:


|-
|-
| name
| <tt>name</tt>
| Именованный объект, полномочия на который необходимо удалить у всех пользователей
| Имя Элемента
| обязательный
| обязательный


|-  
|-
|}
| <tt>actorName</tt>
пример тега:
| Имя пользователя, которому принадлежит batchPresentation.
 
| Нет
<tt><nowiki><</nowiki>removeAllPermissionsFromProcesses name="отпуск"/></tt>
 
== Элемент createBotStation ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


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


|-
|-
| address
| <tt>batchName</tt>
| Адрес ботстанции
| Имя BatchPresentation
| Нет
| Нет


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


<nowiki><createBotstation name="botstation" address="localhost"/></nowiki>
Возможные значения (полный список см. в ''BatchPresentationConsts.java''):


== Элемент updateBotStation ==
* 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 или более


|-
|-
| newName
| delete
| Новое имя ботстанции
| Удаляемые правила замещения
| Нет
| 0 или более


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


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


<nowiki><updateBotstation name="botstation" newName="localhostBotStation" address="localhost"/></nowiki>
Изменения в заместителях будут применяться ко всем пользователям, заданным в executor или входящих в группы, заданных в executor.


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


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


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


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


{|width=100% border=1
параметров add может быть от 0 (отсутствие) и сколько нужно.
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>


|-
Оргфункция - необязательный параметр, для остальных по умолчанию принимаются значения criteria=always isFirst=true isEnable=true.
| name
 
| Имя ботстанции
замещения будут вставлены в порядке их появления, то есть первый параметр с isFirst=true будет первым правилом, второй - вторым и т.д.
| обязательный
 
Так же и с параметрами с isFirst=false с той лишь разницей, что они будут с конца.
 
 
Если огрфункция в add не указывается, то вставляется терминатор.
 
Поддерживаемые подстановки:


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


<nowiki><deleteBotstation name="botstation"/></nowiki>


== Элемент createBot ==
пример тега:


<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>


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


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


|-
|-
| startTimeout
| versionFrom
| Задержка выполнения
| Минимальная версия определения процессов которые нужно удалить
| Нет
| Нет


|-
|-
| password
| versionTo
| Пароль для входа в систему
| Максимальная версия определения процессов которые нужно удалить
| Нет
| Нет


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


<nowiki><createBot name="UniversalBot" botStation="botstation" startTimeout="200" password="123"/></nowiki>
== Элемент deployDataSource ==


== Элемент updateBot ==
Загружает источник данных


<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
Строка 1862: Строка 1920:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-


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


|-
|}
| newName
| Новое имя бота
| Нет


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


|-
  <deployDataSource file="data-sources/InternalStorage.xml"/>
| newBotStation
| Новое имя ботстанции
| Нет


|-
== Элемент relation ==
| startTimeout
| Новая задержка выполнения
| Нет


|-
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента:'''</td></tr></table>
| password
| Новый пароль
| Нет
 
|- 
|}
пример тега:
 
<nowiki><updateBot name="UniversalBot" startTimeout="0" password="321"/></nowiki>
 
== Элемент deleteBot ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>


{|width=100% border=1
{|width=100% border=1
Строка 1912: Строка 1944:
|-
|-
| name
| name
| Имя бота
| Имя отношения.
| обязательный
| обязательный


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


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


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


== Элемент addConfigurationsToBot ==
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
<div id="addConfigurationsToBot"></div>
 
<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
| right
| Имя бота, которому добавляется конфигурация
| Правая часть отношения
| обязательный
| обязательный


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


Строка 1949: Строка 1977:
|}
|}


Внутри тегов <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 файлу отчета
| обязательный
|-
|-
| botConfiguration
| Добавляемая конфигурация
| 1


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


<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
| description
  <nowiki><botConfiguration name="" handler="" configuration=""/></nowiki>
| Описание
<nowiki></addConfigurationsToBot></nowiki>
| опциональный
|-


<nowiki><addConfigurationsToBot name="UniversalBot"></nowiki>
| type
  <nowiki><botConfiguration name="" handler="">
| Тип отчета
      <nowiki><any configuration XML>
| опциональный
  </nowiki></botConfiguration>
|-
<nowiki></addConfigurationsToBot></nowiki>


== Элемент removeConfigurationsFromBot ==
|}




 
<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
| parameter
| Имя бота, у которого удаляется конфигурация
| Параметр для построения отчета
| обязательный
| 0 или более


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




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


{|width=100% border=1
{|width=100% border=1
Строка 2009: Строка 2047:
| <center>'''''Описание'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
| <center>'''''Обязательный'''''</center>
|-
| name
| Название параметра, видимое пользователю
| обязательный
| innerName
| Название параметра внутри отчета
| обязательный


|-
| type
| botConfiguration
| Тип параметра (доступны String, Integer, Date, BP type selection, )
| Удаляемая конфигурация
| обязательный
| Не менее одного


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


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


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


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


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


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


{|width=100% border=1
  <deployReport file="../samples/reports/userTasks.jasper" name="userTasks" description="User tasks execution statistic" type="user">
| <center>'''''Атрибут'''''</center>
    <parameter name="User login" innerName="UserName" type="ACTOR_NAME"/>
| <center>'''''Описание'''''</center>
    <parameter name="Report date from" innerName="ReportDateFrom" type="DATE"/>
| <center>'''''Обязательный'''''</center>
    <parameter name="Report date to" innerName="ReportDateTo" type="DATE"/>
  </deployReport>


|-
| name
| Имя бота
| обязательный


|-
[[Категория:Документация]]
| botStation
| Имя бот станции
| необязательный
 
|- 
|}
пример тега:
 
  <nowiki><removeAllConfigurationsFromBot name="UniversalBot"/></nowiki>
 
== Элемент addPermissionsOnBotStations ==
== Элемент 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
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| executor
| Исполнитель, которому меняются полномочия
| обязательный
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| permission
| Тип полномочий
| Нет
 
|- 
|}
пример тега:
 
<nowiki><setPermissionsOnBotStations executor="A</nowiki>ll employees">
    <nowiki><permission name="permission.read"/></nowiki>
<nowiki></setPermissionsOnBotStations></nowiki>
 
== Элемент replicateBatchPresentation ==
 
 
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| batchName
| Имя BatchPresentation'а которое будет создаваться в результате копирования
| обязательный
 
|-
| setActive
| Должно ли новое представление стать активным. Возможные значения:
 
'all' - да, для всех профайлов;
 
'changed' - только если BatchPresentation в профайле изменялся;
 
'none' - нет, для всех профайлов
| Нет, по умолчанию none
 
|-
| useTemplates
| Использовать ли шаблонные BatchPresentation. Если стоит 'no', то в случае присутствия копируемого BatchPresentation он безусловно заменяется
| Нет, по умолчанию шаблоны используются
 
|- 
|}
 
 
 
<table> <tr><td style="vertical-align: middle">'''Вложенные элементы:'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Элемент'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| batchPresentation
| Описание BatchPresentation
| Не менее одного
 
|- 
|}
Элемент replicateBatchPresentation должен иметь только один дочерний элемент batchPresentation с атрибутом name='source' и произвольное число дочерних элементов batchPresentation с атрибутом name='template'. Копирование BatchPresentation происходит в следующих случаях:
 
# Копируемого 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>
 
== Элемент removeProcesses ==
 
<table> <tr><td style="vertical-align: middle">'''Атрибуты элемента'''</td></tr></table>
 
{|width=100% border=1
| <center>'''''Атрибут'''''</center>
| <center>'''''Описание'''''</center>
| <center>'''''Обязательный'''''</center>
 
|-
| name
| Имя определения процесса
| Нет
 
|-
| version
| Версия определения процесса для которой удалять запущенные процессы
| Нет
 
|-
| id
| Если этот параметр присутствует, то будет удален процесс с указанным ID
| Нет
 
|-
| idFrom
| Если этот параметр присутствует, то будут удалены процессы, ID которых начинается с idFrom включительно
| Нет
 
|-
| idTo
| Если этот параметр присутствует, то будут удалены процессы, ID которых заканчивается idTo включительно
| Нет
 
|-
| startDateFrom
| Дата старта процесса не должна быть ранее данного значения
| Нет
 
|-
| startDateTo
| Дата старта процесса не должна превосходить данное значение
| Нет
 
|-
| endDateFrom
| Дата окончания процесса не должна быть ранее данного значения
| Нет
 
|-
| endDateTo
| Дата окончания процесса не должна превосходить данное значение
| Нет
 
|-
| onlyFinished
| Удалять только завершенные процессы, только незавершенные или все (по умолчанию – все)
| Нет
 
|- 
|}
 
'''Замечание.''' Формат даты для атрибутов задается как указан в настройках сервера без времени (по умолчанию ДД.ММ.ГГГГ).
 
== Элемент cancelProcesses ==
 
Описание элемента аналогично описанию элемента removeProcesses.
 
== Элемент 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.5.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>