Web コンテンツ管理対応の SharePoint サイトのカスタマイズとブランディング (パート 3/3): WCM 対応サイトの作成と設定

概要 : この記事では、管理の観点から Microsoft Office SharePoint Server 2007 の Web コンテンツ管理 (WCM) 機能 (発行ポータル サイトの作成、サイトに対する匿名アクセスおよびフォーム認証の設定、およびサイト バリエーションの使用) について説明します (9 印刷ページ)。

Patrick Tisseghem、U2U (英語)

2006 年 11 月

適用対象 : Microsoft Office SharePoint Server 2007

目次

  • WCM 対応サイトの作成と設定の概要

  • 発行ポータルを作成する

  • フォーム認証用にサイトを設定する

  • 匿名アクセスを許可する

  • サイト バリエーションを作成する

  • まとめ

  • 作成者について

  • 追加情報

WCM 対応サイトの作成と設定の概要

Web コンテンツ管理 (WCM) は、Microsoft Office SharePoint Server 2007 の一連の機能セットで有効です。その機能の多くは、このシリーズの最初の記事で説明している Windows SharePoint Services 3.0 に依存しています。2 番目の記事では、開発者向けの拡張機能オプションについて説明しました (シリーズの最初と 2 番目の記事へのリンクについては、「追加情報」を参照してください)。シリーズ最後のこの記事では、管理者による WCM の扱い方を取り上げます。最初の手順は、インターネット サイトを作成することです。作成したサイトを匿名アクセスおよびフォーム認証用に設定および調整する方法について説明します。また、サイト バリエーションをどのように作成および設定するかについても説明します。

発行ポータルを作成する

企業は通常、独自のサイト コレクションと専用の Microsoft インターネット インフォメーション サービス (IIS) Web サイト (Web アプリケーション) でインターネット サイトをホストします。サイトを作成する手順は、チーム サイトまたはポータル サイトを作成する手順とほとんど変わりません。このプロセスで実際に決定を行うのは、ずっと後の、選択するサイト テンプレートのレベルで、です。インターネット サイトでは、発行ポータル テンプレートを選択します。

Office SharePoint Server 2007 を使用してインターネット サイトを作成するには、サーバーの全体管理を開きます。[アプリケーション構成の管理] セクションで、[Web アプリケーションの作成または拡張] をクリックします。このオプションを使用すると、Web アプリケーション、認証プロバイダ (Kerberos または NTLM)、およびインターネット サイトを実行するワーカー プロセスを設定するアプリケーション プールを作成するためのすべての設定を入力できます。このページでは、IIS のレベルで匿名アクセスを今すぐ有効にすることができます。

Web アプリケーションを拡張したら、発行ポータル テンプレートに基づいてトップレベルのサイトでサイト コレクションを作成することができます。

フォーム認証用にサイトを設定する

Office SharePoint Server 2007 以前の Windows SharePoint Services および Microsoft Office SharePoint Portal Server 2003 では、サイトの閲覧者の認証は完全に IIS 6.0 に依存していました。閲覧者は有効な Windows アカウント (ローカル アカウント、または実際のシナリオでは通常はドメイン アカウント) が必要でした。

Windows SharePoint Services 3.0 では、閲覧者のアカウントを任意の ID ストアに格納したり、ID ストアからアカウントを管理したりすることができます。匿名アクセスを許可している SharePoint サイトをだれでも閲覧できるように Web アプリケーションを設定し、次に、必要に応じて、Microsoft ASP.NET 2.0 フォーム認証を使用して ASP.NET 2.0 認証プロバイダ モデルを活用することによって、ユーザー設定の認証を提供できるように Web アプリケーションを設定することができます。たとえば、インターネット サイトのコンテンツの作成と管理を担当する、1 人以上の閲覧者用アカウントを持つことができます。また、匿名アクセスを、フォーム認証とではなく、Windows 認証と組み合わせて設定することもできます。

SQL Server データ ストアを準備する

ASP.NET 2.0 では、既定で Microsoft SQL Server メンバシップと LDAP メンバシップの 2 つの認証プロバイダを提供しています。これらのプロバイダでは十分ではない場合、ASP.NET 2.0 認証プロバイダ モデルを使用すると、アカウントを別のデータ ストアに格納すると決めたときに独自のユーザー設定メンバシップ プロバイダを作成することができます。

Microsoft SQL Server 2005 を使用してアカウントを格納するものとします。まず最初に、アカウントを格納するためのデータベースが必要です。任意のデータベースを使用できますが、ASP.NET には、aspnetdb という名前の、そのまま使用できるデータベースが含まれています。Microsoft SQL Server 2005 でこのデータベースを作成するには、aspnet_regsql.exe という名前の小さなコマンド ライン ツールを実行します。このツールは、Microsoft .NET Framework フォルダ内にあります。ツールのウィザードがこのデータベースを作成する手順に従って解説しています。

認証モードを切り替える

作成された新しいインターネット サイトの既定の認証モードは、Windows 認証です。フォーム認証を使用するように Web アプリケーションを設定する場合は、次の手順を実行します。

フォーム認証を使用するには

  1. サーバーの全体管理を開き、[アプリケーション構成の管理] をクリックします。

  2. 表示される [アプリケーション構成の管理] ページの [アプリケーション セキュリティ] で、[認証プロバイダ] をクリックします。

  3. 表示される [認証プロバイダ] ページで、[既定] をクリックします。

  4. 表示される [認証の編集] ページで、次の手順を実行します。

    1. [認証の種類] で、[フォーム] を選択します。

    2. [メンバシップ プロバイダ名] に、「AspNetSQLMembershipProvider」と入力します。

  5. [保存] をクリックします。

この手順を実行すると、web.config ファイルのサイトの認証部分が次のように変わります。

    <authentication mode="Forms">
      <forms loginUrl="/_layouts/login.aspx" />
    </authentication> 

Office SharePoint Server 2007 に含まれているサインイン ページは、ユーザー設定のサインイン ページに置き換えることができます (BLANKINTERNET サイト定義にもサインイン ページ定義が含まれています)。

アカウント データベースに入力する

インターネット サイトにログオンする前に、aspnetdb SQL Server データベースによって準備されるアカウントを持つ必要があります。現在、何も定義されていません。データベース内のユーザー テーブルに、ユーザー設定アカウントを設定する方法はいくつかあります。たとえば、ストアド プロシージャを実行することを選択する方法や、データベース用にブラウザベースのフロントエンドを提供する ASP.NET Web サイト管理ツールを使用する方法があります。ここでは、後者の方法について説明します。

ASP.NET Web サイト管理ツールを開くには

  1. Microsoft Visual Studio 2005 で、空白の ASP.NET 2.0 Web アプリケーションを作成します。

  2. web.config ファイルを変更して、<authentication /> 要素のモードを、Windows ではなくフォームに設定します。

    <authentication mode="Forms" />
    
  3. 空の <connectionstrings /> タグを次の内容に置き換えます。

    <connectionStrings>
      <remove name="LocalSqlServer" />
      <add name="LocalSqlServer" 
        connectionString="Data Source=.;Initial Catalog=aspnetdb;
        Integrated Security=True"/>
    </connectionStrings>
    

    この変更によって、machine.config ファイル内にある <connectionstrings /> 定義は上書きされます。

  4. ソリューション エクスプローラのツール バーで、[ASP.NET 構成] をクリックします。ブラウザで、ASP.NET Web サイト管理ツールが開きます。

  5. [セキュリティ] タブをクリックします。このタブのリンクを使用して、aspnetdb データベースにアカウントを追加します。

machine.config ファイル (.NET Framework フォルダの config フォルダにあります) には、ASP.NET から SQLExpress にアクセスするエントリが含まれています。SQL Server 2005 で作成された aspnetdb データベースを常に使用する場合は、machine.config 内の <connectionstrings /> 要素を直接変更します。それ以外の場合は、SQL Server 2005 で aspnetdb データベースを使用する Web アプリケーションに関連付けられているすべての web.config ファイルで変更を行います。また、インターネット サイトの web.config ファイルとサーバーの全体管理の web.config ファイルも変更する必要があります。サーバーの全体管理の web.config ファイルは、C:\inetpub\wwwroot\virtualdirectories\GUID にあります。この GUID は、お使いのコンピュータに固有のものです。ご自分の GUID を特定するには、IIS マネージャに問い合わせてください。

管理者アカウントを定義する

Microsoft SQL Server データベースで作成されるアカウントは、インターネット サイトへはアクセスできません。また、サイトにアクセスしてユーザーをサイトの管理者として定義する方法もありません。ただし、サーバーの全体管理では、サイト自体にログオンしないで、[アプリケーション構成の管理] ページの [Web アプリケーションのポリシー] 管理用リンク経由で、インターネット サイトのユーザーを定義するオプションを提供しています。そのページで、ユーザー設定のユーザー アカウントの 1 つを追加して、そのアカウントにインターネット サイトでの管理者のロールを付与することができます。新しい管理者は、ログオンして、他のユーザー設定アカウントにロールを割り当てることができます。対象がインターネットの場合は、[既定のゾーン] を使用してください。

図 1 は、ユーザー選択コントロールが、入力された名前を SQL Server データベースに格納されているアカウントに照らして確認する方法を示しています。ユーザー選択がアカウントを確認できなければ、名前の下に赤い線が表示されます。このような場合は、サーバーの全体管理の web.config ファイルの <connectionstrings /> タグを変更していることを確認してください。

図 1. SQL Server アカウントでユーザー選択コントロールを使用する

ユーザー選択ウィンドウ コントロールの使用

これで、管理者アカウントを使用して、インターネット サイトにサインインすることができます。署名に成功すると、ウェルカム ページが表示され、他のユーザー アカウントを管理することができます。

匿名アクセスを許可する

最後の手順は、匿名ユーザーがサイトを閲覧できるようにインターネット サイトを設定することです。IIS のレベルでは、既に匿名アクセスを有効にしています。インターネット サイト自体で実行する追加の手順があります。現在、匿名ユーザーには、トップレベル サイトへのアクセス権限がありません。インターネット サイトのホーム ページに、管理ページへのショートカットがあります。この管理ページには、匿名ユーザーにサイト全体へのアクセス権限を与えるオプションがあります (図 2)。

図 2. 匿名ユーザーにアクセス権限を与える

匿名ユーザーの許可

匿名ユーザーにアクセス権を付与するには

  1. インターネット サイトのホーム ページで、[匿名アクセスを有効にする] をクリックします。

  2. 表示される [匿名アクセス設定の変更] ページの [匿名ユーザーがアクセスできるようにする] で、[Web サイト全体] をクリックします。

  3. [OK] をクリックします。

インターネット サイトのホーム ページから [匿名アクセスを有効にする] リンクが削除されている場合は、次の手順を実行します。

[匿名アクセス] 管理ページに移動するには

  1. インターネット サイトの [サイトの操作] メニューで、[サイトの設定] をクリックします。

  2. [ユーザーと権限] セクションで、[権限の設定 (詳細)] をクリックします。

  3. [設定] メニューで、[匿名アクセス] をクリックします。

サイト コレクションでサイトごとに匿名アクセスを設定することができます。たとえば、1 つ以上のサイトを匿名ユーザーに対して非表示にして、認証されたユーザーのみがそれらのサイトを使用できるように設定することができます。

匿名アクセスをテストする前に、サイトの上部にあるウェルカム コントロールを使用して明示的にログアウトします。

サイト バリエーションを作成する

サイト バリエーションが Office SharePoint Server 2007 に対するエキサイティングな追加機能の 1 つであることは間違いなく、企業はこのサイト バリエーションによって、多言語、マルチデバイス、または単に何かについての類似バージョンが複数備わった Web サイトをサポートすることができます。通常は、サイト バリエーションを使用してソース サイトを変更すると、Office SharePoint Server 2007 によって、このサイトのバリエーションに、それらの変更内容が複製されます。

たとえば、ある企業が自社の外部 Web サイトで、フランドル語、オランダ語 (フランドル語はオランダ語とは異なります)、および英語の 3 か国語をサポートすることに決定する、という多言語シナリオがあると仮定します。この会社はブリュッセル (ベルギー) に本拠地を置き、フランドル語版のサイトをソース サイトのマスタとして指定します。コンテンツ管理者は、マスタ サイト上で作業を行います。コンテンツ管理者は、自分の作品、つまり作成したすべてのページが自動的にオランダ語サイトと英語サイトに複製されるようにしたいと考えています。Office SharePoint Server 2007 によって提供されるサイト バリエーションを使用すると、この作業を行うことができます。

注意

Office SharePoint Server 2007 は、サイトを翻訳することはできません。作成したコンテンツの翻訳は通常、コンテンツの作成者がページ (この例ではフランドル語サイト) を発行したときにトリガされる、ユーザー設定ワークフローの手順です。

バリエーションを有効にする成果物

サイト バリエーションは、多数の成果物に依存しています。

  • まず最も重要なのがバリエーション ラベルです。上記で説明した多言語シナリオでは、フランドル語、オランダ語、および英語がバリエーション ラベルです。バリエーション ラベルの 1 つは、ソース バリエーション ラベルになる必要があります。

  • Office SharePoint Server 2007 では、ソース バリエーション ラベルで行われた作業を完全にスケジュールして自動的に複製することができます。管理者は、作業に合った方法でスケジュールを設定します。

  • サイト バリエーションは、Windows SharePoint Services ソリューション フレームワークおよびそのフレームワークが提供するすべての機能を使用します。リレーションシップという名前の内部リストに、関係するすべてのメタデータが格納されます。

  • 画像などのリソースは、すべてのバリエーションが共有 (または参照) することもできますが、管理者がバリエーション ラベルごとに専用のリソースを保持することを決定することもできます。

サイト バリエーションから始める

既定では、サイト バリエーションは無効になっています。サイト コレクション管理者はまず、サイト バリエーションの設定を行う必要があります。

サイト バリエーション設定にアクセスするには

  1. この記事の最初に作成したインターネット サイトなどのサイトを開きます。

  2. [サイトの操作] メニューの [サイトの設定] をクリックします。

  3. [サイトの設定] ページの [サイト コレクションの管理] で、[バリエーション] をクリックします。

今度は、サイトの変更を開始する場所を決定する必要があります。オプションとしては、トップレベル サイト ("/") から開始するか、またはサイト コレクション内のサブサイトの 1 つから開始します。[参照] ボタンを使用して、サブサイトを選択することができます。

複製プロセスは、管理者自身が制御することも、Office SharePoint Server 2007 に制御させることもできます。また、次のオプションを設定することもできます。

  • ソース ページが再発行されたときに、バリエーションで削除済みのページを再作成します。このオプションによって、バリエーション間の一貫性を強制的に維持することができますが、場合によっては維持したくないこともあります。

  • 対象のページ上で Web パーツを更新します。コンテンツ作成者が新しいソース ページを作成した場合、対象ページはすべて作成するけれども、ソース ページへのリンクは維持しない方がいいでしょう。

  • 新しいサブサイトまたはページを作成したことを知らせる必要があるユーザーに通知します。

  • リソース (画像など) を、ただ参照することで再利用するか、またはリソースのローカル コピーを作成します。後者を選択すると、リソースを翻訳する必要がある場合に便利です。

バリエーション ラベルを作成する

ここで、サポートする 1 つの言語につき 1 つずつ、バリエーション ラベルを作成することができます。

ソース バリエーションのラベルを作成するには

  1. [サイトの設定] ページで、[バリエーション ラベル] をクリックします。

  2. [バリエーション ラベル] ページの [新しいラベル] をクリックします。

  3. [バリエーション ラベルの作成] ページで、ラベルの名前 (Flemish など)、およびラベルの説明を入力します。

  4. [表示名] ボックスに、ユーザー インターフェイスでバリエーションを表す名前を入力します。

  5. [ロケール] ボックスの一覧で、ロケールを選択します。サイト バリエーションがトップレベル サイトで始まる場合、ロケールを使用すると、ブラウザのカルチャ設定に基づいた言語バリエーションにサイトを切り替えることができます。

  6. [階層の作成] セクションで、ソース バリエーションのうち他のバリエーションに複製する部分を選択します。

  7. [ソースの階層] セクションで、[このバリエーションをソース バリエーションとして設定する] チェック ボックスをオンにします。設定できるソース バリエーションは、1 つのみです。

  8. サイト バリエーションの複製元となるサイト テンプレートを選択します。

  9. [OK] をクリックします。

次に、ソース バリエーションで作成されたコンテンツとインフラストラクチャを複製する、他のサイト バリエーション ラベルを作成します。設定できるのは、タイトル、説明、表示名、およびロケールのみです。これは、既にソース バリエーションを定義済みだからです。サイト コレクションに設定できるソース バリエーションは、1 つのみです。

最後の手順として、[バリエーション ラベル] ページのツール バーで、[階層の作成] を作成して、インフラストラクチャを作成します。Office SharePoint Server 2007 でバリエーションが作成されると、図 3 のような概要が表示されます。

図 3. [バリエーション ラベル] ページ

[バリエーション ラベル] ページ

ナビゲーションを調整する

Web サイトのホーム ページに戻ると、3 つのサブサイト (各バリエーション ラベルに 1 つのサブサイト) が表示されています (図 4)。図に表示されているプレス リリース サブサイトは、バリエーション インフラストラクチャには含まれません。

図 4. Web サイト用の 3 つの言語バリエーション

Web サイト用の 3 つの言語バリエーション

サイト バリエーションのホーム ページは、依然として発行前に承認される必要があります。サイトに関連付けられたマスタ ページには、VariationLabelsMenu.ascx という名前の付いた、Office SharePoint Server 2007 によってページに表示される小さな ASP.NET ユーザー コントロールが含まれています (図 5)。このコントロールを使用すると、ユーザーは他のバリエーションの対応するページにジャンプすることができます。

図 5. [バリエーション ラベル] メニュー

[バリエーション ラベル] メニュー

言語に基づくバリエーションの場合、バリエーション サイトを非表示にします。Office SharePoint Server 2007 では、ブラウザの言語設定に定義されているロケールに基づいて適切な言語のサイトをユーザーに表示します。したがって、Internet Explorer にフランドル語のロケールが設定されている、フランドル語を使用する閲覧者には、フランドル語のバリエーションが表示されます。サイト バリエーションとして指定したロケールを使用できない場合、ユーザーにはソース バリエーションが表示されます。

ナビゲーションでバリエーションを非表示にするには、サイト コレクション レベルで、[サイトの設定] ページの [ナビゲーション設定の変更] をクリックします。

ページを作成する

ソース バリエーションに新しいページを作成するコンテンツ作成者には、他のバリエーションに複製されたページが表示されます。バリエーションの更新は自動的に行うことも、バリエーションの更新操作を使用できるページ編集ツール バーを使用して、更新を手動でアクティブにすることもできます。

バリエーションで作成されたページは、翻訳プロセスを処理するワークフローに含めることができます。考えられるシナリオとしては、翻訳者が電子メール メッセージで通知されると、そのメールから新しいページに移動して翻訳します。

まとめ

シリーズ最後のこの記事では、Office SharePoint Server 2007 サイトの匿名アクセスとフォーム認証についての設定に関係する手順について説明しました。また、サイトで提供されるコンテンツの複数のバリエーションをサポートする、サイトの設定についても説明しました。

作成者について

Patrick Tisseghem (MVP, Microsoft Office SharePoint Portal Server) は、ベルギーのブリュッセルに拠点を置く Microsoft .NET のトレーニングとサービスの会社、U2U のマネージング パートナーです。業務の大半は、Microsoft 契約トレーナーとして、ほぼすべての Microsoft インフォメーション ワーカーの製品およびテクノロジを網羅したプレゼンテーション、ワークショップ、セミナーを開催しています。Patrick は SharePoint Portal Server の開発に関する記事やホワイト ペーパーを執筆しており (MSDN に発表)、現在は Microsoft Press から刊行予定の Microsoft Office SharePoint Server 2007 に関する書籍の調査と執筆を行っています。

この記事は、A23 Consulting (英語) の協力で開発されました。

追加情報

詳細については、以下のリソースを参照してください。