ドキュメント テンプレート、ファイルの種類、および編集するアプリケーションをサイト定義に追加する
このプログラミング タスクでは、サードパーティのアプリケーションからドキュメントを作成または編集できるように Windows SharePoint Services をカスタマイズするための手順を示します。このタスクでは、サイト定義の Onet.xml ファイルと組み合わせて使用するドキュメント テンプレート ファイルを作成し、DocIcon.xml ファイルを変更します。さらに、OpenDocuments コントロールについて説明されているのと同じ機能を提供する DLL を作成します。
アプリケーション内でドキュメントを作成または編集する機能を追加するには、以下のサブタスクを実行する必要があります。
ドキュメント テンプレート ファイルを作成します。実際には、サイト定義の Onet.xml ファイルに DocumentTemplate を追加します。
ファイルの種類のアイコンおよびファイルを開くときに使用するコントロールの識別のために、DocIcon.xml に Mapping 要素を追加します。
アプリケーションでドキュメントを作成または編集するために必要な機能を提供する DLL を作成します。
ドキュメント テンプレートを追加する
アプリケーション ドキュメントを、ドキュメント ライブラリで使用できるテンプレートとして追加するには、コンテンツ タイプ機能 (「フィーチャーを使用したコンテンツ タイプの展開」を参照) 内に DocumentTemplate 要素を指定するか、カスタム サイト定義 (「[方法] カスタム サイト定義および構成を作成する」を参照) の Onet.xml ファイル内に DocumentTemplate 要素を指定することで、ドキュメント テンプレートを追加します。
次の例は、Onet.xml ファイルでの DocumentTemplate 要素の使用方法を示しています。
<DocumentTemplates>
<DocumentTemplate DisplayName="Blank Document" Type="105"
Default="FALSE" Description="A blank document.">
<DocumentTemplateFiles>
<DocumentTemplateFile
Name="doctemp/Template_Folder/psdtmp1.psd"
TargetName="Forms/template.psd" Default="True"/>
</DocumentTemplateFiles>
</DocumentTemplate>
</DocumentTemplates>
DocumentTemplate 要素の DisplayName 属性では、新しいドキュメント ライブラリを作成するときにドキュメント テンプレートの種類を選択するためのドロップダウン リストに表示されるテキストを指定します。Type は、ドキュメントの種類を一意に識別する属性であり、別のドキュメント テンプレートでまだ使用されていない任意の整数とすることができます。Default 属性では、テンプレートが既定によってドロップダウン リストで選択されるかどうかを指定します。DocumentTemplateFile の Name 属性では、サーバー コンピュータにあるテンプレート ファイルの物理パスを指定します。TargetName 属性では、テンプレートのアドレスをドキュメント ライブラリに対して相対的に指定します。
変更を有効にするために、Microsoft Internet Information Services (IIS) をリセットします。
ファイルの種類に応じたマッピング定義を追加する
ファイル拡張子をドキュメントの種類に対応付け、そのファイル拡張子を持つドキュメントを開くときに使用するコントロールを識別するには、Mapping 要素を DocIcon.xml に追加します。DOCICON.XML は \\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML ディレクトリにあります。
DocIcon.xml の ByExtension に以下の行を追加して, .psd という拡張子を icpsd.gif という名前のイメージ ファイルに対応付けます。このイメージ ファイルにあるアイコンが、ドキュメント ライブラリでこの種類のファイルに対して表示されます。
<Mapping Key="psd" Value="icpsd.gif"/>
アプリケーション内で編集できるようにするには、次のように、Mapping に EditText および OpenControl 属性を指定する必要もあります。
<Mapping Key="psd" Value="icpsd.gif" EditText="Application" OpenControl="ProgID"/>
EditText 属性では、ユーザーがドキュメントに対して Edit 矢印をクリックしたときに、ドロップダウン メニューに表示されるアプリケーション名を指定します。OpenControl 属性では、指定した種類のファイルを開くために使用するコントロールの ProgID を指定します。
Value 属性で指定するイメージ ファイルは、\\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES ディレクトリに格納されている必要があります。指定したイメージ ファイルがこのディレクトリにない場合は、ドキュメントの横に "イメージなし" アイコンが表示されます。
匿名アクセスが有効になっている場合、ユーザーがアイコンを表示するために資格情報の入力を求められないように、継承可能なアクセス許可をイメージ ファイルに対して設定する必要があります。
継承可能なアクセス許可をイメージ ファイルに対して設定するには
IMAGES フォルダで、参照されているイメージ ファイルを右クリックし、[プロパティ] をクリックします。
[プロパティ] ダイアログ ボックスの [セキュリティ] タブで、[詳細] をクリックします。
[セキュリティの詳細設定] ダイアログ ボックスの [アクセス許可] タブで、[親から継承可能なアクセス許可をこのオブジェクトと子オブジェクトすべてに伝達できるようにし、それらをここで明示的に定義されているものに含める] チェック ボックスがオンになっていることを確認します。
注意 Windows SharePoint Services では、アイコンの既定のサイズは 16 x 16 ピクセルです。
IIS をリセットして、変更内容を反映させます。
編集用アプリケーションを追加する
指定された種類のドキュメントを読み込むためのコントロール (ProgID によって識別される) を提供する DLL を作成します。たとえば、SharePoint.OpenDocuments とします。作成したコントロールは、ドキュメントの作成、開く、表示の各操作のために、OpenDocuments コントロールで説明されているのと同じメソッドを提供する必要があります。
このトピックで説明しているカスタマイズを実行するには、Windows SharePoint Services を実行しているフロントエンド サーバー上での管理者の権限が必要です。
警告
もともとインストールされているファイルに対する変更は、Windows SharePoint Services の更新やサービス パックをインストールしたり、またはインストールを次の製品バージョンにアップグレードしたりすると、上書きされる可能性があります。