Web コンテンツ管理対応の SharePoint サイトのカスタマイズとブランディング (パート 1/3): Web コンテンツ管理および既定の機能について
概要 : この記事では、Microsoft Office SharePoint Server 2007 を使用して Web コンテンツ管理 (WCM) に対応するサイトを作成する前に理解しておく必要があるトピックについて説明します。また、製品に備わっているさまざまな成果物の概要を示します。(11 印刷ページ)
Patrick Tisseghem、U2U (英語)
2006 年 10 月
適用対象 : Microsoft Office SharePoint Server 2007
目次
Windows SharePoint Services における WCM の機能強化
ページ モデルについて
マスタ ページをカスタマイズする
新しいページ レイアウトを作成する
まとめ
作成者について
追加情報
Windows SharePoint Services における WCM の機能強化
Windows SharePoint Services 3.0 では、情報やドキュメントをリストおよびドキュメント ライブラリに格納して管理する方法について、いくつもの重要な機能強化が行われています。これらは WCM の多くの機能の基盤になっているので、まずこの機能強化を詳しく見ていくことにしましょう。ここでは以下の機能強化を取り上げます。
全般的な機能強化
サイト内の列
拡張可能なフィールドの種類
コンテンツ タイプ
全般的な機能強化
Windows SharePoint Services 3.0 では、リストおよびドキュメント ライブラリに格納されるコンテンツのバージョン管理が大幅に変更されています。リストではバージョン管理がサポートされるようになり、ドキュメント ライブラリではマイナー (下書き) バージョンとメジャー (発行済み) バージョンを区別できるようになりました (図 1)。マイナー バージョンとメジャー バージョンの概念は、どの Web コンテンツ管理システムでも重要です。マイナー バージョンのページは、必要なアクセス許可レベルを持つコンテンツ作成者とサイトの閲覧者にのみ公開されます。多くの場合、マイナー バージョンはワークフローの結果としてメジャー バージョンに移行しますが、権限のあるユーザーがマイナー バージョンをメジャー バージョンとして手動で発行することもできます。メジャー バージョンのページは、サイトの閲覧者全員に公開されます。
図 1. バージョン履歴ページには、ドキュメントまたはリスト アイテムのすべてのバージョン情報が表示されます
Windows SharePoint Services 3.0 では、情報をセキュリティで保護するための新しい機能として、アイテムごとのセキュリティも導入されています。リストまたはドキュメント ライブラリを作成する場合、既定では、新しいアイテムは親アイテムのアクセス許可を継承します。この継承を無効にして、リストまたはドキュメント ライブラリのアクセス制御を定義することができます。Windows SharePoint Services 3.0 のリストおよびドキュメント ライブラリでは、格納されているすべてのアイテムやドキュメントにアクセス制御リストが引き継がれます。ただしこの場合も、アクセス制御リストをそのまま引き継ぐか、継承を無効にして個々のアイテムやドキュメントに独自のセキュリティ設定を定義するかを選択できます。後で詳しく説明するように、WCM ではページが通常のドキュメント ライブラリ (ページ ライブラリ) に格納されるため、これによって個々のページを保護できるようになります。Windows SharePoint Services 3.0 サイトでは、すべてのコンテンツでセキュリティによるトリミングも行われます。表示する権限のないページは、ナビゲーション コントロールに表示されません。
サイト内の列
Windows SharePoint Services でコンテンツを格納するコンテナをデザインするときに、サイト内の列を使用すると列の再利用が可能になります。サイト コレクションのレベルで列またはフィールドを定義し、サイトで提供するリストまたはライブラリにその列を関連付けます (図 2)。サイト内の列を変更すると、既定では、その列を使用するすべてのコンテナに変更がプッシュされます。ただし、管理者はこの動作をサイト内の列ごとにオフにすることができます。
図 2. サイト内の列を追加します
拡張可能なフィールドの種類
Windows SharePoint Services には、Web デザイナがリストやライブラリのメタデータの定義に使用できる限定されたフィールドの種類が用意されています。Windows SharePoint Services 3.0 では新しい種類が追加されただけでなく、開発者がユーザー設定の種類でその種類を拡張することもできます。ページにムービーを埋め込んだり、GPS 座標を表示したりする必要がある状況を考えてみましょう。利用できる既定のフィールドの種類はありません。フィールドの種類の定義を独自に作成し、その種類のコンテンツのデータの視覚化と編集を処理するカスタム コントロールと共に展開する必要があります。この手法は、ページ上のコンテンツの特定の検証または表現が頻繁に必要になる場合に役立ちます。拡張可能なフィールドの種類については、このシリーズのパート 2 で説明します。
コンテンツ タイプ
Windows SharePoint Services 3.0 ではコンテンツ タイプが導入されています。コンテンツ タイプは、サイト コレクションのレベルでコンテンツのタイプを定義するためのフレームワークになります。これらの定義は、サイト コレクション内の任意のリストおよびライブラリに関連付けることができます (図 3)。コンテンツ タイプの定義は、単純なものからきわめて複雑なコンテンツまで広い範囲に及びます。単純なコンテンツは、専用のメタデータのコレクションと、コンテンツのタイプに関連付けるテンプレートなどで構成されます。マーケティング レポートはその一例です。複雑なコンテンツには、カスタム ワークフロー、イベント ハンドラ、情報管理ポリシーなどを含めることができます。また、2007 Microsoft Office system スマート クライアント (Microsoft Office Word 2007 など) でコンテンツを視覚化し、コンテンツ タイプに関連付けられたメタデータを変更するために使用される、カスタマイズされた Microsoft Office InfoPath フォームを含めることもできます。Windows SharePoint Services で自動的に処理されるタイムシート情報を取得する InfoPath テンプレートはその一例です。
図 3. 複数のコンテンツ タイプを使用できるドキュメント ライブラリ
コンテンツ タイプは、後で説明するページ レイアウトの基盤になります。WCM システムのデザイナの仕事の 1 つは、コンテンツ作成者のために 1 つ以上のページ レイアウト (テンプレート) を作成することです。このプロセスの最初の手順が、コンテンツ タイプの定義です。
ページ モデルについて
組織内の IT と開発者がコンテンツの作成および管理のプロセス全体に携わらずに済むような発行インフラストラクチャを実現するには、高度に動的なページ モデルが必要です。これが、Microsoft Content Management Server (MCMS) と共に提供され、現在は Office SharePoint Server 2007 に統合されている Web コンテンツ管理の中核となる概念でした。
主な構成要素は次のとおりです。
マスタ ページはサイトの外観を規定します。また、サイトの閲覧者が使用するナビゲーション コントロールも提供します。
ページ レイアウト (MCMS ではテンプレートと呼ばれる) は、ページごとの実際のコンテンツ、そのコンテンツを格納し、コンテンツ作成者とサイトの閲覧者に提供する方法、およびコンテンツを発行するタイミングと適用されるポリシーを定義します。
フィールド コントロール (MCMS ではプレースホルダとも呼ばれる) は、2 つの役割を果たすページ上のコントロールです。1 つはサイトの閲覧者にコンテンツを表示すること、もう 1 つは作成者に編集時のキャンバスを提供することです。たとえば、プレス リリースのタイトルを、サイトの閲覧者にはフィールド コントロールで見出し 1 として表示し、コンテンツ作成者にはテキスト ボックスを介してタイトルを編集できるようにすることができます。
図 4 は、発行ポータル サイトのマスタ ページ (BlueBand.master) とページ レイアウト (WelcomeSplash.aspx) の関係を示しています。どちらもブラウザでサイトのホーム ページ (default.aspx) を表示するために使用されています。これは発行ポータル サイトの定義に基づくサイトのホーム ページで、Office SharePoint Server 2007 がサーバー ファームにインストールされている場合に作成できる新しいタイプのサイトです。
図 4. マスタ ページと、ページ レイアウト ファイルで定義されたルールによって書式設定されたコンテンツ ページの組み合わせに基づくページ
注意
これ以降の説明では、このタイプのサイトを使用します。ただし、この記事の内容はすべて、発行インフラストラクチャ機能が有効になっているどのサイトにも適用できます。グループ作業ポータルもそうしたサイトの一例です。
マスタ ページ
通常のサイトでは、いくつかの要素がサイト内のほぼすべてのページ間で共有されます。これは、高度にブランド化されたサイト (外部向けの顧客ポータルなど) にも、高度に制御されたサイト (社内のイントラネット ポータル サイトなど) にも当てはまります。サイトのタイプにかかわらず、マスタ ページには次のような共有の要素を表示する機能を持ったコントロールが含まれます。
上部および左側のナビゲーション メニュー
ロゴ
検索フィールド
ページ編集コントロール
ログオン コントロール
自分で作成したその他のカスタム コントロール
マスタ ページには、クロム、つまりページの全体的な外観を定義するカスケード スタイル シート (CSS) の参照も含まれます。通常は、サイト コレクション内のほぼすべてのページで同じマスタ ページを使用して、サイト コレクション全体で一貫性のあるブランドを維持します。ただし場合によっては、1 つのサイト コレクションで、コレクションの異なる領域に複数のマスタ ページを使用することがあります。たとえば、会社のエクストラネット ポータルで、それ以外のサイトと異なる外観を持つ製品サポート領域を表示するような場合です。この場合は、サポート ページ用のマスタ ページを作成し、サイト コレクション内の他のページと区別するのが賢明な方法です。
マスタ ページは、マスタ ページ ギャラリーに格納されます。マスタ ページ ギャラリーはサイト コレクションのレベルにある通常のドキュメント ライブラリです。Office SharePoint Server 2007 をインストールしてサイト コレクションを作成すると、マスタ ページ ギャラリーが自動的に利用できるようになります。マスタ ページ ギャラリーには、バージョン管理、ページ作成、チェックイン/チェックアウト コントロール、ワークフローなど、通常の Windows SharePoint Services ドキュメント ライブラリのすべての機能が備わっています。サイト コレクションのすべてのサイトには、そのサイト自体のマスタ ページ ギャラリーへのリンクが [サイトの設定] に表示されます。ただし、ページ モデルではサイト レベルのマスタ ページ ギャラリーは無視されます。
マスタ ページ ギャラリーには次の 2 種類のマスタ ページが格納されており、それぞれ固有のアイコンで識別されます。
システム マスタ ページは、フォーム、ビュー、および Web パーツ ページの外観を定義します。たとえば、ドキュメント ライブラリ (マスタ ページ ギャラリーなど) のページを自分のインターネット サイトのホーム ページと比較してください。
サイト マスタ ページは、サイト内で発行されるページの外観を定義します。これらのページは、ホーム ページのように閲覧者に表示されるページなので、システム マスタ ページよりもカスタマイズの重要性が高くなります。
ページ レイアウト
マスタ ページはサイトの全体的なブランド設定を制御しますが、ページ レイアウトはページごとに表示されるコンテンツと、そのコンテンツの配置を制御します。ページ レイアウトはマスタ ページ ギャラリーに格納される .aspx ファイルで、ページのコンテンツを表示する働きをするフィールド コントロールが含まれます。各フィールド コントロールは、そのレイアウトのコンテンツ タイプで定義された 1 つ以上の列からデータを取得できます。
フィールド コントロール
フィールド コントロールは、ページ レイアウト内のコンテンツを表示する働きをします。テキスト ボックス、リッチ HTML エディタ、独自に作成したカスタム フィールド コントロールなどが例として挙げられます。ページ レイアウトには、フィールド コントロールだけではなく Web パーツも含めることができます。Web パーツは通常、コンテンツ作成者の制御下にないコンテンツを表示します。コンテンツ作成者がフィールド コントロールで表示した製品の関連製品の一覧を表示する Web パーツなどがあります。
マスタ ページをカスタマイズする
サイト内のすべての発行ページは、自動的にマスタ ページに関連付けられます。サブサイトを作成すると、マスタ ページの定義が親サイトから継承されます。ただし、権限のあるユーザーはこの継承を無効にし、マスタ ページ ギャラリーに格納されている新しいマスタ ページを新しいサブサイトに関連付けることができます。管理者であれば、この継承の定義を [サイト マスタ ページの設定] ページで確認できます (図 5)。このページを参照するには、[サイトの操作] メニューを使用してサイトの [サイトの設定] ページを開きます。[外観] セクションに [マスタ ページ] リンクがあります。
図 5. サイトで使用するマスタ ページを指定します
このページで、現在のサイト マスタ ページとシステム マスタ ページを確認できます。別のマスタ ページに切り替えるのは簡単です。サイト コレクション レベルのマスタ ページ ギャラリーに格納されているすべてのマスタ ページの名前が登録されたドロップダウン リストを使用するだけです。マスタ ページを変更する場合、管理者が継承を無効にしないと決定した自分の任意のサブサイトに変更をプッシュすることができます。
まったく新しいマスタ ページを作成する手順については、このシリーズのパート 2 で説明します。この記事では、既存のマスタ ページをカスタマイズする方法を紹介します。ここでのカスタマイズの目的は、トップ レベル サイトのすべてのページの下部に著作権情報を追加することです。
サンプル マスタ ページを編集するには
[サイト マスタ ページの設定] ページで、編集するマスタ ページの名前が BlueBand.master であることを確認します。
Microsoft Office SharePoint Designer で、[ファイル] メニューの [開く] をクリックします。サイトを選択し、[OK] をクリックします。SharePoint Designer の [サイト] メニューを使用して、[共同作業者の設定] を無効にしておく必要がある場合があります。
BlueBand.master のドロップダウン リストで [Microsoft Office SharePoint Designer で編集] コマンドを使用して、マスタ ページ ギャラリーからマスタ ページを直接開くこともできます。
[フォルダ一覧] ウィンドウの [_catalog] ノードの下にあるマスタ ページ ギャラリーに移動します (図 6)。
図 6. SharePoint Designer 内のマスタ ページ ギャラリー
BlueBand.master をダブルクリックし、チェックアウト要求を確認します。
マスタ ページの構造に注目してください。さまざまな SharePoint コントロールがナビゲーションを処理し、サイトのタイトル、ロゴ、その他多くのアイテムを表示する働きをしています。
ファイルの中央に、"PlaceHolderMain" という ID を持つ <asp:ContentPlaceHolder> 要素があります。実行時に Windows SharePoint Services によってここにコンテンツ ページが挿入されます。
注意
マスタ ページのスケルトンの詳細については、このシリーズのパート 2 で説明します。
コード ビューに切り替え、PlaceHolderMain がある行の下に新しいテーブルの行を挿入します (図 7)。
図 7. 著作権情報を追加してマスタ ページを変更します
デザイン ビューに戻り、新しいテーブルのセルの CSS クラスを選択します。
[スタイルの適用] ウィンドウを使用して、マスタ ページに関連付けられた CSS ファイルからスタイルの 1 つを選択します (図 8)。
図 8. マスタ ページ要素にスタイルを適用します
[Web サイト] タブをクリックし、BlueBand.master ページを右クリックして、ページをチェックインします。更新したページをマイナー バージョンにするかメジャー バージョンにするかを指定する必要があります。ここではメジャー バージョンを選択し、コンテンツ承認開始の要求を確認します。
ブラウザに再びマスタ ページ ギャラリーが表示されます。
注意
TopNavFlyouts.master は現在、承認待ちの状態で格納されています。承認者権限を持つユーザーであれば、変更を承認することができます。
図 9 に示すように、TopNavFlyouts.master を使用するサイト上のすべてのページに変更が適用されていることがわかります。
図 9. 著作権情報が下部に追加された変更後のページ
新しいページ レイアウトを作成する
優れたコンテンツ管理システムは、テンプレート (ページ レイアウト) を作成するための豊富で柔軟性のあるインフラストラクチャを備えている必要があります。ページ レイアウトは WCM 対応の SharePoint サイトで発行されるページの基盤になります。Office SharePoint Server 2007 では、この記事の最初に説明した格納域の機能強化を使用して、ページ レイアウトを容易に作成できます。
コンテンツ作成者がすぐに利用できる数多くのページ レイアウトが用意されています。しかし、ここでは独自のカスタム ページ レイアウトを作成する手順を示すために、人材募集を掲載するページ用のページ レイアウトを作成します。
最初の手順は、コンテンツ タイプの作成です。トップ レベル サイトから [サイトの設定] 管理ページを開くと、サイト コレクションのレベルでコンテンツ タイプを作成できます。ここからサイト コンテンツ タイプ ギャラリーに移動します (図 10)。サブサイトの 1 つのサイト コンテンツ タイプ ギャラリーでコンテンツ タイプを作成し、コンテンツ タイプの適用範囲をそのサイトとすべてのサブサイトに指定することができます。
図 10. サイト コンテンツ タイプ ギャラリーには、サイト コレクションで利用できるすべてのコンテンツ タイプが格納されています
ギャラリーには、既にコンテンツ タイプが格納されています。ここにコンテンツ タイプを追加するには、ツール バーの [作成] をクリックします。
[新しいサイト コンテンツ タイプ] ページの最初のセクションで、新しいコンテンツ タイプの名前、説明、および親コンテンツ タイプを指定します。各コンテンツ タイプは、特定のコンテンツ タイプに基づいて作成されます。この系列によって、トップ レベルのシステム コンテンツ タイプにつながる階層が作成されます。コンテンツ タイプの詳細を示すページに移動する場合は、この階層をたどります。上部のセクションに、親コンテンツ タイプへのリンクが表示されます (図 11)。リンクをクリックすると、親コンテンツ タイプを定義しているページが表示されます。トップ レベルのコンテンツ タイプに達するまでこの操作を繰り返します。
図 11. 親コンテンツ タイプへのリンクの場所
[新しいサイト コンテンツ タイプ] ページで [ページ レイアウトのコンテンツ タイプ] を選択すると、[親コンテンツ タイプ] ボックスの一覧に、Office SharePoint Server 2007 に付属するページ レイアウトの基になっているすべてのコンテンツ タイプが表示されます。[発行用コンテンツ タイプ] を選択すると、ページやページ レイアウトなどの基本コンテンツ タイプが表示されます。この例では、最初のコンテンツ タイプである [ページ] を選択します (図 12)。
図 12. 独自の Job Postings コンテンツ タイプを作成します
Office SharePoint Server 2007 に付属するコンテンツ タイプと自分が作成したコンテンツ タイプを区別するために、独自のカスタム グループを作成することもできます。
次のページでは、コンテンツ タイプの詳細を定義します。ここで定義するユーザー設定のフィールドまたは列は、後から SharePoint Designer を使用してページ レイアウトに追加できるフィールド コントロールになるので重要です。
この人材募集の例では、ページに掲載する情報を取得する 3 つの列を追加します。
コンテンツ タイプに列を追加するには
最初の列の役職フィールドは、既にサイト コレクションのレベルにあるサイト内の列の一部になっています。[サイト内の既存の列から追加] をクリックして列を追加します。
他の 2 つのフィールドはサイト内の列として提供されていないので、自分で作成する必要があります。[サイト内の新しい列から追加] をクリックします。
2 番目の列については、「Job Description」という名前を入力し、種類として [発行用の完全な HTML コンテンツ (書式設定と制約付き)] を選択します。
3 番目の列については、「Job Prerequisites」という名前入力し、種類として [選択肢] を選択します。
選択肢の値には、たとえば SharePoint の開発、ASP.NET の開発、C#、Visual Basic 2005、HTML、および QuickBasic を追加します。[チェック ボックス (複数選択可能)] 表示オプションを選択し、コンテンツ作成者が複数のオプションを選択できるようにすることもできます。
発行するコンテンツのタイプを定義し終わったら、コンテンツ作成者が人材募集ページの作成に使用するページ レイアウト (テンプレート) を作成します。ページ レイアウトは、マスタ ページ ギャラリーから作成します。マスタ ページ ギャラリーには、トップ レベル サイトのレベルの [サイトの設定] ページからアクセスできます。[ギャラリー] グループの [マスタ ページとページ レイアウト] リンクをクリックします。
作成したコンテンツ タイプが、このタイプのページで利用できるコンテンツの定義になることに注意してください。したがって、[新しいページ レイアウト] ページの上部で必ず適切なコンテンツ タイプを選択する必要があります。このページでは、ファイルの名前、ページのタイトル、および (必要に応じて) 説明を入力する必要もあります。
SharePoint Designer でページ レイアウトを作成することもできます。
SharePoint Designer でページ レイアウトを作成するには
SharePoint Designer で、サイトを開きます。
[_catalogs] ノードを展開し、[masterpage (マスタ ページ ギャラリー)] ノードを右クリックします。
[新規作成] をポイントし、[SharePoint コンテンツ] をクリックします。
ダイアログ ボックスで、[SharePoint 発行] をクリックし、[ページ レイアウト] を選択します。
ドロップダウン リストを使用してコンテンツ タイプ グループを選択し、前の手順で作成したコンテンツ タイプを選択します。
新しいページ レイアウトの名前とタイトルを入力します。
ページ レイアウトをブラウザで作成する場合も SharePoint Designer で作成する場合も、コンテンツ作成者がコンテンツを操作するためのコントロールはまだ配置されていません。次の作業は SharePoint Designer を使用して、ページ レイアウトにフィールド コントロールを配置することです。
マスタ ページ ギャラリーにある Job Posting.aspx ファイルを編集します。[ツールボックス] には、PlaceHolderMain セクションにドラッグ アンド ドロップできるコンテンツ フィールドの一覧が表示されます (図 13)。デザイナとして、ページの外観を決定します。[プロパティ] ボックスを使用してコントロールを微調整することもできます。
図 13. 関連付けられたコンテンツ タイプのフィールドに基づくフィールド コントロール
ページ レイアウトを利用できるようにするには、ファイルを保存し、チェックインし、承認を受ける必要があります。これらの操作はマスタ ページ ギャラリー内から実行できます。
これでコンテンツ作成者がカスタム ページ レイアウトを使用できるようになります。適用範囲とアクセス許可によって、コンテンツ作成者はページ レイアウトをすべてのサイトで使用できる場合もあれば、1 つのサイトでしか使用できない場合もあります。それではコンテンツ作成者になったつもりで、新しくデザインされたページ レイアウトを使用してみましょう。
Job Posting ページ レイアウトに基づいてページを作成するには
ブラウザで、サイト コレクション内のサイト、またはページ レイアウトの適用範囲に指定したサイトを開きます。
[サイトの操作] をクリックし、[ページの作成] をクリックします。
名前と、必要に応じて説明を入力し、Job Posting ページ レイアウトを選択します。[作成] をクリックします。
ページ レイアウトに配置したフィールド コントロールが新しいページに表示されます (図 14)。
図 14. SharePoint Designer で配置したフィールド コントロールが含まれるページ
ページを公開するには、ページをチェックインし、送信して承認を受けます。
承認者グループに属するユーザーがページを承認し、発行済みページに変更することで (図 15)、サイトの閲覧者全員がページにアクセスできるようになります (これはワークフローが有効になっていることが前提です。有効になっていない場合は、承認権限を持つユーザーがだれでもジョブを承認できます)。
図 15. サイトの閲覧者に表示される承認済みのページ
まとめ
この記事 (3 部構成の第 1 部) では、Office SharePoint Server 2007 によって提供される機能豊富な WCM インフラストラクチャの概要を紹介しました。Windows SharePoint Services に付属し、あらゆる機能を実現する成果物について、およびコンテンツ作成者がページの発行に着手できるようにサイトを準備するためのさまざまな機能について説明しました。パート 2 (「Web コンテンツ管理対応の SharePoint サイトをカスタマイズしブランド設定する (パート 2/3): WCM を拡張する」) では、この話題をさらに深く掘り下げ、開発者の視点でコンテンツに取り組みます。
作成者について
Patrick Tisseghem (MVP, Microsoft Office SharePoint Portal Server) は、ベルギーのブリュッセルに拠点を置く Microsoft .NET のトレーニングとサービスの会社、U2U のマネージング パートナーです。彼は主に、インフォメーション ワーカー向けの製品とテクノロジの大部分を扱う Microsoft 主催のプレゼンテーション、ワークショップ、およびセミナーで契約トレーナーを務めています。MSDN で発行される SharePoint Portal Server の開発に関する多くの記事やホワイト ペーパーの執筆者で、現在は Microsoft Press の Microsoft Office SharePoint Server 2007 に関する書籍の調査と執筆に携わっています。
この記事は、A23 Consulting (英語) の協力で開発されました。
追加情報
詳細については、以下のリソースを参照してください。