AdminScriptGuide

Материал из RunaWFE
Версия от 11:35, 26 декабря 2020; WikiSysop (обсуждение | вклад) (1 версия импортирована)
Перейти к навигации Перейти к поиску

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

Версия 4.5.0

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

Введение

Скрипты находятся в отдельной папке adminkit (находится в $JBOSS_HOME). Они доступны из пункта меню Система в веб-интерфейсе.

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

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

Настройка файла 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 Исключает исполнителей из группы


Элементы манипуляции с определениями процессов:
Имя элемента
Описание элемента
deployProcessDefinition Загружает определение процесса
removeProcessDefinitions Удаляет из системы определения процессов вместе с запущенными по ним процессами
Элементы манипуляции с процессами:
Имя элемента
Описание элемента
cancelProcesses Останавливает процессы
removeProcesses Удаляет из системы процессы
Элементы манипуляции с полномочиями:
Имя элемента
Описание элемента
addPermissionsOnActor Добавляет полномочия на пользователя
setPermissionsOnActor Устанавливает полномочия на пользователя
removePermissionsOnActor Удаляет полномочия на пользователя
addPermissionsOnGroup Добавляет полномочия на группу
setPermissionsOnGroup Устанавливает полномочия на группу
removePermissionsOnGroup Удаляет полномочия на группу
addPermissionsOnRelation Добавляет полномочия на отношение
setPermissionsOnRelation Устанавливает полномочия на отношение
removePermissionsOnRelation Удаляет полномочия на отношение
addPermissionsOnSystem Добавляет полномочия на систему
setPermissionsOnSystem Устанавливает полномочия на систему
removePermissionsOnSystem Удаляет полномочия на систему
addPermissionsOnRelations Добавляет полномочия на меню "Отношения"
setPermissionsOnRelations Устанавливает полномочия на меню "Отношения"
removePermissionsRelations Удаляет полномочия на меню "Отношения"
addPermissionsOnDefinition Добавляет полномочия на определение процесса
setPermissionsOnDefinition Устанавливает полномочия на определение процесса
removePermissionsOnDefinition Удаляет полномочия на определение процесса
addPermissionsOnProcesses Добавляет полномочия на все существующие в данный момент процессы
setPermissionsOnProcesses Устанавливает полномочия на все существующие в данный момент процессы
removePermissionsOnProcesses Удаляет полномочия на все существующие в данный момент процессы
removeAllPermissionsFromExecutor Удаляет все полномочия на исполнителя
removeAllPermissionsFromProcessDefinition Удаляет все полномочия на определение процесса
removeAllPermissionsFromProcesses Удаляет все полномочия на все существующие в данный момент процессы
removeAllPermissionsFromSystem Удаляет все полномочия на систему


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


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

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

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

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

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

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

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

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

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

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

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

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

Элемент executor

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

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

Элемент permission

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

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

Возможные значения полномочий:
Значение
Описание
permission.read Полномочия «Читать»
permission.update_permissions Полномочия «Изменять полномочия»
permission.login_to_system Полномочия «Входить» (в систему)
permission.change_self_password Полномочия «Изменять собственный пароль»
permission.create_executor Полномочия «Создавать исполнителя»
permission.update_executor Полномочия «Изменять свойства» (исполнителя)
permission.update_actor_status Полномочия «Изменять статус» (исполнителя)
permission.list_group Полномочия «Просматривать» (члены группы)
permission.add_to_group Полномочия «Добавлять в группу»
permission.remove_from_group Полномочия «Удалять из группы»
permission.deploy_definition Полномочия «Загружать определение процесса» (в систему)
permission.redeploy_definition Полномочия «Изменять» (определение процесса в системе)
permission.undeploy_definition Полномочия «Выгружать» (определение процесса из системы)
permission.start_process Полномочия «Запускать процесс»
permission.read_process Полномочия «Читать процесс»
permission.cancel_process Полномочия «Отменять процесс»
permission.bot_station_configure Полномочия «Настраивать бот станцию»
permission.view_logs Полномочия «Читать лог»

Элемент botConfiguration

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

Элемент identity

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

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

Элемент namedIdentitySet

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

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

Элемент createActor

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

пример тега:

   <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="Инспектора"/>
  </addExecutorsToGroup>

Элемент removeExecutorsFromGroup

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


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

пример тега:

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

Элемент deployProcessDefinition

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

пример тега:

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

Элемент redeployProcessDefinition

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

Элемент addPermissionsOnActor

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


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

пример тега:

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

Элемент setPermissionsOnActor

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


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

пример тега:

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

Элемент removePermissionsOnActor

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

пример тега:

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


Элемент addPermissionsOnGroup

См. ниже

Элемент setPermissionsOnGroup

См. ниже

Элемент removePermissionsOnGroup

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

Допустимые полномочия для пользователей:

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

для групп:

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



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

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

пример тега:

  <addPermissionsOnActor name="ivanov" executor="агенты">
    <namedIdentitySet name="Сотрудники"/>
    <permission name="permission.read"/>
  </addPermissionsOnActor>

Элемент addPermissionsOnRelation (начиная с версии 4.0.5)

См. ниже

Элемент setPermissionsOnRelation (начиная с версии 4.0.5)

См. ниже

Элемент removePermissionsOnRelation (начиная с версии 4.0.5)

Допустимые полномочия:

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


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

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

пример тега:

  <addPermissionsOnRelation name="boss" executor="агенты">
    <namedIdentitySet name="Все_Отношения"/>
    <permission name="permission.read"/>
  </addPermissionsOnRelation>

Элемент addPermissionsOnSystem

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


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

пример тега:

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

Элемент setPermissionsOnSystem

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


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

пример тега:

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

Элемент removePermissionsOnSystem

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


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

пример тега:

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

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

Полномочия, допустимые в командах:

  • 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



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


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

пример тега:

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

Элемент addPermissionsOnDefinition

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


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

пример тега:

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

Элемент setPermissionsOnDefinition

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


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

пример тега:

<setPermissionsOnDefinition name="отпуск" executor="ivanov">
    <permission name="permission.read"/>
    <permission name="permission.update_permissions"/>
    <permission name="permission.redeploy_definition"/>
    <permission name="permission.undeploy_definition"/>
    <permission name="permission.start_process"/>
    <permission name="permission.read_process"/>
</setPermissionsOnDefinition>

Элемент removePermissionsOnDefinition

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


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

пример тега:

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

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

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



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


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

пример тега:

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

<permission name="permission.start_process"/>

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

Элемент addPermissionsOnProcesses

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


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

пример тега:

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


Элемент setPermissionsOnProcesses

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


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

пример тега:

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


Элемент removePermissionsOnProcesses

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


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

пример тега:

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


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

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



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


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

пример тега:

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

Элемент removeAllPermissionsFromExecutor

см. ниже

Элемент removeAllPermissionsFromProcessDefinition

см. ниже

Элемент removeAllPermissionsFromProcesses

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



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

пример тега:

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

Элемент createBotStation

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

пример тега:

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

Элемент updateBotStation

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

пример тега:

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

Элемент deleteBotStation

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

пример тега:

<deleteBotstation name="botstation"/>

Элемент createBot

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

пример тега:

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

Элемент updateBot

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

пример тега:

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

Элемент 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"/>

Элемент addPermissionsOnBotStations

Элемент setPermissionsOnBotStations

Элемент removePermissionsOnBotStations

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

  • permission.read
  • permission.update_permissions
  • permission.bot_station_configure



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


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

пример тега:

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

Элемент 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. (См. возможные значения в AFProfileStrategy и WFProfileStrategy) обязательный
batchName Имя BatchPresentation Нет

В случае, если 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>

Элемент removeProcesses

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

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

Элемент cancelProcesses

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

Элемент removeProcessDefinitions

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

Элемент stopProcess

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

пример тега:

<stopProcess id=”1”/>

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

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