Есть ли способ получить ScriptNode, который инициировал состояние в рабочем процессе Activiti в Alfresco? У меня есть ScriptTask в моем рабочем процессе, и для него настроен прослушиватель сценариев Alfresco для события Start. Когда скрипт вызывается, я бы хотел, чтобы ScriptNode, который перешел в ScriptTask в рабочем процессе, передавался в качестве параметра функции, определенной как прослушиватель. Это возможно?
Редактирование для ясности: вот скриншот Eclispe с плагином Activiti. http://i.imgur.com/DAKtq.jpg
Этот рабочий процесс запускается другим рабочим процессом с веб-скриптами.
var props = new Object();
var dd = new Date();
props[EL_PROP_WORK_UNIT_NAME] = "testNode" + DateISOString( dd );
props[EL_PROP_WORK_UNIT_SOURCE_CODE] = "ROB";
props[EL_PROP_WORK_UNIT_DELIVERY_DATE] = dd;
node = getHome().createNode(name, EL_TYPE_WORK_UNIT, props);
var EL_WORKFLOW = "activiti$The-workflow";
var activeWfs = node.activeWorkflows;
if( activeWfs === null || activeWfs.length === 0 )
{
var workflowPackage = workflow.createPackage();
workflowPackage.addNode( node );
var workflowDef = workflow.getDefinitionByName(EL_WORKFLOW);
var workflowPath = workflowDef.startWorkflow( workflowPackage, new Object());
}
Итак, слушатель вызывает другой метод javascript...
function artPDFRename()
{
logger.log("==============================");
logger.log("<START> artPDFRename");
var workflowDef = workflow.getDefinitionByName(EL_WORKFLOW);
var activeInstance = workflowDef.getActiveInstances();
// ????
}
Цель состоит в том, чтобы эта обработка была автоматической. Мы пытаемся спроектировать это с минимальным ручным вмешательством, насколько это возможно, и не назначаем задачи пользователям. Да, вероятно, есть другой способ переименовать PDF-файл, но я не могу понять из документации, указанной здесь, как получить указатель на узел, который я поместил в объект bpm_package. Вот в чем вопрос.
Или я настолько далек от того, как мы разрабатываем это, что это не имеет смысла?