2013-05-28 2 views
1

Я хотел бы знать, возможно ли улучшить структуру кода Javascript, используемого в прослушивателях слушателей Alfresco Activiti Listeners, путем ссылки на файл Javascript зависимости или централизованное определение методов Javascript, которые можно использовать любым узлом рабочего процесса.Javascript зависимости от Alfresco Activiti extensionElements

Надеюсь, это возможно, но я просто не видел, где это задокументировано.

Я хотел бы включить или как-то сделать доступные Javascript-методы, которые могут быть включены как зависимости и вызваны из блока ScriptTaskListener. Я не говорю о Javascript в формах, но Javascript используется в файле определения рабочего процесса.

Я нахожу, что повторяю код через разные блоки слушателя в больших рабочих процессах. И я думаю, что некоторые из кодов потенциально могут быть повторно использованы в других проектах рабочего процесса, если я могу включить ссылку на файл зависимостей.

Например, у меня есть требование теперь, чтобы иметь возможность захватывать и записывать некоторую информацию после завершения некоторых пользовательских задач рабочего процесса. Я бы хотел, чтобы не копировать очень похожий код, используемый в «полном» событии taskListeners для ряда пользовательских задач.

+0

вы, вероятно, можете импортировать его, как это делается здесь http://forums.alfresco.com/forum/developer-discussions/workflow/using-task-properties- рабочий-скрипт-01242012-1347 – mitpatoliya

ответ

0

Вы можете сделать, вероятно, 2 вещи в рабочем процессе bpmn20 xml. Один из них - service-tasks, но он не всегда работает в Alfresco.

Я использую следующий:

<scriptTask id="scripttask1" name="Send Email" scriptFormat="javascript"> 
      <extensionElements> 
      <activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"> 
       <activiti:field name="script"> 
       <activiti:string> 
        var mail = actions.create("mail"); 
        mail.parameters.to = "[email protected]"; 
        mail.parameters.subject = "I'm done! " + bpm_workflowDescription; 
        mail.parameters.from = "[email protected]"; 
        mail.parameters.text = "Body! "; 
        mail.execute(bpm_package); 
       </activiti:string> 
       </activiti:field> 
      </activiti:executionListener> 
      </extensionElements> 
      <script><![CDATA[]]></script> 
     </scriptTask> 
Смежные вопросы