Отображать пользовательскую форму для нового события элемента в библиотеках документов SharePoint 3? - PullRequest
1 голос
/ 01 декабря 2008

Каков наилучший способ отображения пользовательской формы для каждого нового документа, добавляемого в определенную библиотеку документов?

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

Это лучший способ сделать это через рабочий процесс или обработчик событий?

С уважением Moo

Ответы [ 4 ]

0 голосов
/ 29 декабря 2008

Новый «Тип содержимого» с URL-адресом новой формы, установленным на соответствующее значение, должен сработать. К сожалению, вы не сможете достичь того, что вы пытаетесь сделать, с помощью обработчика событий или рабочего процесса. В идеале вы хотели бы, чтобы форма отображалась, как только пользователь добавит новый элемент в библиотеку, и пользовательский тип контента сделает свое дело.

  1. Создать новый тип контента. (Получите его из существующего типа контента)
  2. Удалить тип содержимого по умолчанию из библиотеки документов.
  3. Использование объектной модели для установки URL-адреса новой формы на страницу aspx или форму Infopath, которую вы создали.

С уважением,

0 голосов
/ 02 декабря 2008

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

Проблема, с которой я столкнулся, заключается в том, что сохранение SPUtility.Redirect в событии ItemAdded, ItemAdding, ItemCheckingIn или ItemCheckedIn в библиотеке документов вообще ничего не делает, потому что нет страницы, связанной с событиями - это все запускается внутренний код, который не связан с веб-контекстом, потому что в этот момент тяжелую работу выполняет не веб-страница, а интеграция с Office.

Все примеры, с которыми я сталкивался, основаны на том факте, что страница EditForm.aspx или NewForm.aspx отображается во время запуска события, что, конечно, здесь не так.

Это также приводит к проблеме, заключающейся в том, что я не могу расширять EditForm.aspx или страницу CheckIn.aspx, чтобы делать то, что я хочу, потому что Office 2007 обходит оба эти параметра.

Итак, единственная опция, оставленная мне открытой на данный момент, - это выполнение через рабочий процесс: /

Любые дальнейшие советы будут фантастическими.

0 голосов
/ 29 декабря 2008

Возможно, я не понимаю ваш вопрос, но это близко к тому, что вы пытаетесь сделать?

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

Если нет, то каким образом это может быть коротким?

0 голосов
/ 02 декабря 2008

Для SharePoint Server 2007:

Сочетание специализированного типа контента и обработчика событий обеспечит вам максимальный контроль над процессом (его также легче отлаживать). Рабочий процесс лучше всего подходит для «простых» действий и сложнее для выполнения сложных действий.

Рабочий процесс обеспечивает большую гибкость в назначении рабочего процесса различным библиотекам администраторами сайта.

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

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