ドキュメント テンプレート、ファイルの種類、および編集するアプリケーションをサイト定義に追加する
最終更新日: 2010年11月1日
適用対象: SharePoint Foundation 2010
この記事の内容
ドキュメント テンプレートを追加する
ファイルの種類に応じたマッピング定義を追加する
編集用アプリケーションを追加する
このプログラミング タスクでは、サードパーティのアプリケーションからドキュメントを作成または編集できるように Microsoft SharePoint Foundation をカスタマイズする手順を示します。
このタスクでは、次のサブタスクを行う必要があります。
ドキュメント テンプレート ファイルを作成します。実際には、サイト定義の Onet.xml ファイルに DocumentTemplate 要素を追加します。
DocIcon.xml に Mapping 要素を追加して、ファイルの種類のアイコンを指定し、ユーザーがファイルを開くときに使用するコントロールを識別します。
OpenDocuments コントロールで説明されているのと同じような機能、つまりファイルの種類のドキュメントを作成、編集したり、開いたりする機能を提供する DLL を作成します。
このトピックで説明しているカスタマイズを実行するには、SharePoint Foundation を実行しているサーバー上での管理者の権限が必要です。
注意 |
---|
もともとインストールされているファイルに対する変更は、SharePoint Foundation の更新やサービス パックをインストールしたり、またはインストールを次の製品バージョンにアップグレードしたりすると、上書きされる可能性があります。 |
ドキュメント テンプレートを追加する
アプリケーション ドキュメントを、ドキュメント ライブラリで使用できるテンプレートとして追加するには、コンテンツ タイプ機能 (「コンテンツ タイプの展開」を参照) 内に 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 属性では、テンプレートのアドレスをドキュメント ライブラリに対して相対的に指定します。
変更を有効にするために、インターネット インフォメーション サービス (IIS) をリセットします。
ファイルの種類に応じたマッピング定義を追加する
ファイル名拡張子をドキュメントの種類に対応付け、そのファイル名拡張子を持つドキュメントを開くときに使用するコントロールを識別するには、Mapping 要素を DocIcon.xml に追加します。DocIcon.xml は %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\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 属性では、ユーザーがドキュメントに対して編集矢印をクリックしたときに、ドロップダウン メニューに表示されるアプリケーション名を指定します。OpenControl 属性では、指定した種類のファイルを開くために使用するコントロールのプログラム識別子 (ProgID) を指定します。
Value 属性で指定するイメージ ファイルは、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\IMAGES ディレクトリに格納されている必要があります。指定したイメージ ファイルがこのディレクトリにない場合は、ドキュメントの横に "イメージなし" アイコンが表示されます。
匿名アクセスが有効になっている場合、ユーザーがアイコンを表示するために資格情報の入力を求められないように、継承可能なアクセス許可をイメージ ファイルに対して設定する必要があります。
継承可能なアクセス許可をイメージ ファイルに対して設定するには
IMAGES フォルダーで、参照されているイメージ ファイルを右クリックし、[プロパティ] をクリックします。
[プロパティ] ダイアログ ボックスの [セキュリティ] タブで、[詳細設定] をクリックします。
[セキュリティの詳細設定] ダイアログ ボックスの [アクセス許可] タブで、[親から継承可能なアクセス許可をこのオブジェクトと子オブジェクトすべてに伝達できるようにし、それらをここで明示的に定義されているものに含める] チェック ボックスがオンになっていることを確認します。
注意
SharePoint Foundation では、アイコンの既定のサイズは 16 x 16 ピクセルです。
IIS をリセットして、変更内容を反映させます。
編集用アプリケーションを追加する
指定された種類のドキュメントを読み込むためのコントロール (ProgID によって識別される) を提供する DLL を作成します。たとえば、SharePoint.OpenDocuments とします。作成したコントロールは、ドキュメントの作成、開く、表示の各操作のために、OpenDocuments コントロールで説明されているのと同じメソッドを提供する必要があります。