コンパイル時の注意
デプロイにおけるセキュリティの煩雑さを回避するために、厳密な名前キーでアセンブリにサインすることが最善です。Visual Studioに含まれるユーティリティであるsn.exeを使用してキーを生成できます。
コマンドの文法は次のとおりです。
sn -k [path]
厳密な名前キーが配置されている、ファイルのパスと名前で[path]を置き換えます。
Project
プロパティを使用してキーファイルを指定します。これはアセンブリにサインするために使用されます。
デプロイ
MOSSにカスタムアセンブリと共に、参照として使用されるInfragisticsアセンブリをコピーする必要があります。コードアクセスセキュリティの例外を回避するためにGACにアセンブリをインストールするのが最善です。
NetAdvantage for ASP.NET [CLR2]アセンブリには組み込みリソースとして必要なJavaScriptファイルが含まれているので、スクリプトファイル用の仮想ディレクトリの作成は不要です。ただし、カスタムのイメージやCSSスタイルシートを使用する場合、それらのリソース用のディレクトリを設定したいことがあります。WSSにディレクトリを通知して「ワイルドカードインクルード」のためにマークをすることも必要です。
IISを使用して、リソースすべてを含む仮想ディレクトリをSharePointサイトに追加できます。仮想ディレクトリを追加したら、ディレクトリを含めるためにSharePointサーバー管理ページを使用します。
管理パスの定義
管理パスを定義するには、最初にSharePointサーバー管理ページを開きます。[アプリケーション構成の管理]タブをクリックし、[SharePoint Webアプリケーション構成の管理]セクションで[管理パスの定義]をクリックします。仮想ディレクトリに適切な相対URLを入力し、[種類]ドロップダウンボックスから[ワイルドカードを使用した管理対象パス]オプションを選択します。最後に[OK]をクリックします。
Webパーツの使用
これでカスタムのWebパーツの構築とデプロイができました。ではこれをページに追加しましょう。WebパーツはWebパーツ定義ファイル(.dwp)を使用してインポートされます。Webパーツのための.dwpファイルを作成するには、前述のMSDNのガイドを参考にWebパーツをSafeControlとして登録します。
パーツの登録が完了して.dwpファイルを作成したら、SharePoint Webパーツページから[インポート]メニュー項目を使用してカスタムのパーツをインポートします。インポートが成功すれば、ページの任意の領域にカスタムのWebパーツを追加できます。
まとめ
標準のWebControl
をWebパーツページに直接追加することはできませんが、シンプルなラッパーを使用することで素早くこれを実現できます。
WebPart
クラスを作成して、2つのNetAdvantage for ASP.NETコントロール、すなわちWebGrid
およびWebGauge
をWebPart
クラスに追加しました。WebPart
の入れ物によって、Webパーツページにコントロールを挿入することが可能となり、基本のWebGauge
およびWebGrid
は、WebPart
の影に隠れて見えませんが有効な機能として動作します。
任意のNetAdvantage for ASP.NETコントロールでこの同じパターンを使用すれば、Microsoft Office SharePoint Serverの開発を魅力的かつ敏速に達成することができるでしょう。