Рабочий процесс утверждения портала совместной работы - PullRequest
0 голосов
/ 16 апреля 2011

Компания, в которой я работаю, недавно приняла проект SharePoint 2007 от другой компании.Другая компания создала сайт, используя шаблон публикации портала совместной работы.Поскольку это веб-сайт в Интернете, это вызывает у меня пару проблем.

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

Есть ли способ активировать рабочий процесс утвержденияна всех страницах библиотеки сайта?Могу ли я что-то изменить в определении сайта?Или есть способ активировать его программно?Тогда я мог бы создать консольное приложение, которое будет рекурсивно перебирать сайты и присоединять рабочий процесс к библиотекам страниц?

1 Ответ

0 голосов
/ 17 апреля 2011

Вы можете попробовать с этим кодом:

using (MossFramework.DocumentLibraryHelper docLibraryHelper = new MossFramework.DocumentLibraryHelper("SITENAME"))
{
   using (SPSite site = new SPSite(docLibraryHelper.MossSiteAddress))
   {
     SPWeb siteCollection = site.OpenWeb();
     siteCollection.AllowUnsafeUpdates = true;
     SPFolder folder = siteCollection.GetFolder("Document Centre");
     SPList list = siteCollection.Lists["Document Centre"];
     Guid wfBaseId = new Guid("{5703E6AC-1C65-440F-88DC-EB65F2C6DF82}");
     SPWorkflowAssociation wrkFl = list.WorkflowAssociations.GetAssociationByBaseID(wfBaseId);
     foreach (SPListItem spListItem in list.Items)
     {
       site.WorkflowManager.StartWorkflow(spListItem, wrkFl, wrkFl.AssociationData);
       // Error occurs here
     }
     site.Close();
   }
}

или Вы можете попробовать с этим

Надеюсь, это поможет

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