створення workflow

Минулого разу було розглянуто приклад створення простого бізнес-процесу. У цій статті хочу розглянути кілька модифікований варіант: по-перше, пропоную додати відправку повідомлень поштою по мірі проходження статті шляхом узгодження; по-друге, створити інтерфейс для роботи з бізнес-процесом в Alfresco Share

Для початку потрібно визначитися, що конкретно потрібно зробити для реалізації заявленого функціоналу. Нам знадобиться нова властивість, в якому будемо зберігати зберігати відповідь користувача на питання "Надсилати повідомлення?". Це властивість ми додамо до start-task:

Ну і додамо опис нового аспекту:

Таким чином, модель даних тепер виглядає ось так (extension / tcWorkflowModel.xml):

Як видно з коду, робиться це досить просто. всередину додається скрипт, який спрацьовує при відповідному переході. Всередині скрипта ми перевіряємо, чи потрібно відправляти лист: якщо так, то заповнюємо відповідні поля листи і відправляємо його. Все просто, але не зовсім :) Є один неприємний момент: Alfresco відправляє листи від імені того користувача, який ініціював перехід (на багзілле це значиться як "expected behaviour, not a bug"). Таким чином, відсилати листи з відправником виду [email protected] стає важко. Можу запропонувати такі методи рішення:

Таким чином, файл (extension / workflows / PublishPaperProcess.xml) з описом бізнес-процесу тепер виглядає ось так:

Якщо для відправки пошти ми використовуємо дії, то потрібно налаштувати відповідним чином Alfresco (alfresco-global.properties і extension / custom-email-context.xml):

створення workflow

1) У файлі "bpmModel.xml" додав два нових аспекту, подібних "bpm: assignee". ( "Bpm: myassignee", і "bpm: newassignee")

2) У вашому файлі "PublishPaperProcess.xml" замінив # на #. Теж проробив і з people.getGroup ( 'GROUP_publishers').

3) відкоригувати файли tcWorkflowModel.xml і web-client-config-custom.xml (додав нові аспекти).

Може трохи замудрено :) Але працює! Тепер можна вибирати всіх трьох під час подачі статті.

Я думав, що ви хочете безпосередньо в xml з описом вказати виконавців. Методом додавання нових аспектів я теж користувався :) Можна використовувати bpm: assignees, але тоді буде один діалог вибору для всіх виконавців, потім можна буде звертатися до bpm_assignees [i], але так не дуже зручно з практичної точки зору. Над більш красивим рішенням подумаю, бо самому цікаво :)

Привіт, підкажіть будь ласка рішення наступної проблеми,

Зробив бізнес процес відповідно до статті, всемто префікса tcwf використовував itwf.

B share список процесів "Оберіть бізнес процес" не відкривається

А в балках з'являється запис:

ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: Wrapped Exception (with status template): Namespace prefix tcwf is not mapped to a namespace URI

org.springframework.extensions.webscripts.WebScriptException: 08260002 Wrapped Exception (with status template): Namespace prefix tcwf is not mapped to a namespace URI

У файлі tcWorkflowModel.xml:

Якщо додаю рядок

Те процес відкривається і показаний в списку процесів, але там же присутній і процес tcwf: publishpaper

Перевірив всі файли в директоріях extension іweb-extension tcwf ніде не виявив.

Як позбавиться від старого процесу і необхідності додавати namespase prefix = "tcwf"

Схожі статті

Copyright © 2024