CMSのポテンシャルを引き出す─MODxで作る商用サイト

第10回 MODx Revolutionとコンテキスト

この記事を読むのに必要な時間:およそ 3 分

次に,⁠デフォルトでどのリソースを表示させるか」という設定は管理画面上で行います。画面左側のメニューよりexample.netのコンテキストを右クリックし,⁠コンテキストの編集」より「コンテキスト設定」に進み,⁠site_start」というキーを作成します。筆者の環境ではトップページ用リソースのIDが17となっているため,ここでは17という値を設定しています。

図5 デフォルトのリソース設定(⁠site_start」キーの作成)

図5 デフォルトのリソース設定(「site_start」キーの作成)

キーの追加が終わったら,ブラウザより.comと.netの両方のアドレスを叩いて,挙動を確認してみてください。サイトごとに違ったコンテンツが表示されれば成功です。

図6 http://www.example.com/を表示した場合

図6 http://www.example.com/を表示した場合

図7 http://www.example.net/を表示した場合

図7 http://www.example.net/を表示した場合

今回は両方のサイトで同じテンプレートを使っているため,見た目の違いがわかりにくくなっていますが,実際には別々のテンプレート,別々のスニペットなどを使うようにすれば,管理上の手間をそれほど増やすことなく,さまざまなサイトを簡単に構築することができます。

コンテキストごとに管理者を割り当てる

MODx Revolutionでは「example.comのコンテンツを管理するのはAさん,example.netを管理するのはBさん」という設定を実現することもできます。

今回は,次のようなユーザーを作成してみましょう。

ユーザー名権限
admin(すでに存在)すべて
dotcomexample.comのコンテンツの編集
dotnetexample.netのコンテンツの編集

まずは,⁠権限管理」⁠⁠ユーザー管理」より,dotcom,dotnetという2人のユーザーを作成します。作成時,⁠有効」にチェックが付いていることを確認してください。

ユーザーの作成が完了したら,ユーザーをグループに結びつけるため,⁠権限管理」⁠⁠ユーザーグループとロールの管理」より,⁠dotcom-ug」⁠dotnet-ug」という2つのユーザーグループを作成し,各ユーザーグループを右クリックしてユーザーをグループに加えます。このとき,ロール(役割)「Super User」としてください。

図8 ユーザー,ユーザーグループを作成

図8 ユーザー,ユーザーグループを作成

次に,各ユーザーグループにアクセス権限を割り当てます。ユーザーグループを右クリック,⁠ユーザーグループを編集」に進み,⁠コンテキストのアクセス」より,⁠dotcom-ug」にはデフォルトである「web」⁠⁠dotnet-ug」には先ほど作成した「example.net」というコンテキストを追加します。また,管理画面アクセスを許可させるため,両者に「mgr」というデフォルトのコンテキストを追加するのを忘れないでください。

設定が完了したら,別のブラウザなどを立ち上げて「dotnet」「dotcom」というユーザーでログインしてみてください。これまでと異なり,制限された環境でコンテンツを作成することができるようになります。もしうまく行かない場合は,⁠権限管理」の中のリロードや初期化などを試してみてください。

図9 dotnetユーザーで管理画面にアクセスした場合

図9 dotnetユーザーで管理画面にアクセスした場合

これを応用すれば,⁠あるユーザーはexample.netのコンテキストにリードオンリーでアクセス」など,もう少し進んだ設定も可能になります。ユーザーや権限の設定は奥が深いため,少し分かりにくい部分もあるかもしれませんが,いろいろと試してみてください。例のごとく,事前にバックアップをとっておけば,何をしても安心です。

最後に

今回紹介したコンテキストという機能はMODx Revolutionの目玉機能のひとつで,環境によってはこれまでのオペレーションを大幅に簡素化することができます。

これまで,ウェブサーバ上でドメインごとにApacheのバーチャルホストを設定,コンテンツ管理者ごとにドキュメントルートやパスワードを発行されて「面倒だなぁ」と感じている方がいらっしゃれば,ぜひMODxのコンテキストを試してみてください。

著者プロフィール

中満英生(なかみつひでお)

大学時代に出会ったSolarisがきっかけでUNIXの世界へ。その後ホスティングプロバイダ,データセンターで実務経験を積む傍ら,雑誌記事の執筆や技術セミナーの講師を務める。サーバ設定の他,セキュリティに関する著作や技術者エッセイも執筆経験あり。