none
Получить объектную модель рабочего процесса, созданного в дезайнере RRS feed

  • Вопрос

  • Здравствуйте! Подскажите как получить объектную модель рабочего процесса,

    созданного в дизайнере или  в visual studio.

    не xoml рабочего процесса, а именно объектную модель.

    Необходимо создавать, модифицировать и деплоить рабочие процессы на лету. Т.е. у нас на сайте задеплоен Reusable WF. Нужно получить его в Visual Studio, редактировать его(добавить/удалить actions), а затем снова задеплоить.
    вся логика будет в event reciver при создании элемента. здесь 3 шага.
    1. получить РП в VS. Т.е. уже задеплоенный РП нужно воссоздать в VS для дальнейшего использования. 
    2. редактирование РП. добавление новых actions, удаление ненужных и т.д.
    3. развертывание полученного РП и его привязка на content type



    можно ли такое реализовать? подскажите пожалуйста в каком направлении смотреть

    12 февраля 2014 г. 11:44

Ответы

  • В общем придумываете свою СЭД :)

    Нет, делается не так:

    1. Делаете один кастомный РП, который берет все опции - задачи, исполнителей, делегатов и т.д. из списков, т.е. не надо менять структуру РП, а брать её из других связанных списков;

    2. Маршрут движения задается в панели администрирования и корректируется в форме инициации (попадает в наши связанные списки).

    Из XOML можно взять последовательность действий, но РП из xoml - линейный, никаких машин состояний и прочего. Я бы вам посоветовал сначала посмотреть как это сделано в WssDocs (не реклама, просто там сделано именно так, как вы хотите), затем уже анализировать ваши потребности, изучать Workflow и затем уже пытаться сделать.

    12 февраля 2014 г. 23:31

Все ответы

  • Нет такого понятия, как объектная модель рабочего процесса.

    Для импорта читаем: Пошаговое руководство. Импорт рабочего процесса SharePoint Designer с возможностью повторного использования в Visual Studio

    12 февраля 2014 г. 13:00
  • эту статью я видел. там используется wsp для импорта. а мне нужно импортировать на лету
    12 февраля 2014 г. 13:21
  • Все что касается Visual Studio - это не на лету!

    У вас 2 решения:

    1. Импорт РП из WSP.
    2. Полностью написать код вручную.

    А может вам Nintex WorkFlow нужен?

    12 февраля 2014 г. 13:37
  • Nintex WorkFlow мне не нужен) 

    у меня довольно безумная задача. есть список с несколькими content type. на каждый CT завязан РП. все РП состоят из цепочки задач (collect data from user). при создании элемента в форме добавления должна быть возможность кастомизации дефолтного РП, удаление задач, добавление своих, изменение последовательности  и тд. после создания элемента РП сохраняется. 

    здесь много нюансов, которые необходимо обдумать, например как и где хранить эти "измененные" РП. и как их привязать именно к определенному элементу. но сейчас не об этом.

    честно, я плохо знаю РП. но я видел пример кода, где достается XOML РП. вот и подумал, если уж получилось это, может и получится полностью его воссоздать? Когда создаем РП в Visual Studio, там создается класс SequentialWorkflow. добавляешь actions, в cs дезайнера создается соответствующий код. эту объектную модель я имел ввиду. с ее помощью я думаю менять структуру РП. 

    остается вопрос. возможно ли это?

    12 февраля 2014 г. 15:15
  • В общем придумываете свою СЭД :)

    Нет, делается не так:

    1. Делаете один кастомный РП, который берет все опции - задачи, исполнителей, делегатов и т.д. из списков, т.е. не надо менять структуру РП, а брать её из других связанных списков;

    2. Маршрут движения задается в панели администрирования и корректируется в форме инициации (попадает в наши связанные списки).

    Из XOML можно взять последовательность действий, но РП из xoml - линейный, никаких машин состояний и прочего. Я бы вам посоветовал сначала посмотреть как это сделано в WssDocs (не реклама, просто там сделано именно так, как вы хотите), затем уже анализировать ваши потребности, изучать Workflow и затем уже пытаться сделать.

    12 февраля 2014 г. 23:31