2009-07-23 91 views
1

我正在修改一些現有的SPD WF,並與一些概念結合起來,包括爲什麼兩個看似相似的WF不會產生相同的輸出。SharePoint Designer工作流程 - 技巧和資源?

有沒有人與SharePoint Designer/Workflows合作過,並且知道任何優質資源(比MSDN簡介更詳細)或有關此問題的提示。例如。調試和如何檢查設置以及如何將信息從多個工作流連接...

換句話說:拿出你最好的SPD WF鏈接&提示:O)

我不能選擇目前另一種解決方案,所以任何提示都是值得歡迎的。我有關於SharePoint Designer工作流程的USPJ特刊。它不錯,但必須有更多的好東西:o)

回答

1

從您的問題看來,您遇到了SharePoint Designer旨在解決的解決方案限制。

確實沒有調試支持,因爲嚮導方法不應該要求它,但實際上我們知道這真的會有所幫助!同樣,連接工作流正在推動邊界,我會考慮轉移到Visual Studio。如果合適,您可以考慮開發自定義操作作爲變通方法或搭建一個完整的Visual Studio工作流程的橋樑(這裏是examples with source code)。

我首先看的網絡資源是SharePoint Designer Team Blog(顯然)和workflow articles on EndUserSharePoint.com

此外,圖書具有的SharePoint設計工作流程內容的合理量:

1

我從編程工作流中學習了以下內容,並使用SPD進行了部署。

1.不要依賴在工作流程標註中傳遞所需的所有字段:定義看似合理的內容,但請記住,一旦您訪問了SPList項目,就可以從內部繞過對象模型您的工作流程無需重複更改界面並重新部署。

即一旦你已經在你的.actions文件中定義的這三樣東西,並將其傳遞給您的工作流程

public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context", typeof(WorkflowContext), typeof(YourWorkflowClass)); 
public static DependencyProperty __ListIdProperty = DependencyProperty.Register("__ListId", typeof(string), typeof(YourWorkflowClass)); 
public static DependencyProperty __ListItemProperty = DependencyProperty.Register("__ListItem", typeof(int), typeof(YourWorkflowClass)); 

你設置訪問任何你可能已經忘記了部署時明確地傳遞。

2.使用上下文直接創建您想要的SharePoint項目的實例時註銷,因爲您可能會不知不覺地傳遞調用該​​工作流程的人的權限。即爲此

SPWeb tmpweb = __Context.Web; 
SPSite site = new SPSite(tmpweb.Url); 
SPWeb web = site.OpenWeb(); 

,而不是這樣的:

SPWeb web = __Context.Web; 

3.Debugging是難以成立,如果你不碰巧有安裝在同一臺機器包括SharePoint視覺工作室。