SharePoint 2010:SharePoint コンテンツをカスタマイズする

SharePoint には、会社が規定した基準を満たしながらサイトのコンテンツをカスタマイズできるツールがいくつかあります。

Steve Wright、Corey Erkes

出典: 『Pro SharePoint 2010 Governance』(Apress、2012 年)

既定の設定では、SharePoint は特定の外観になります。既定のテンプレートには、一連の色、フォント、ページ レイアウト、およびナビゲーション機能が組み込まれています。この既定の外観は、汎用的なイントラネット サイトで適切に機能するようにデザインされていますが、味気なく、実用的ではないと感じることがあります。さいわい、SharePoint には、外観を大幅にカスタマイズできるツールがいくつかあります。サイト全体の外観を変更するプロセスをブランド化と呼びます。

SharePoint サイトには、さまざまな方法で独自のブランドを適用できます。テーマを使用してサイトの既定の色とフォントを変更したり、マスター ページを使用してページのレイアウト全体を変更できます。Web ブラウザーでメニューをレンダリングする、カスタマイズした SharePoint のコントロールをマスター ページに組み込むと、マスター ページを使用してサイトのナビゲーション機能を変更することもできます。以下で、このようなデザイン コンポーネントを適用する方法を説明します。

マスター ページ

マスター ページを使用すると、複数のページで共通のソース ファイルからページの構造とその他の共通要素を継承できます。これにより、一元管理する場所から、継承された要素の保守を行えます。通常、マスター ページには、ページ固有のコンテンツ用の "コンテンツ領域" を含むページのレイアウトを定義する HTML タグが含まれます。また、ナビゲーション メニューや共通の CSS リンクなど、すべてのページに共通の Web コントロールを含めることもできます。

SharePoint では、マスター ページとマスター ページを使用するページの関係を管理することによって、ASP.NET マスター ページの機能を拡張しています。SharePoint サイトを新しいマスター ページと関連付けて、SharePoint サイトのレイアウトと外観を全面的に変更することができます。

マスター ページのファイルは、すべての SharePoint サイトで自動的に作成されるマスター ページ ギャラリーに保存されます。十分な理由がない限り、ルートのマスター ページ ギャラリーだけを使用するように自制する必要があります。サイト コレクションに複数のカスタマイズしたマスター ページ ファイルが散在していると、あっという間に手に負えない状態になります。

マスター ページ ギャラリーでマスター ページを作成、編集、および適用する権限のあるユーザー数を制限することも有効です。これは、マスター ページ ギャラリー自体に具体的なアクセス許可を設定することで行えます。会社の基準を満たしていないマスター ページには、アクセスできないようにするか、アクセスを制限する必要があります。このようにすると、ユーザーが、基準を満たしていないマスター ページを間違えて使用することを防げます。

テーマ

以前のバージョンの SharePoint のテーマをよくご存じの方にとっては、SharePoint 2010 のテーマはまったく新しいものに思えるでしょう。Microsoft Office 2010 には、さまざまな Office アプリケーションや SharePoint に組み込まれている新しい "テーマ" エンジンが用意されています。

具体的に言うと、テーマは、以前よりもはるかに軽量なコンセプトになりました。Office 2010 のテーマは、単純に一連のフォントと色を宣言したもので、CSS ファイルやイメージは参照していません。通常、フォントや色の宣言は、THMX という拡張子のファイルに保存されます。SharePoint サイトにテーマを適用するとき、テーマ エンジンでは、一連の CSS の標準ファイルを処理して、ユーザーの Web ブラウザーに送信する実際の CSS ファイルを作成します。

以前のバージョンとは異なり、このような CSS の標準ファイルは変更しないでください。CSS に定義を追加する必要がある場合は、テーマ エンジン外部で適用される別のファイルに定義を追加します。

テーマ ファイルは、各 SharePoint サイト コレクションの特別なライブラリであるテーマ ギャラリーに保存されています。テーマ ギャラリーには、一連のテーマが用意されています。組織でブランドを管理する場合は、まず、テーマ ギャラリーのテーマ ファイルにアクセスできないようにしたり、アクセスを制限します。すべてのサイトで使用する承認済みのテーマを 1 つ、テーマ ギャラリーに展開するのが一般的な手法でしょう。また、テーマの編集や作成のアクセス許可を制限して、ユーザーが独自のテーマを作成しないようにすることもできます。このようにすると、組織の基準を確実に維持できます。

複数のテーマをテーマ ギャラリーに展開して、異なるブランドや種類のサイトを作成しなければならないこともあります。社内には、サポートが必要な部門独自のブランドを持っている部門もあるでしょう。また、一般向けのサイトでは、厳密に定義されたテーマを使用する可能性があるのに対して、社内向けのサイトやエクストラネット サイトでは、より柔軟に対応できる可能性があります。

考慮すべき重要なことは、テーマ ギャラリーがサイト コレクション レベルで存在していることです。異なるテーマが必要なサイトの領域は、個別のサイト コレクションに保存するのが適している可能性が高いでしょう。

通常、組織のテーマは、デザイン部門やマーケティング部門が設定します。PowerPoint 2010 などの Office アプリケーションを使用してテーマを作成し、THMX ファイルにエクスポートできます。テーマ ファイルは、Web ブラウザーを使用してギャラリーにアップロードしたり、開発者が作成したソリューション パッケージの一部としてアップロードできます。どちらの選択肢を選ぶかは、テーマの管理を計画する方法に左右されます。IT 部門以外がテーマを管理する場合は、一般的に Web ブラウザーを使用し、アプリケーション開発チームがテーマを管理する場合は、一般的にソリューション パッケージを使用してカスタマイズしたテーマを展開します。

SharePoint に用意されている標準の CSS ファイルを拡張しなければならないことがあります。この場合、スタイルの情報は、複数の方法でページに追加できます。スタイルのタグは、マスター ページまたは各ページのコンテンツ領域に追加できます。しかし、このようにすると、スタイル情報が複数か所に分散するため、サイトの保守が困難になるおそれがあります。

優れたソリューションは、個別の CSS ファイルを作成して、サイトに展開することです。SharePoint には、独自の CSS ファイルを SharePoint に用意されている一連のファイルに追加するように設計された CSSRegistration と呼ばれるコントロールが含まれています。このコントロールでは、特定のファイル参照をページの他のスタイル シートの前後に配置して、ページに含まれているスタイルの優先順位を希望どおりに設定できます。

このように、ソリューション パッケージを使用したり、コンテンツ ファイルとして CSS ファイルをサイトに配置することによって、CSS ファイル自体を展開できます。通常、CSSRegistration コントロールは、サイトのマスター ページに組み込みます。

発行サイト

サイトのスタイルを提供する別の方法として、発行サイトを使用できます。SharePoint の発行機能では、重要なコンテンツを管理するためのより制御された環境を作成します。多くの場合、この類の機能は Web コンテンツ管理機能と呼ばれます。権限のあるユーザーは、発行サイトのコンテンツを編集し、承認を得るためにコンテンツを送信できます。

発行サイトでは、利用できるコントロールの種類が他のサイトと異なります。発行サイトは、次のようにコンテンツの作成や承認を管理するのに役立ちます。

  • 発行サイト以外のサイトでコンテンツを変更した場合、変更は保存するとすぐに、すべてのユーザーが確認できるようになりますが、発行サイトでコンテンツを変更した場合、変更は承認されるまで、ユーザーに表示されません。
  • 発行サイトのコンテンツは、指定の日時に表示または非表示にするようにスケジュールできます。
  • SharePoint ワークフロー エンジンを使用して、発行サイトの承認プロセスをカスタマイズできます。
  • 発行サイトには、スタイル シート、ナビゲーション、およびサイトに適用されたマスター ページの管理をサポートする追加の機能があります。
  • 独立した環境でコンテンツの変更をステージングし、コンテンツ展開パスを使用して運用ファームに移行できます。この機能により、承認されていない、または未確認の変更が、意図せずに一般向けの Web サイトで公開されることを防げます。また、作成サーバー、ステージング サーバー、および運用サーバーで構成される複雑なトポロジをサポートできます。

発行サイトのページには、レイアウト ページと呼ばれる追加の構造レベルがあります。レイアウト ページはマスター ページと似ていますが、レイアウト ページを使用すると、技術的な知識のないユーザーがリッチ コンテンツを編集したり、発行したりできるようになります。レイアウト ページはマスター ページ ギャラリーに保存されます。コンテンツは、中央にページ レイアウトが存在するレイヤー形式で構築されます。発行サイトの場合、ページ レイアウトに適用されたコンテンツは、HTML や Web パーツというよりも、データ フィールドのように処理されます。

多くの場合、発行サイトは、コラボレーション サイト以外のサイトに使用します。コンテンツの作成や承認に制限を設けることで、発行サイトは、一般向けの Web サイトや、イントラネット サイトの会社レベルのページや部門レベルのページに最適な選択肢となります。また、発行サイト以外のサイトは、非公式にプロジェクトを管理したり、情報交換を行うサイトに最適です。

サイト テンプレート

基準への準拠を促す最適な方法の 1 つは、簡単に準拠できるようにすることです。まず最初にサイト テンプレートを確認します。ユーザーが新しいサイトを作成するときには、必ず利用可能なサイト テンプレートに基づいて作成します。テンプレートに基づいてページを作成すると、事前に定義された一連のリスト、ライブラリ、マスター ページ、およびコンテンツが作成されます。組織で使用する標準のテンプレートを作成することによって、ユーザーが一貫性のあるサイトを作成できるようになります。

SharePoint 2010 のサイト テンプレートは、サイトを最初に作成するときに使用するサイト コンテンツの定義を含むソリューション パッケージ ファイル (.wsp) です。サイト テンプレートを作成する最も簡単な方法は、[サイトの設定] ページの [テンプレートとしてサイトを保存] オプションを使用して既存のサイトをテンプレートとして保存する方法です。

SharePoint では、すべてのリスト、ライブラリ、フォーム、ワークフロー、ページ、および (必要に応じて) コンテンツ アイテムをソリューション ギャラリーの単一のファイルにまとめます。ソリューション ギャラリーには、ローカル サイト コレクションに展開したソリューション パッケージが保存されます。

サイト テンプレートは、Visual Studio を使用してカスタマイズできます。開発者は、テンプレート ファイルをダウンロードして、新しい Visual Studio プロジェクトにインポートできます。この操作により、すべての成果物を編集可能なテンプレートにまとめることができます。カスタマイズが完了したら、テンプレートを再コンパイルしてソリューション ギャラリーに再展開できます。この方法では、組織で必要なサイト テンプレートを正確に作成できます。

しかし、サイト テンプレートにはいくつかの制限事項があります。次のように、テンプレートの作成元サイトのアイテムには、テンプレートのソリューション ファイルに反映されないものがあります。

  • サイトでカスタマイズしたアクセス許可は保持されません。
  • 実行中のワークフロー インスタンスや関連のあるタスクは、テンプレートのコンテンツとして保存されません。
  • ユーザーとグループ フィールドや管理されたメタデータを含む、特定の種類のフィールド値は保持されません。

特定の種類のサイトを使用しているときだけサイト テンプレートを作成できます。個人用サイトや発行サイトでは、テンプレート ファイルに保存できないアイテムを使用しています。そのため、これらの種類のサイトは、テンプレートとして保存することがサポートされていません。これらのサイトのサイト テンプレートを作成することは可能ですが、Visual Studio などの開発ツールを使用する必要があります。

サイト テンプレートはソリューション ギャラリーに保存されるため、サイト テンプレートを作成して使用できるかどうかは、ソリューション ギャラリーのアクセス許可にも左右されます。ソリューション ギャラリーにサイト テンプレートを作成すると、サイト コレクションにサイトを作成するアクセス許可を持っているすべてのユーザーがサイトテンプレートを利用できるようになります。

テンプレートを非表示にするには、SharePoint Server で発行機能を有効にする必要があります。発行機能を有効にすると、[サイトの設定] ページに [ページ レイアウト] と [サイトの設定] オプションが追加で表示されます。皮肉なことに、発行テンプレート以外のテンプレートに基づいて作成したサイトでも、発行機能を有効にすると、サイト自体をテンプレートとして保存できなくなります。

環境で許可するサイト テンプレートやサイト テンプレートにアクセスできるユーザーを決めるときには、入念な計画が重要になることは明らかです。

Steve Wright

Steve Wright は、米国ネブラスカ州オマハにある Sogeti USA LLC のビジネス インテリジェンス管理部門 (BIM) でシニア マネージャーとして働いています。ここ 20 年、航空管制、金融、保険など、多数のシステムに関与してきました。また、Windows、SharePoint、SQL Server、BizTalk など、マイクロソフト製品に関する多数の書籍の執筆とテクニカル レビューを行ってきました。

Corey Erkes

Corey Erkes は、米国ネブラスカ州オマハにある Sogeti USA LLC でマネージャー コンサルタントとして働いています。SharePoint の実装のさまざまなライフ サイクルで、多数の企業を支援してきました。また、彼は、Omaha SharePoint Users Group の創設メンバーの 1 人です。

©2012 Apress Inc. All rights reserved.Apress の許可を得て掲載しています。Copyright 2012. 『Pro SharePoint 2010 Governance』(Steve Wright と Corey Erkes 著) この書籍と類似書籍の詳細については、apress.com (英語) を参照してください。

関連コンテンツ