AdminScriptGuide
Руководство по написанию администраторских скриптов
Версия 4.6.0
© 2015-2025, ООО "Процессные технологии"
Введение
Конфигурация скрипта описывается в отдельном 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
Тип должен соответствовать типу параметра внутри отчета
Пример тега:
<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>

