Mea Culpa — SharePoint Designer * может * создания автомата

Я недавно узнал, что это возможно и даже довольно легко создать бизнес-правило конечного автомата, с помощью SharePoint Designer. Необходимость является матерью изобретения и все, что хорошие вещи, и я имел потребность на этой неделе, что посмотрел на изобретение. Случайно, Я наткнулся на Этот пост форума MSDN также. Мой личный опыт на этой неделе и что «независимое подтверждение" придает силы мои убеждения. Я планирую писать об этом более подробно с полномасштабной примера, Но вот суть его:

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

Для его настройки:

  • Дизайн вашего автомата (т.е., в Штатах и как государства переход от одного к другому).
  • Реализовать каждое государство как отдельный рабочий процесс.
  • Настройте каждый из этих государственных рабочих процессов для выполнения в ответ на любое изменение в элементе списка.

Каждое состояние рабочего процесса этот грубый шаблону:

  • При инициализации, Определите, должен ли он действительно выполняться путем проверки сведений о состоянии в элементе «текущий». Если не.
  • Сделать работу.
  • Обновление текущего элемента"" с новые сведения о состоянии. Это вызывает обновление к текущему элементу и запускает все государства рабочих процессов.

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

У него есть довольно существенный недостаток — стандартное отслеживание истории рабочего процесса даже более бесполезно, чем обычно 🙂 Это легко исправить, Однако. Хранить все ваши данные типа аудита в пользовательский список. Это, вероятно, хорошая идея даже для ванильного последовательного рабочего процесса, но это для другого сообщения в блоге 🙂

Я называю это «mea culpa" потому что у меня, к сожалению, более чем однажды сказал на форумах и в других местах что одно должно использовать visual studio для создания автомата. Это просто не верно.

</конец>

Подписаться на мой блог.

Бирки Technorati:

4 мысли о «Mea Culpa — SharePoint Designer * может * создания автомата

  1. Jaustral написал:
    Привет Павел,
    как многие государства имеют дело с? Я получаю только иметь два различных активных рабочих процессов, когда я иду на странице параметров рабочего процесса?
    Лучший,
    Хуан.
  2. Санджив Раджпут
    Очень хотелось бы прочитать полные примеры. Один из вас, ребята, надеемся, может помочь прояснить некоторые кошмары, которые я имел с моим аналогичный процесс. Я в точке, где я готов начать с свежие.
  3. Пол Galvin
    Это действительно интересный подход ставит восклицательного знака точки на точке больше, что СПД могут создавать автомата.
    Я не знаю, если есть существенные различия этикетирование вы наброски и я наброски. В моем случае на этой неделе, производительность не является проблемой, потому что этот конкретный рабочий процесс является делом давнего (16 или более недель от начала до конца) и есть не более чем несколько десятков активных в любое время. Если существует несколько десятков начиная и каждый час … Это будет другая история. Я думаю, что производительность и рабочий процесс в целом является предметом весьма туманно.
    Я не знаю, если вы запустите свой собственный блог или нет. Если вы, Вы должны рассмотреть писать о ваш подход более подробно. Если не, Я был бы более чем рады позвонить вам гостя блоггер»" и загрузить ваш пост в моем блоге.
    Спасибо за комментарий. Это один из лучших, которые я был в состоянии выяснить на моем блоге!
    –Пол g
  4. Майк Аткинс
    Я реализовал автомата, используя отдельный список для хранения состояния во время переходов между состояниями. Основной рабочий процесс создал элемент и задать начальное состояние. Я использовал один, отдельный, Рабочий процесс для обработки всех государств, с помощью «IF-THEN-ELSEIF" Структура (в «Шаг 1») на возможные состояния.
    Для каждого государства, все, что мне нужно сделать было получить ответ от пользователя.
    Мой пример был многоуровневые последовательные утверждения, где каждый шаг (представлял государство) может иметь различные возможные преемников. Это означает, что каждый пользователь (потенциально) различные варианты доступны в меню выбора. Мой «шаг 2" также был «IF-THEN-ELSE" структура, которая рассмотрела все возможные ответы (из всех этапов), и затем принял решение о том, что должно быть следующее состояние. «Шаг 3" затем установите это государство, и закончился рабочий процесс.
    Этот метод имеет (Очевидно) преимущество происходит в течение одного (Среднее) рабочий процесс. Однако, рамки того, чего можно добиться в этом рабочем процессе является более ограниченным, что можно было бы с рабочими процессами для каждого государства. Мне было интересно, Однако, какой производительности хит имеет место, если все рабочие процессы отдельного государства (Хотя и заканчивается сразу же после этого).
    Также, Я использую список вторичных (с собственного рабочего процесса) представляет переход между состояниями, как этот процесс может быть только частью большего рабочего процесса. Когда основной рабочий процесс начинает процесс государственной машины, она переходит в состояние ожидания, и когда «циклы" имеет termintaed. Я также рассматривает возможность того, что мой основной рабочий процесс также может потребоваться изменить данные в исходном элементе списка, и я хотел избежать ненужных «обстрелов" из автомата.

Оставить ответить Пол Galvin отменить ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *