Должен ли я использовать рабочий процесс или приемник событий? - PullRequest
2 голосов
/ 23 марта 2009

Я хочу создать пользовательский тип контента, который будет основой элемента списка, который будет иметь несколько состояний. Различные состояния будут определять, какой список будет создавать этот элемент. Он будет перемещаться между состояниями и, следовательно, списками в зависимости от действий пользователя.

У меня есть несколько вариантов реализации:

  1. Создание рабочих процессов в каждом списке, которые обрабатывают определенные функции, связанные с этим списком. При необходимости переместите элемент в другой список (скопируйте элемент в новый список, удалите элемент оригинала) и дайте старт этому рабочему процессу.
  2. Создайте рабочий процесс для пользовательского типа контента, который мы будем использовать, и позвольте этому перемещать элемент между различными списками. Не уверен, что рабочий процесс для типа контента может перемещаться из списка в список, не говоря уже о семействах сайтов.
  3. Использование получателей событий в пользовательском типе контента для управления состоянием. Пользователь воздействует на элемент, изменяя его состояние, поэтому получатель события создает свою копию в другом списке, а затем удаляет себя в текущем списке. Я знаю, что это работает для всех семейств сайтов.

Какой путь лучше и почему? Что-нибудь, что абсолютно не будет работать? Любой метод, который я пропустил?

Ответы [ 4 ]

3 голосов
/ 23 марта 2009

Вообще говоря: В SharePoint рабочие процессы и получатели событий связаны между собой (если вы посмотрите на события в списке с прикрепленным рабочим процессом, вы найдете получатель событий, запускающий рабочий процесс ..)

Преимущество рабочих процессов заключается в том, что пользователь может проверить журнал (если вы используете Log-Activity)

Преимущество приемников событий заключается в большем количестве событий; они более гибкие, чем рабочие процессы.

Из того, что вы описываете, я бы, вероятно, выбрал рабочие процессы, чтобы пользователи могли проверить, правильно ли был обработан их элемент.

3 голосов
/ 23 марта 2009

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

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

.b

1 голос
/ 24 марта 2009

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

0 голосов
/ 22 ноября 2011

Это блок-схема префекта для выбора между рабочими процессами и получателями событий:

http://msdn.microsoft.com/en-us/library/ff648492.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...