2012-10-05 110 views
1

Tridion 2011 SP1中的自動決策遇到問題。Tridion工作流程自動決策的事件處理程序

我有一個自動決定項目,沿着兩個路徑之一(一個到手動決定,另一個到手動活動)。附上截圖。

我需要做的是分析提交工作流中第一步的用戶的權限,並自動將工作流移動到正確的路徑下。

我正在使用AutomaticAssignActivity的事件處理程序(已成功通過事件日誌寫入進行測試),並在API中找到了如何完成活動,但沒有超載來分配下一個活動。

我發現this post一個有趣的閱讀,並試圖實現CoreServiceSession和SessionAwareCoreServiceClient但每個代碼試圖加載核心服務,我收到以下錯誤時間:無法加載文件或程序集「Tridion.ContentManager.CoreService.Client ,Version = 6.1.0.996,Culture = neutral,PublicKeyToken = ddfc895746e5ee6b'或其依賴項之一。該系統找不到指定的文件。

我在我的web層使用核心服務來生成一些次要內容,但它不想從事件系統內工作。我究竟做錯了什麼?我的事件系統DLL位於Tridion.ContentManager.CoreService.Client.dll所在的Tridion bin文件夾中。

任何幫助表示讚賞:)

Workflow layout

+1

如果你的第一次嘗試是使用VBScript,能否請您分享您的FinishActivity代碼?我相信你所需要的只是在完成消息和用戶名字後的一個額外參數。希望別人能回答你的核心服務問題。 –

+0

我將不得不走下那條路。我記得VBScript中的命令,但是我需要對權限進行一些公正的分析,我非常願意在VS中使用C#。 '調用CurrentWorkItem.ActivityInstance.FinishActivity(「完成消息」,「活動或TCMID的名稱」)' – wardey

+0

您爲什麼需要CoreService?你可以從你的事件處理程序使用TOM.NET,或者從自動活動中使用TOM?如果你可以發佈你的事件系統的代碼,周圍的人可以幫助你使其工作。否則,你總是可以嘗試Fusion日誌查看器來查看它期望的核心服務dll的位置 –

回答

1

請注意,如果你正在開發一個事件處理程序,你應該更好地使用TOM.NET API(它是事件系統和模板開發首選API)

對於所有的休息,使用核心服務

如果你想使用核心服務,你可以創建一個.NET的DLL,然後從自動活動調用它。針對這個討論有關於它的一些有用的信息:

+0

我正在使用TOM.NET API,但一直未能發現(或在線搜索)爲自動決策設置下一個活動的方法。完成方法的唯一選項是設置下一個受讓人,而不是活動。除非我忽略了什麼 – wardey

+0

啊,所以閱讀那篇文章我不能這樣做。我必須堅持VBScript – wardey

+0

http://yatb.mitza.net/2012/05/workflow-getnextactivityinstance.html –

相關問題