AdminScriptGuide
Руководство по написанию администраторских скриптов
Версия 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 | Удаляет все полномочия на объект |
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 | Код пользователя (число) | опциональный |
Электронная почта пользователя | опциональный | |
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 происходит в следующих случаях:
- Копируемого 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. | обязательный |
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
- AUTO_SELECT_ACTOR_FULL_NAME
- IS_ADMINISTRATOR
Тип должен соответствовать типу параметра внутри отчета
Пример тега:
<deployReport file="../samples/reports/userTasks.jasper" name="userTasks" description="User tasks execution statistic" type="user"> <parameter name="User login" innerName="UserName" type="String"/> <parameter name="Report date from" innerName="ReportDateFrom" type="Date"/> <parameter name="Report date to" innerName="ReportDateTo" type="Date"/> </deployReport>