协作门户审批工作流程

时间:2011-04-16 09:02:23

标签: sharepoint sharepoint-2007 sharepoint-workflow

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

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

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

1 个答案:

答案 0 :(得分: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();
   }
}

You can try with this

我希望有帮助