Смотрите, основные шаги процесса описываются моделью. А их поведение - описанием процесса на активити. Надо исходить из этого.
Надо четко понимать, какие изменения и как Вы производите.
Вы без проблем можете производить изменения в описании процесса, как в части скриптов, так и части добавления процедур и развилок, единственное условие - это соответствие задач описанию оных в модели процесса. Т е просто убирать userTask или добавить Вы не можете, они всегда соответствуют модели. Единственно, помните, что уже поднятые процессы будут идти по старому сценарию.
Если же Вы меняете модель процесса, тот тут есть свои законы. Смотрите, есть правило: все изменения на уже установленной модели в альфреско должны происходить в порядке возрастания. Т е Вы можете в модели добавить к каждому шагу аспекты, но убирать уже существующие не можете. Вы можете добавлять в модели типы, но убирать существующие - не можете. И т д . Вы даже не можете, к примеру, поменять свойство аспекта с mandatory=true на mandatory=false. Это тоже считается правкой с убыванием.
Если же Вы все же хотите убрать что-то из существующей, уже задеплоенной в альфреске модели, Вы или должны убрать существующую (а это головная боль, поскольку надо ее удалять из базы и прочее), или же можете пойти более легким путем: создайте новую модель с новым описанием. При этом надо помнить, что Ваши неймспейсы (а отсюда и префиксы), которые Вы объявляете в новой модели и название этой модели должны быть новыми и уникальными.
У меня такое ощущение, что Вы пытаетесь изменить процесс, который уже существует и работает на Вашей альфреске. И изменения эти не в порядке увеличения. Судя по всему, Вы пытаетесь удалить аспект bpm:assignee в модели. Если это так, то лучше все же создать новый процесс. Еще более простой вариант, если Вы просто пока "играетесь" процессами локально - это переставить альфреску :)
Или же, если все дело в этом bpm:assignee, оставьте этот аспект, не рисуйте его в клиенте и интерфейса, но проставьте его значение через стартовую процедуру, поскольку он обязательный - это аспект. Если же дело не в аспекте, то проверьте правки модели и описания на то, о чем я говорила выше.
Кроме того, надо помнить, что процесс - это не только модель и описание. Это еще вэб-клиент и интерфейс. Т е там тоже надо вносить соответствующие правки.
Вы знаете, мне кажется, что Вы пока не совсем себе представляете работу процессов на альфреске. Знаете, я Вам посоветую хорошую книжку: "Professional Alfresco® Practical Solutions for Enterprise Content Management
Alfresco", написанное в соавторстве с David Caruana, John Newton, Michael Farman, Michael G. Uzquiano, Kevin Roast. Описание процессов там дано на JBPM, но все остальное в альфреске не изменилось. Особенно там подробно описаны создание моделей. Важно понимать. как модель связана/определяет процесс.
Блинннн ваш бизнесс-процесс получается а когда пытаюсь свой сделать аналогичный вашему у меня не получается(((((я смог изменить пару вещей в форме каждого шага но я не могу пока менять маршруты. Главные изменение нужно делать в файлах описания и модели бизнесс-процесса?
Это можно сделать тремя способами.
1. Вы знаете, что процесс всегда поднимается, к примеру, на Иванова. Тогда в модели на старте Вы не указываете в аспектах bpm:assignee, а в процессе в соответствующем атрибуте прямо прописываете userid Иванова:
2. У Вас в модели остается bpm:assignee, но процесс Вы поднимаете автоматически, из-вне неким скриптом и владельца задачи Вы прописываете прямо в скрипте. Например:
3. Вы добавляете в процесс процедуру старта (start event). В процедуре старта Вы создаете переменную процесса, к примеру, assignee, и инициализируете, присваивая значение "ivanov". При этом bpm:assignee также отсутствует в аспектах старта в модели:
<process id="PerformDirective"name="Исполнение внешних директив"><!-- стартовый ивент --><extensionElements><activiti:executionListener event="start"class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"><activiti:field name="script"><activiti:string>
execution.setVariable('assignee', 'ivanov');
</activiti:string></activiti:field></activiti:executionListener></extensionElements> <!-- Переход от старта к задаче ознакомления с директивой --> <sequenceFlow id='flow1'sourceRef='start'targetRef='inspection'/> <!-- Ознакомление с директивой и передача на исполнение --><userTask id="inspection"name="Ознакомиться с документом и передать на исполнение."
activiti:formKey="dir:inspection" activiti:assignee="${assignee}">
...
вот насчёт nc which прям +100500. Кстати на 8 если просто поставить nc то zimbra вроде схавает его. Но сервис не будет включатся. А вот с nc which всё чики пуки. И это только начало :D там дальше куча приколов. После как я эту ск"ти%у поставлю, опишу ошибки.
Надо четко понимать, какие изменения и как Вы производите.
Вы без проблем можете производить изменения в описании процесса, как в части скриптов, так и части добавления процедур и развилок, единственное условие - это соответствие задач описанию оных в модели процесса. Т е просто убирать userTask или добавить Вы не можете, они всегда соответствуют модели. Единственно, помните, что уже поднятые процессы будут идти по старому сценарию.
Если же Вы меняете модель процесса, тот тут есть свои законы. Смотрите, есть правило: все изменения на уже установленной модели в альфреско должны происходить в порядке возрастания. Т е Вы можете в модели добавить к каждому шагу аспекты, но убирать уже существующие не можете. Вы можете добавлять в модели типы, но убирать существующие - не можете. И т д . Вы даже не можете, к примеру, поменять свойство аспекта с mandatory=true на mandatory=false. Это тоже считается правкой с убыванием.
Если же Вы все же хотите убрать что-то из существующей, уже задеплоенной в альфреске модели, Вы или должны убрать существующую (а это головная боль, поскольку надо ее удалять из базы и прочее), или же можете пойти более легким путем: создайте новую модель с новым описанием. При этом надо помнить, что Ваши неймспейсы (а отсюда и префиксы), которые Вы объявляете в новой модели и название этой модели должны быть новыми и уникальными.
У меня такое ощущение, что Вы пытаетесь изменить процесс, который уже существует и работает на Вашей альфреске. И изменения эти не в порядке увеличения. Судя по всему, Вы пытаетесь удалить аспект bpm:assignee в модели. Если это так, то лучше все же создать новый процесс. Еще более простой вариант, если Вы просто пока "играетесь" процессами локально - это переставить альфреску :)
Или же, если все дело в этом bpm:assignee, оставьте этот аспект, не рисуйте его в клиенте и интерфейса, но проставьте его значение через стартовую процедуру, поскольку он обязательный - это аспект. Если же дело не в аспекте, то проверьте правки модели и описания на то, о чем я говорила выше.
Кроме того, надо помнить, что процесс - это не только модель и описание. Это еще вэб-клиент и интерфейс. Т е там тоже надо вносить соответствующие правки.
Вы знаете, мне кажется, что Вы пока не совсем себе представляете работу процессов на альфреске. Знаете, я Вам посоветую хорошую книжку: "Professional Alfresco® Practical Solutions for Enterprise Content Management
Alfresco", написанное в соавторстве с David Caruana, John Newton, Michael Farman, Michael G. Uzquiano, Kevin Roast. Описание процессов там дано на JBPM, но все остальное в альфреске не изменилось. Особенно там подробно описаны создание моделей. Важно понимать. как модель связана/определяет процесс.
1. Вы знаете, что процесс всегда поднимается, к примеру, на Иванова. Тогда в модели на старте Вы не указываете в аспектах bpm:assignee, а в процессе в соответствующем атрибуте прямо прописываете userid Иванова:
2. У Вас в модели остается bpm:assignee, но процесс Вы поднимаете автоматически, из-вне неким скриптом и владельца задачи Вы прописываете прямо в скрипте. Например:
3. Вы добавляете в процесс процедуру старта (start event). В процедуре старта Вы создаете переменную процесса, к примеру, assignee, и инициализируете, присваивая значение "ivanov". При этом bpm:assignee также отсутствует в аспектах старта в модели:
уведомления приходят ток на анг.. может подскажете как русифицировать
Столько всяких косяков. И столько надо руками ещё допилить мама мама!!
Например вот так =) Знаю , что не актуально, но пусть будет.