2008-12-17 34 views
4

我有一個複雜的共享點部署與多個EventReceivers和工作流程。我應該將解決方案和功能保持在1-1的比例嗎?

我還對現有列表進行了架構更改,添加了新的元數據列並更改了現有的列。

我應該將單個功能,事件接收器還是工作流打包到單個解決方案中,還是應該將多個功能放在單個解決方案中,因爲它們一起工作?

我問的一個主要原因是未來的代碼升級。如果功能是分離的,那麼在一部分代碼中升級並不需要重新部署解決方案中的所有功能。這是我應該擔心的事情還是「stsadmin -o升級解決方案」關注升級具有多種功能的解決方案時遇到的任何問題?

讓我知道這對任何SharePoint專家都有意義。

謝謝
基思

更新: 望着引用的網站drax,我發現這個參考網站:http://msdn.microsoft.com/en-us/library/aa543659.aspx

這種說法似乎是把一個大的障礙在解決方案的升級功能:

解決方案升級只能用於 替換文件秒。您可以在解決方案升級中添加新文件 ,並刪除文件的舊版本 ,但不能安裝功能或使用功能事件 安裝和運行功能 運行代碼的 文件。 以下操作在解決方案升級時不受支持 。

  • 刪除舊版本中的舊功能 版本的解決方案。

  • 在解決方案中添加新功能 升級。

  • 更新或更改接收器 裝配現有功能 新版本的解決方案。

  • 在解決方案的新版本 中添加或更改功能元素 (Element.xml文件)。

  • 在新版本的 解決方案中添加或更改功能 屬性。

  • 更改舊版本的ID或範圍 解決方案的新版本中的功能。

  • 刪除功能元素 (Element.xml文件)中的一個新版本 的解決方案。

  • 在新版本 的溶液卸下功能屬性。

所以...你可以用一個解決方案做什麼升級?

回答

1

我會建議反對分裂一切都變成多種解決方案。保持這一點很快就會變成噩夢。嘗試構建您的項目,該項目應該用於創建WSP,方式與Sharepoint的12文件夾相同。然後你可以使用WSP builder,上一個穩定版帶來了很多有用的東西。

另外我還沒有注意到重新部署解決方案的任何問題。根據this文章和我的經驗,部署WSP負責版本之間的同步。因此,如果您將添加一些新功能,它們將顯示,如果您刪除/更改功能,則會相應地進行修改。

編輯:

因此,我在MOSS更新話題一些快速的研究。根據MS有更新的解決方案的方法有兩種:

  1. 就地更新
  2. 增量更新

基本上,就地更新是更新的標準方式。這意味着您正在依據this(與之前發佈的文檔相同)文檔中所述的內置功能。這個解決方案的問題在於它缺少相當多的功能(版本控制,功能ID的更改......)。

增量更新(這是MS怎麼可能要求它)不依賴內置的解決方案。這意味着每個人都可以自己實現:(更好的是我沒有真正能夠找到任何這種方法的指導方針,我想你想採取的方法是增量更新的例子(將項目拆分爲許多獨立的解決方案)。

還要注意的是增量更新沒有正式MS支持。

所以,我真的不知道我應該給你什麼建議。單WSP比他們更布赫maintanable,此外,如果你正在做的只是一些細微的變化更新正常工作。但是,如果你需要做一些較大的結構性變化的問題開始顯現。

我可能會等待和SE e如果擁有更多MOSS專業知識的人士可以就此話題發表意見。

+0

我正在尋找使用STSDev來幫助創建wsp。 http://www.codeplex.com/stsdev – 2008-12-17 17:16:32

0

基本上(對於你提到的原因),你應該考慮的解決方案,你將.NET程序集 - 可單獨從他人進行部署的代碼原子單位。使用升級解決方案將導致重新部署所有包含的功能 - 如果沒有任何更改,則對於使用該功能的站點不應改變任何內容。但是,如果這讓你感到緊張,可以考慮將其分開。

0

如果您只是更新程序集並使配置的文件完好無損,那麼UpgradeSolution就非常方便。

除非指定-local然後upgradesolution將在您的基礎架構進行完整IISRESET。當您計劃正確的時間執行升級時,這真的值得注意。

相關問題