4

複数のEventReceiversとワークフローを使用して複雑なSharePointを展開しています。

また、既存のリストにスキーマを変更し、メタデータの新しい列を追加し、既存の列を変更します。

単一の機能、イベントレシーバー、またはワークフローを単一のソリューションにパッケージ化する必要がありますか、それともすべてが連携して機能するため、単一のソリューション内に複数の機能を配置する必要がありますか?

私が求めている主な理由の1つは、将来のコードのアップグレードです。機能が分離されている場合、コードの一部をアップグレードしても、ソリューション内のすべての機能を再デプロイする必要はありません。これは私が心配すべきことですか、それとも「stsadmin -o upgradesolution」は、多くの機能を備えたソリューションのアップグレードに関する問題を処理しますか?

これがSharePointの専門家にとって意味があるかどうかを教えてください。

ありがとう、
キース

更新:参照 されているウェブサイトdraxを見ると、次の参照サイトが見つかりました:http: //msdn.microsoft.com/en-us/library/aa543659.aspx

この声明は、ソリューションの機能のアップグレードに大きな障害をもたらすようです。

ソリューションのアップグレードは、ファイルの置き換えにのみ使用できます。ソリューションのアップグレードで新しいファイルを追加したり、古いバージョンのファイルを削除したりすることはできますが、機能をインストールしたり、機能イベントハンドラーを使用して機能のインストールとアクティブ化のコードを実行したりすることはできません。次の操作は、ソリューションのアップグレードではサポートされていません。

  • ソリューションの新しいバージョンで古い機能を削除します。

  • ソリューションのアップグレードに新機能を追加する。

  • ソリューションの新しいバージョンの既存の機能のレシーバーアセンブリを更新または変更します。

  • 新しいバージョンのソリューションで機能要素(Element.xmlファイル)を追加または変更します。

  • ソリューションの新しいバージョンでの機能プロパティの追加または変更。

  • ソリューションの新しいバージョンで古い機能のIDまたはスコープを変更する。

  • 新しいバージョンのソリューションで機能要素(Element.xmlファイル)を削除します。

  • ソリューションの新しいバージョンで機能プロパティを削除します。

だから...あなたはソリューションのアップグレードで何ができますか?

4

3 に答える 3

1

すべてを複数のソリューションに分割しないことをお勧めします。それはすぐに悪夢になる可能性があります。sharepoint の 12 フォルダーと同じように、WSP を作成するために使用するプロジェクトを構成してみてください。次に、 WSP builderを使用できます。最新の安定バージョンでは、多くの便利な機能が提供されます。

また、ソリューションの再展開に関する問題に気づいていません。この記事と私の経験によると、WSP の展開はバージョン間の同期を処理します。そのため、新しい機能を追加するとそれらが表示され、機能を削除/変更するとそれに応じて変更されます。

編集:

そこで、MOSS 更新のトピックについて簡単な調査を行いました。MS によると、ソリューションを更新するには 2 つの方法があります。

  1. インプレース更新
  2. 増分更新

基本的に、インプレース更新は標準的な更新方法です。このドキュメント (以前に投稿されたものと同じドキュメント)で説明されている組み込み機能に依存していることを意味します。このソリューションの問題点は、多くの機能 (バージョン管理、機能の ID の変更など) が不足していることです。

増分更新 (これは MS がおそらくそう呼んでいます) は、組み込みのソリューションに依存しません。つまり、それを自分で実装するのは皆次第です:(。さらに良いことに、このアプローチのガイドラインを実際に見つけることができませんでした。あなたが取りたいアプローチは、増分更新の例だと思います(プロジェクトを分割する多くの独立したソリューション)。

また、増分更新は MS によって公式にサポートされていないことにも注意してください。

だから、どんなアドバイスをすればいいのかわからない。単一の WSP は、いくつかのマイナーな変更を行っている場合でも、更新が完全に機能する場合でも、それらの多くよりも保守が容易です。しかし、より大きな構造上の変更を行う必要がある場合、問題が発生し始めます。

私はおそらく、MOSS の専門知識を持っている人がこのトピックについて何か言ってくれるかどうかを待ちたいと思います。

于 2008-12-17T17:09:49.513 に答える
0

基本的に(あなたが言及した理由により)、.Netアセンブリと同じようにソリューションを考える必要があります-他のものとは別に展開できるコードのアトミックユニット。upgradesolution を使用すると、含まれているすべての機能が再デプロイされます。何も変更されていない場合、その機能を使用するサイトは何も変更されません。しかし、それで不安になる場合は、分割することを検討してください。

于 2008-12-17T16:03:18.573 に答える