0

我工作的公司最近从另一家公司接管了一个 SharePoint 2007 项目。另一家公司使用 Collaboration Portal Publishing 模板创建了一个站点。由于这是一个互联网网站,这给我带来了一些问题。

默认情况下,网站的页面库上未激活审批工作流,并且客户要求工作流在所有页面库上都处于活动状态。问题是该站点很大,手动执行此操作将花费太长时间,而且由于它是一个如此大的站点,我无法从头开始重新创建它。

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

4

1 回答 1

0

您可以尝试使用此代码:

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

或者 你可以试试这个

我希望这会有所帮助

于 2011-04-17T09:22:47.300 回答