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

Введение

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

В случае установки RunaWFE в виде сервера-симулятора, в папке adminkit можно найти пример админ скриптов для наполнения сервера демо данными (../adminkit/scripts/deploy-samples-script.xml)

Загрузить (или создать) скрипт в RunaWFE можно на странице доступной в пункте меню «Система» раздел «Скрипты».

AdmScr1 1.png

Для выполнения скрипта откройте его и нажмите «Выполнить».

AdmScr1 2.png

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

Настройка файла script-runner.bat (script-runner.sh):

  1. Переменной LOGIN присвойте имя пользователя, от имени которого будет запущен скрипт (set LOGIN=»Имя»). Пользователь должен иметь достаточные полномочия для выполнения действий скрипта.
  2. Переменной PASSWORD присвойте значение пароля этого пользователя (set PASSWORD=»пароль»)
  3. Также можно задать имя файла, в котором находится конфигурация скрипта (по умолчанию — scripts/deploy-samples-script.xml). Для этого переменной SCRIPT присвойте в качестве значения имя файла (set SCRIPT_PATH=»scripts/deploy-samples-script.xml»).

Скрипт использует конфигурационный файл jndi.properties находящихся в директории conf. В нем указывается каким образом скрипт связывается с сервером.

# JbossAS4
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:10099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

# JbossAS7
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=remote://localhost:4447
jboss.naming.client.ejb.context=true

Описание языка скрипта

Скрипт является правильно сформированным XML-документом с тегом верхнего уровня workflowScript, в котором содержится тело скрипта.

Скрипт обязательно должен содержать декларацию XML Schema содержащуюся в файле workflowScript.xsd. Пример правильного указания схемы содержится в прилагаемом файле-образце scripts/deploy-samples-script.xml.

Служебные элементы:
Имя элемента
Описание элемента
namedIdentitySet Создает именованное множество элементов
identity Описывает элемент
executor Описывает исполнителя
permission Описывает полномочия
botConfiguration Описывает конфигурацию бота
batchPresentation Описывает BatchPresentation
Элементы манипуляции с исполнителями:
Имя элемента
Описание элемента
createActor Создает пользователя
createGroup Создает группу
deleteExecutor Удаляет исполнителя
deleteExecutors Удаляет исполнителей
addExecutorsToGroup Добавляет исполнителей в группу
removeExecutorsFromGroup Исключает исполнителей из группы
setActorInactive Установка статуса пользователя — «не активен»
Элементы манипуляции с определениями процессов:
Имя элемента
Описание элемента
deployProcessDefinition Загружает определение процесса
redeployProcessDefinition Изменить определение процесса
Элементы манипуляции с процессами:
Имя элемента
Описание элемента
cancelProcesses (или stopProcess) Останавливает процессы
removeProcesses Удаляет из системы процессы
Элементы манипуляции с полномочиями:
Имя элемента
Описание элемента
addPermissions Добавляет полномочия на объект
addPermissionsById Добавляет полномочия на объект по его идентификатору
setPermissions Устанавливает полномочия на объект
setPermissionsById Устанавливает полномочия на объект по его идентификатору
removePermissions Удаляет полномочия на объект
removeAllPermissions Удаляет все полномочия на объект
removeAllPermissionsById Удаляет все полномочия на объект по его идентификатору
Элементы манипуляции с ботами и бот станциями:
Имя элемента
Описание элемента
createBotStation Создает бот станцию
updateBotStation Обновить бот станцию
deleteBotStation Удалить бот станцию
createBot Создает бота
updateBot Обновить бота
deleteBot Удалить бота
addConfigurationsToBot Добавить боту конфигурацию
removeConfigurationsFromBot Удалить конфигурации у бота
removeAllConfigurationsFromBot Удалить все конфигурации у бота
Элементы манипуляции с источниками данных:
Имя элемента
Описание элемента
deployDataSource Загружает источник данных
Элементы манипуляции с отношениями:
Имя элемента
Описание элемента
relation создает новое отношение или добавляет пары в существующее отношение
Элементы манипуляции с отчетами:
Имя элемента
Описание элемента
deployReport загрузка jasper отчета
Элементы административных действий:
Имя элемента
Описание элемента
replicateBatchPresentation Копирует представления тестового исполнителя всем исполнителям
changeSubstitutions Изменяет правила замещения

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

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

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

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

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

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

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

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

<?xml version="1.0" encoding="UTF-8" ?>
<workflowScript xmlns="http://runa.ru/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://runa.ru/xml workflowScript.xsd">
 <transactionScope>
  <removeProcesses id="68" /> 
  <removeProcesses id="69" /> 
 </transactionScope>
 <transactionScope>
  <removeProcesses idFrom="100" idTo="110"/> 
 </transactionScope>
</workflowScript>

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

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

Элемент executor

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

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

Элемент permission

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

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

Возможные значения полномочий:
Значение
Описание
READ Полномочия «Читать»
UPDATE Полномочия «Изменять»
DELETE Полномочия «Удалить» (определение процесса)
LOGIN Полномочия «Входить» (в систему)
CHANGE_SELF_PASSWORD Полномочия «Изменять собственный пароль»
CREATE_EXECUTOR Полномочия «Создавать исполнителя»
UPDATE_ACTOR_STATUS Полномочия «Изменять статус» (исполнителя)
CREATE_DEFINITION Полномочия «Загружать определение процесса» (в систему)
READ_PROCESS Полномочия «Читать экземпляр процесса»
START_PROCESS Полномочия «Запускать процесс»
CANCEL_PROCESS Полномочия «Останавливать экземпляр процесса» (задается в определении процесса)
CANCEL Полномочия «Останавливать экземпляр процесса» (задается в экземпляре процесса)
UPDATE_PERMISSIONS Полномочия «Изменять полномочия»
VIEW_LOGS Полномочия «Читать лог»
VIEW_TASKS Полномочия «Видеть задачи»
DELEGATE_TASKS Полномочия «Делегировать задачи»

Элемент botConfiguration

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

Элемент identity

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

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

Элемент namedIdentitySet

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

где type может определять элементы:

  • ProcessDefinition — определение
  • Process — экземпляр процесса
  • Executor — исполнитель
  • Report — отчет
Вложенные элементы:
Элемент
Описание
Обязательный
identity Добавляет элемент 0 или более
namedIdentitySet Добавляет множество элементов 0 или более

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

Например,

 <namedIdentitySet name="staff" type="Executor">    
   <identity name="attila"/>
   <identity name="gaiua"/>
   <identity name="marcus"/>
 </namedIdentitySet>

Элемент createActor

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

пример тега:

   <createActor name="ivanov" fullName="Иванов П. Н." description="инженер"/>

Элемент createGroup

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

пример тега:

  <createGroup name="Бухгалтеры" description=”Сотрудники РФО”/>

Элемент deleteExecutor

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

пример тега:

  <deleteExecutor name="ivanova" />

Элемент deleteExecutors

Вложенные элементы:
Элемент
Описание
Обязательный
deleteExecutor Удаляемые исполнители 1 или более

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

Пример тега:

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

Элемент addExecutorsToGroup

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

пример тега:

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

Элемент removeExecutorsFromGroup

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

пример тега:

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

Элемент setActorInactive

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

пример тега:

 <namedIdentitySet name="Инспектора" type="Executor">    
   <identity name="attila"/>
   <identity name="julius"/>
 </namedIdentitySet>  
 <setActorInactive name="nero">    
   <namedIdentitySet name="Инспектора" type="Executor"/>    
 </setActorInactive>

Элемент deployProcessDefinition

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

пример тега:

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

Элемент redeployProcessDefinition

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

Элемент removeProcesses

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

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

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

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

Примеры тега:

<stopProcess id=”1”/>

<stopProcess idFrom=»1″ idTo=»5″/>

Элемент addPermissions

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

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

Где type может быть:

  • DEFINITION — определение процесса
  • PROCESS — экземпляр процесса
  • EXECUTOR — исполнитель
  • BOTSTATIONS — бот станция
  • RELATIONS — отношения
  • RELATION — отношение
  • REPORTS — отчеты
  • DATASOURCES — источники данных
  • SYSTEM — системные полномочия
Вложенные элементы:
Элемент
Описание
Обязательный
permission Тип полномочий опциональный

Допустимые полномочия для определений процессов (type=»DEFINITION»):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE
  • DELETE
  • START_PROCESS
  • READ_PROCESS
  • CANCEL_PROCESS

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

  • READ
  • UPDATE_PERMISSIONS
  • CANCEL
  • UPDATE
  • DELETE
  • START_PROCESS
  • CANCEL_PROCESS

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

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

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

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

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

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

Допустимые полномочия для отношения (type=»RELATION»):

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE
  • DELETE

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

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

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

  • READ
  • UPDATE_PERMISSIONS
  • UPDATE

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

  • READ
  • UPDATE_PERMISSIONS
  • LOGIN
  • CHANGE_SELF_PASSWORD
  • CREATE_EXECUTOR
  • CREATE_DEFINITION
  • VIEW_LOGS

Пример тега:

<addPermissions type="EXECUTOR" name="ivanov" executor="агенты">
    <permission name="READ"/>
    <permission name="UPDATE_PERMISSIONS"/>
</addPermissions>

Элемент addPermissionsById

Добавляет полномочия на объект по его идентификатору

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

Пример тега:

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

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

 <namedIdentitySet name="listId" type="ProcessDefinition">    
   <identity id="1"/>
   <identity id="2"/>
 </namedIdentitySet>
 
 <addPermissionsById executor="julius">   
   <namedIdentitySet name="listId" type="ProcessDefinition"/>
   <permission name="READ"/>
   <permission name="UPDATE"/>
 </addPermissionsById>

Элемент setPermissions

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

Список допустимых полномочий и их описание см. в пункте «Элемент addPermissions» настоящего руководства

пример тега:

<setPermissions type="EXECUTOR" name="ivanov" executor="агенты">
   <permission name="READ"/>
   <permission name="UPDATE_PERMISSIONS"/>
</setPermissions>

Элемент setPermissionsById

Устанавливает полномочия на объект по его идентификатору.

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

Элемент removePermissions

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

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

пример тега:

<removePermissions type="EXECUTOR" name="ivanov" executor="агенты">
    <permission name="READ"/>
</removePermissions>

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

 <namedIdentitySet name="users" type="Executor">    
   <identity name="manager"/>
   <identity name="staff"/>
 </namedIdentitySet>
 
 <removePermissions executor="nero">
   <namedIdentitySet name="users" type="Executor"/>
   <permission name="READ"/>
 </removePermissions

Элемент removePermissionsById

Удаляет полномочия на объект по его идентификатору.

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

Элемент removeAllPermissions

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

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

Пример тега:

<removeAllPermissions type="EXECUTOR" name="manager" executor="attila"/>

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

 <namedIdentitySet name="users" type="Executor">    
   <identity name="manager"/>
   <identity name="staff"/>
 </namedIdentitySet>  
 <removeAllPermissions executor="nero">
   <namedIdentitySet name="users" type="Executor"/>
 </removeAllPermissions>

Элемент removeAllPermissionsById

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

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

Пример тега:

<removeAllPermissionsById executor="attila" type="EXECUTOR" id="5"/>

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

<namedIdentitySet name="listId" type="Executor">    
   <identity id="5"/>
   <identity id="11"/>
 </namedIdentitySet>
 <removeAllPermissionsById executor="attila">
   <namedIdentitySet name="listId" type="Executor"/>   
 </removeAllPermissionsById>

Элемент createBotStation

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

пример тега:

<createBotStation name="botstation"/>

Элемент updateBotStation

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

пример тега:

<updateBotStation name="botstation" newName="localhostBotStation"/>

Элемент deleteBotStation

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

пример тега:

<deleteBotstation name="botstation"/>

Элемент createBot

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

пример тега:

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

Элемент updateBot

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

пример тега:

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

Элемент deleteBot

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

пример тега:

 <deleteBot name="UniversalBot" botStation="localbotstation"/>

Элемент addConfigurationsToBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота, которому добавляется конфигурация обязательный
botStation Имя ботстанции обязательный
Вложенные элементы:
Элемент
Описание
Обязательный
botConfiguration Добавляемая конфигурация 1

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

<addConfigurationsToBot name="UniversalBot">
  <botConfiguration name="" handler="" configuration=""/>
</addConfigurationsToBot>
<addConfigurationsToBot name="UniversalBot">
  <botConfiguration name="" handler="">
      <nowiki><any configuration XML>
   </botConfiguration>
</addConfigurationsToBot>

Элемент removeConfigurationsFromBot

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя бота, у которого удаляется конфигурация обязательный
botStation Имя ботстанции обязательный
Вложенные элементы:
Элемент
Описание
Обязательный
botConfiguration Удаляемая конфигурация Не менее одного

пример тега:

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

Элемент removeAllConfigurationsFromBot

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

пример тега:

  <removeAllConfigurationsFromBot name="UniversalBot"/>

Элемент replicateBatchPresentation

Атрибуты элемента
Атрибут
Описание
Обязательный
batchName Имя BatchPresentation’а которое будет создаваться в результате копирования обязательный
setActive Должно ли новое представление стать активным. Возможные значения:’all’ — да, для всех профайлов;

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

‘none’ — нет, для всех профайлов

Нет, по умолчанию none
useTemplates Использовать ли шаблонные BatchPresentation. Если стоит ‘no’, то в случае присутствия копируемого BatchPresentation он безусловно заменяется Нет, по умолчанию шаблоны используются
Вложенные элементы:
Элемент
Описание
Обязательный
batchPresentation Описание BatchPresentation Не менее одного

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

  1. Копируемого BatchPresentation еще не существует.
  2. Атрибут useTemplates=’no’.
  3. Атрибут useTemplates=’yes’ и при этом заменяемый BatchPresentation равен хотя бы одному шаблонному BatchPresentation.

пример тега:

<replicateBatchPresentation batchName="replicatedNew" setActive="all" useTemplates="yes">
  <batchPresentation name="source" actorName="attila" batchId="listTasksForm" batchName="replicateMe"/>
  <batchPresentation name="template" batchId="listTasksForm"/>
</replicateBatchPresentation>

Элемент batchPresentation

Атрибуты элемента
Атрибут
Описание
Обязательный
name Имя Элемента обязательный
actorName Имя пользователя, которому принадлежит batchPresentation. Нет
batchId Тип BatchPresentation. обязательный
batchName Имя BatchPresentation Нет

Возможные значения (полный список см. в BatchPresentationConsts.java):

  • listAllExecutorsForm — Исполнители
  • listProcessesDefinitionsForm — Определения процессов
  • listProcessesForm — Запущенные процессы
  • listRelations — Отношения
  • listTasksForm — Список заданий

В случае, если actorName и BatchName не указаны, то берется BatchPresentation по умолчанию для данного batchId.

Элемент changeSubstitutions

Вложенные элементы:
Элемент
Описание
Обязательный
executor Исполнители, у которых необходимо зменять правила замещения 1 или более
delete Удаляемые правила замещения 0 или более
add Добавляемые правила замещения 0 или более

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

Изменения в заместителях будут применяться ко всем пользователям, заданным в executor или входящих в группы, заданных в executor.

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

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

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

Оргфункция — необязательный параметр, для остальных по умолчанию принимаются значения criteria=always isFirst=true isEnable=true.

замещения будут вставлены в порядке их появления, то есть первый параметр с isFirst=true будет первым правилом, второй — вторым и т.д.

Так же и с параметрами с isFirst=false с той лишь разницей, что они будут с конца.

Если огрфункция в add не указывается, то вставляется терминатор.

Поддерживаемые подстановки:

%self_code% %self_id% %self_name%

пример тега:

<changeSubstitutions>
  <executor name="***"/>
  <delete orgFunc="***" criteria="***"/>
  <add orgFunc="***" criteria="***" isFirst="***" isEnabled="***"/> 
</changeSubstitutions>

Элемент removeProcessDefinitions

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

Элемент deployDataSource

Загружает источник данных

Атрибуты элемента:
Атрибут
Описание
Обязательный
file Путь к xml конфигурации источника данных обязательный

Пример тега

 <deployDataSource file="data-sources/InternalStorage.xml"/>

Элемент relation

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

Если отношение с указанным именем уже существует, то в него будет добавлены пары с правыми и левыми частями, описаными вложенными тегами. Если отношения не существует, то будет создано новое.

Вложенные элементы:
Элемент
Описание
Обязательный
right Правая часть отношения обязательный
left Левая часть отношения обязательный

Внутри тегов <right> и <left> нужно расположить тег(и) <executor> c сотрудниками и\или группами, которые входят в правую и левую части отношения соответственно.

пример тега:

<relation name="Boss">
  <left>
    <executor name="nero"/>
  </left>
  <right>
    <executor name="caligula"/>
    <executor name="attila"/>
  </right>
</relation>

Элемент deployReport

Загружает jasper отчет

Атрибуты элемента:
Атрибут
Описание
Обязательный
file Путь к jasper файлу отчета обязательный
name Имя отчета обязательный
description Описание опциональный
type Тип отчета опциональный
Вложенные элементы:
Элемент
Описание
Обязательный
parameter Параметр для построения отчета 0 или более
Атрибуты элемента parameter:
Элемент
Описание
Обязательный
name Название параметра, видимое пользователю обязательный innerName Название параметра внутри отчета обязательный type Тип параметра (доступны String, Integer, Date, BP type selection, ) обязательный

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

  • String
  • Integer
  • Date
  • BP type selection
  • BP swimlane selection
  • Flag (unchecked by default)
  • Flag (checked by default)
  • User Id
  • User Name
  • Group Id
  • Group Name
  • User or Group Id
  • User or Group Name

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

Пример тега:

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