Рабочий процесс утверждения портала совместной работы

#sharepoint #sharepoint-2007 #sharepoint-workflow

#sharepoint #sharepoint-2007 #sharepoint-рабочий процесс

Вопрос:

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

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

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

Ответ №1:

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

 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();
   }
}
  

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

Я надеюсь, что это поможет