Руководство по написанию администраторских скриптов
Версия 4.6.0
© 2015-2023, ООО "Процессные технологии"
Введение
Конфигурация скрипта описывается в отдельном xml файле.
В случае установки RunaWFE в виде сервера-симулятора, в папке adminkit можно найти пример админ скриптов для наполнения сервера демо данными (../adminkit/scripts/deploy-samples-script.xml)
Загрузить (или создать) скрипт в RunaWFE можно на странице доступной в пункте меню "Система" раздел "Скрипты".
Для выполнения скрипта откройте его и нажмите "Выполнить".
Также скрипты можно запустить из файловой системы с помощью команды script-runner.bat (script-runner.sh).
Настройка файла script-runner.bat (script-runner.sh):
- Переменной LOGIN присвойте имя пользователя, от имени которого будет запущен скрипт (set LOGIN="Имя"). Пользователь должен иметь достаточные полномочия для выполнения действий скрипта.
- Переменной PASSWORD присвойте значение пароля этого пользователя (set PASSWORD="пароль")
- Также можно задать имя файла, в котором находится конфигурация скрипта (по умолчанию - 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
|
Удаляет все полномочия на объект
|
Элементы манипуляции с ботами и бот станциями: |
Имя элемента
|
Описание элемента
|
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.
Элемент 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>
Элемент 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 происходит в следующих случаях:
- Копируемого BatchPresentation еще не существует.
- Атрибут useTemplates='no'.
- Атрибут 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>
Элемент 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>