2010-04-13 102 views
1

正如somedevelopers所述,工作流版本控制是SharePoint中的一個令人頭疼的問題。版本控制SharePoint二進制工作流ASPX任務表

我想知道有沒有一種方法可以對我的aspx表單進行編程?當然,我可以在程序集後面添加代碼,但是如果LAYOUTS文件夾中的任何文件的標記更改?是否有可用於文件的版本控制,還是必須爲我的表單選擇新文件名?

對不起,我應該更具體。 是的,我有版本控制下的文件(我可以恢復以前的版本等),但我不是在談論這種版本控制。但通過部署新的工作流版本,我不能刪除舊的工作流版本,因爲它仍然運行在SharePoint中的許多項目上,而是如前面的鏈接所述,部署新的工作流版本,因此我不會中斷工作流程的執行。

但是,如果我不保留用戶用來與工作流進行交互的舊aspx表單,工作流仍然會中斷。

所以,我必須確保

  1. 組件與舊版本號由舊工作流程中使用的情況下(這一個是好的,我只是改變集版本號,並部署到GAC)
  2. 我必須確保老工作流仍然使用舊的aspx表單用戶與工作流進行交互,但新的工作流版本應該使用新的aspx表單並提供更多選項(如何執行此操作?)。
+0

你使用什麼版本控制方法來裝配你的源代碼? – DevinB 2010-04-13 12:51:03

+1

這聽起來像你必須讓你的aspx表單足夠彈性以向後兼容。一個醜陋的黑客可能會根據代碼背後的「版本檢查」顯示完全不同的表單。 – DevinB 2010-04-13 13:11:53

+0

從答案,我感覺我是誤會的標籤'版本控制'。也許我試圖實現的東西叫做'版本控制'? – 2010-04-13 13:13:08

回答

1

如果你要承載您的WF任務形式_layouts像這樣:

/_layouts/myapp/task.aspx // <- unversioned 
/_layouts/myapp/1.0.0.0/task.ascx // <- versioned 
/_layouts/myapp/1.0.0.1/task.ascx 
/_layouts/myapp/1.0.0.2/task.ascx 

...並在task.aspx代碼隱藏動態加載一讀之後的用戶控件(task.ascx)來自主工作流程組件的AssemblyVersion屬性,您可以版本化您的任務表單。

+0

是的,謝謝。這可能比向後兼容形式花費更少。 – 2010-04-14 09:03:45