1

しばらくの間、SharePoint用の商用製品を作成していると仮定します。この製品は、コミュニティ(無料)エディションとエンタープライズ(有料)エディションの両方で提供されます。

Communityエディションのコードベースは、マイナーデルタがすべて(C#)#defineステートメントで処理されるサブセットです。事実上、それは単一のコードベースです。ビルドプロセスでは、エディションごとに1つずつ、2つのソリューション(それぞれに2つの機能が含まれています)がビルドされます。

一度に両方のエディションをファームにインストールすることはできません。現在のビジネスモデルでは、単一サーバーのSharePointファームに対してのみコミュニティ/無料バージョンが提供されています。これは、個人および開発シナリオをサポートすることを目的としています。

ソリューションにはさまざまな機能要素が含まれていますが、現在Webパーツは含まれていません。1つ以上のWebパーツが将来のリリースに含まれる可能性があります。ソリューション/機能の内容を制限するアプローチは、長期的にはおそらく最善のアイデアではありません。

エディション間でソリューションや機能IDをどの程度再利用しますか?なんで?

4

2 に答える 2

2

無料から完全版へのアップグレードを希望する場合は、簡単にアップグレードできるようにしたいと思います。

Web パーツの場合を想像してみてください。無料の Web パーツのいくつかのバージョンをセットアップし、それをアンインストールして完全な Web パーツをインストールすると、ほとんどの人は既存のすべてのインスタンスが新しい Web パーツで動作し続けることを望むでしょう。

これが機能するには、solutionIdを同じに保つ必要があると思います。

また、完全なアセンブリ名を同じにする (ファイルのバージョンは異なる場合があります) か、バインディング リダイレクトをセットアップする必要があります。

ああ - もちろん、コードに重大な変更はありません。

于 2009-11-02T10:51:47.143 に答える
1

同じIDを使用して、エンタープライズ機能のロックを解除するための追加機能を提供します。この機能には、Enterprise Editionのロックを解除するために必要な追加のdll、Webパーツ、ライセンスキーなどが含まれています。

アップグレード後も、カスタマイズを変更することなく、ユーザーが引き続き製品を使用できるようにします。

于 2009-11-02T15:43:03.180 に答える