2009-11-02 46 views
1

假設您正在創建SharePoint的商業產品。此產品將在社區(免費)和企業(付費)版本中提供。適用於商業SharePoint產品版本的解決方案/功能

代碼庫的社區版是輕微增量全部通過(C#)#define語句處理的子集。實際上它是一個單一的代碼庫。構建過程構建了兩個解決方案(每個包含兩個功能),每個版本都有一個解決方案。

這應該是不可能在同一時間安裝一個農場兩種版本。目前的商業模式僅爲單服務器SharePoint場提供社區/免費版本。這旨在支持個人和開發情景。

解決方案包括各種功能元素,但目前沒有Web部件。未來版本中可能包含一個或多個Web部件。從長遠來看,任何限制解決方案/功能內容的方法可能都不是最好的主意。

要你會重用的解決方案和/或跨版本feaure IDS什麼程度呢?爲什麼?

回答

2

我希望人們能夠輕鬆地從自由升級,如果他們選擇這樣做。

試想一個Web部件的情況下 - 如果你設置了免費的網絡部分的幾個版本,然後unintall並安裝完整的Web部件那麼大多數人會希望所有現有的情況下繼續工作,但在新的Web部件

我認爲你需要保持solutionId相同才能工作。

您還需要有充分的集名稱相同(該文件版本可以是不同的)或設置綁定重定向。

哦 - 當然你的代碼沒有發生重大變化。

+0

謝謝你的回覆。你的理想升級行爲的邏輯是合理的。解決方案的設計方式是您所描述的升級行爲可以通過兩種方法完成。任何其他原因去一個或另一個? – 2009-11-02 13:57:25

+0

您確定如果SolutionId更改SharePoint將加載新的Web部件,而不是用戶已經設置的舊部件?我猜它不會,你會得到「失蹤大會」的錯誤 - 但沒有時間檢查。 – Ryan 2009-11-02 15:12:32

+0

這是一個有趣的觀點。 Web部件綁定到強命名的程序集。正如你所建議的那樣,我將不得不檢查功能或解決方案級別是否有額外的綁定。 – 2009-11-03 16:07:54

1

我會使用相同的ID和提供額外的功能,以解除企業級的功能。 此功能包含解鎖企業版所需的額外dll,Web部件,許可證密鑰...。

我將確保用戶可以繼續使用你的產品在升級後無需更改自己的自定義設置。

+0

關鍵在於如何輕鬆升級而不會「丟失」任何東西。通過附加功能進行升級的模式非常引人注目。例如,對於SharePoint 2007中的標準與企業級搜索控件而言,這非常有效。在其他情況下(如事件接收器),這可能需要花費更多的精力。感謝您的答覆。 – 2009-11-03 15:57:42

相關問題