SharePoint 2010 におけるバリエーション – ユーザーをコンテンツに結び付ける

SharePoint 2010 におけるバリエーション – ユーザーをコンテンツに結び付ける

新しい SharePoint 発行サイトを準備するときに既定のウェルカム ページに最初に表示されるオプションの中に、バリエーション機能の使用による多言語のサイトとページの管理があります。プログラム マネージャーとしてバリエーションを担当している Josh Stickler です。この投稿では、バリエーション機能について簡単に説明し、SharePoint 2010 での主な改善点を中心に説明します。

特に関心を持つ分野が他にある場合は、[Comments] セクションをご利用ください。できる限り対応しようと思っています。皆さまからのフィードバックを心よりお待ちしています。よろしくお願いします。

バリエーション機能とは

バリエーションとは、複数の対象ユーザーに提供できるコンテンツの管理およびメンテナンスを容易にする SharePoint 機能です。これらの対象ユーザーにより、異なる言語、国、地域に対応できるだけでなく、異なるブランドやデバイスを表すこともできます。

clip_image002

バリエーションのしくみ

コンテンツを提供するチャネルごとに、バリエーション ラベルを指定できます。ラベルは、SharePoint 発行サイトとしてインスタンス化され、サイト コレクション内のラベル セット一式はバリエーション階層と呼ばれます。ここでは、バリエーション機能で作成および管理している SharePoint 発行サイトを "バリエーション サイト" と呼びます。

バリエーションを使用して、複数のターゲット バリエーション サイトは、ページとサイト構造において 1 つのソース バリエーション サイトを反映しています。バリエーションを設定する場合は、ソースとして 1 つのバリエーション サイトを指定します。他のバリエーション サイトはすべてターゲットになります。既定では、ソース バリエーション サイト上で発行されたページは、すべてのターゲット バリエーション サイトに下書きバージョンとしてコピーされ、ソースに作成されたサイトは、すべてのターゲット バリエーション サイトに作成されます (コピーされるわけではない点が、重要な違いです)。ソース バリエーション サイトは 1 つのバリエーション階層につき 1 つのみ設定でき、バリエーション階層は 1 つのサイト コレクションにつき 1 つのみ設定できます。

SharePoint 2010 の新機能

バリエーションの概念および主要なアーキテクチャ、つまりページとサイト構造がサイト コレクション内の複数のバリエーション サイトに複製されることは、Microsoft Office SharePoint Server 2007 の場合と同じです。ただし、複数のチャネルにコンテンツを提供する企業ユーザーのニーズにより近づくために重大な改善を加えました。

これらの改善は次の 4 つのカテゴリに分けることができます。

  • サーバーの使用権
  • コンテンツ配布
  • 編集操作
  • 信頼性

サーバーの使用権

バリエーションの処理は、タイマー ジョブを介してバックグラウンドで実行されるようになりました。エンド ユーザーから見た場合は、進行状況の画面で処理が完了するのを待つ必要がなくなりました。システム管理者から見た場合は、階層の作成のようなリソース使用量の多い処理のコストをより適切に管理できるようになりました。

clip_image003

バリエーションの処理の実行頻度はサーバーの全体管理で調整できます。次に、バリエーションのコンテンツ配布モデルに加えた改善を基に "作成" タイマー ジョブと "伝達" タイマー ジョブの違いについて説明します。

サイトとページの伝達

MOSS 2007 には、バリエーション階層全体にページを配布するモデルが 2 つありました。

1. 自動作成: [自動作成] (Automatic Creation) が [バリエーション設定] (Variation Settings) ページで有効な場合 (既定で有効になっています)、ソース バリエーション サイト上でページを発行すると、ページはすべてのターゲット バリエーション サイトにコピーされます。

2. 手動作成: [自動作成] (Automatic Creation) が無効になっている場合は、[バリエーションの作成] (Create Variations) リボン ボタンが、新しいページを具体的な個々のターゲット バリエーション サイトにコピーする唯一の手段になります。

寄せられたフィードバックの中に、変更をすべてのターゲットに伝達せずに、ソース バリエーション サイトにローカルで発行することが必要になることが多い、というものがありました。たとえば、英語のソース バリエーション サイトに誤字があった場合、修正はドイツ語のターゲット サイトには関係ないことがあります。そのため、この修正をソース ページで発行すると、その変更された英語版がすべてのターゲット サイトに不必要にコピーされて紛らわしい可能性があります。

SharePoint 2010 では、3 つ目の "ハイブリッド" コンテンツ配布モデルを導入しています。

3. オンデマンドのページ伝達

自動ページ伝達を無効にするための設定が追加されました ([オブジェクト モデル] (Object Model) から構成できます)。この設定が有効な場合、ソース バリエーション サイト上のページを発行しても承認しても、そのページはターゲット バリエーション サイトにコピーされません。ページについての [自動作成] (Automatic Creation) の設定は無視されます。ユーザーは、[バリエーションの更新] (Update Variation) と [バリエーションの作成] (Create Variation) を使用して、必要に応じてバリエーション階層全体にコンテンツを配布できます。

コンテンツ配布モデルについては、今後の投稿でさらに詳しく説明しようと思いますが、オンデマンドのページ伝達の構成方法について気をもまないように、以下に PowerShell コマンドを示します。

オンデマンドのページ伝達を有効にする:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite("http://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Add("DisableAutomaticPropagation", "True")
$folder.Update();

オンデマンドのページ伝達を無効にする:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite("http://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Remove("DisableAutomaticPropagation")
$folder.Update();

また、ターゲット バリエーション サイト上に新しい下書きバージョンが発生した場合にソース バリエーション サイトで何が変更されたのかをターゲット バリエーション サイトのコンテンツ所有者が速やかに把握できるようにする改善も加えました。

編集操作

時間と労力の効率化を図るため、ターゲット バリエーションのコンテンツ編集担当者は、ソース バリエーションからページが伝達されたときにコンテンツのどこが新しいかを判別する簡単で有益な方法を必要としています。

clip_image004

新しい [変更内容を表示] (View Changes) ボタンでは、ターゲットに伝達された最新のソース バージョンと、ターゲット上で公開されている最新のソース バージョンを比較できます。変更点はポップアップ レポートに強調表示されるので、リッチ テキスト エディターで直接コンテンツを処理できます。

clip_image006

強調表示されたレポート

clip_image008

リッチ テキスト エディターでの対応先

このボタンは、ターゲット バリエーション ページが発行された後でバリエーション タイマー ジョブのいずれかによってソース バリエーション サイトから新しい下書きバージョンがコピーされると、ターゲット バリエーション ページで有効になります。この新機能については、今後のブログ投稿で詳しく説明します。スクリーンショット、サンプル ワークフロー、シナリオ例を使用して [変更内容を表示] (View Changes) 機能を紹介する予定です。

信頼性

SharePoint 2010 でのバリエーションの主な目標の 1 つとして、企業ユーザーが複数のチャネルでのコンテンツの管理および配布をバリエーションに任せられるように機能の信頼性を高めることがあります。

階層の作成は Timer Service で実行されるようになったので、Timer Service のリサイクル時におけるこの処理の一時停止と再開をサポートすることで、大規模な展開での長時間に及ぶ処理に対応できるようになりました。これは、このプロセスがアプリケーション プールのリサイクルの影響を受けない、という意味でもあります。また、ソース ページにリンクされたすべてのターゲット ページを追跡するリレーションシップ リストの信頼性も向上しています。

最後までお読みいただき、ありがとうございました。今後のブログ投稿では、バリエーションの新機能やエンタープライズ コンテンツの管理におけるその他の興味深い開発を紹介しますので、ぜひご覧ください。

よろしくお願いいたします。

Josh Stickler

プログラム マネージャー

これはローカライズされたブログ投稿です。原文の記事は、「Variations in SharePoint 2010 – Connecting People with Content」をご覧ください。