Sharepoint 协作门户审批工作流

Sharepoint 协作门户审批工作流,sharepoint,sharepoint-2007,sharepoint-workflow,Sharepoint,Sharepoint 2007,Sharepoint Workflow,我工作的公司最近从另一家公司接管了一个SharePoint 2007项目。另一家公司使用协作门户发布模板创建了一个网站。由于这是一个互联网网站,这给我带来了几个问题 默认情况下,审批工作流不会在网站的页面库上激活,客户端要求工作流在所有页面库上都处于活动状态。问题是这个站点太大了,手工操作会花费太长时间,而且因为它太大了,我无法从头开始重新创建它 有没有办法激活网站所有页面库上的审批工作流?我可以修改一下网站定义吗?或者有没有办法通过编程方式激活它?然后我可以创建一个控制台应用程序,该应用程序将

我工作的公司最近从另一家公司接管了一个SharePoint 2007项目。另一家公司使用协作门户发布模板创建了一个网站。由于这是一个互联网网站,这给我带来了几个问题

默认情况下,审批工作流不会在网站的页面库上激活,客户端要求工作流在所有页面库上都处于活动状态。问题是这个站点太大了,手工操作会花费太长时间,而且因为它太大了,我无法从头开始重新创建它


有没有办法激活网站所有页面库上的审批工作流?我可以修改一下网站定义吗?或者有没有办法通过编程方式激活它?然后我可以创建一个控制台应用程序,该应用程序将递归地遍历站点,并将工作流附加到页面库?

您可以尝试使用以下代码:

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

我希望这有帮助