コントロールパネルの利用

コントロールパネルの「ポータル (Portal)」セクションは、ほとんどの管理作業で使用されます。ご覧のとおり、このセクションには

  • ユーザ
  • コミュニティ
  • ロール

の作成・保守を行うためのインタフェースがあります。

加えて、以下のような多数のサーバ設定を変更することもできます。

  • パスワードポリシー
  • 認証オプション。シングルサインオンや LDAP の統合もここに含まれる
  • ユーザに対するデフォルトの関連付け
  • スクリーンネームの予約
  • メールホスト名
  • メール通知

コントロールパネルの「ポータル」セクションを使って、ポータルの構造を作成したり、セキュリティを実装したり、ユーザを管理したりすることができます。なお、コントロールパネルのこのセクションを閲覧できるのは、Administrator ロール――ポータルスコープのロールです――を持っているユーザだけです。もちろん、ロールを新たに作成して、任意のセクションに対する権限を付与することができます。

ユーザの追加

liferay-16.png
図 16: 「新規ユーザ」画面

まずは、あなた自身のユーザアカウントを追加するところから始めることにしましょう。次にこのアカウントの設定を行って、デフォルトの管理者アカウントと同じ管理権限を付けることにします。まだコントロールパネルを表示していない場合は、画面上部のドックバーで「処理 (Manage)」にカーソルを重ね、「コントロールパネル (Control Panel)」のリンクをクリックしてください。続いて、「ポータル (Portal)」カテゴリにある「ユーザ (Users)」をクリックします。「追加 (Add)」ボタンをクリックします。

すると、「新規ユーザ (Add User)」のフォームが表示されます。フォームにあなたの名前とメールアドレスを記入してください。終わったら「保存 (Save)」をクリックします。

ページが再描画され、保存が成功した旨のメッセージが表示されると、今度はユーザに関する情報を他にも色々と記入できるようにフォームが拡張されているはずです。ここでは他の情報を記入する必要はありませんが、ひとつだけ注意事項があります。それは、ユーザ ID の作成時にはパスワードが自動生成され、Liferay が正しくインストールされていれば (2 章参照)、パスワードを記載したメールメッセージがユーザに送信されるということです。当然ですが、これには Liferay があなたの組織の SMTP メールサーバと適切に通信できることが必要です。

liferay-17.png
図 17: Liferay のユーザアカウントエディタ

まだメールサーバの設定を行っていない場合は、作成したユーザ ID に対するデフォルトパスワードを、この画面で何かあなたが覚えられるものに変更しておく必要があります。変更するには、右側の枠内にある「パスワード (Password)」のリンクをクリックし、2 つのフィールドに新しいパスワードを入力して、「保存 (Save)」をクリックします。

次に、作成したユーザアカウントにデフォルトの管理者アカウントと同じ管理権限を付けましょう。それによって、デフォルトの ID を使わずに 自分の ID で管理作業を実施できるようになります。また、デフォルト ID を削除または無効化することで、ポータルをよりセキュアにすることもできます。

「ロール (Roles)」のリンクをクリックします。画面が切り替わり、あなたの ID に現在割り当てられているロールが表示されます。デフォルトでは、Power User という権限だけが付いているはずです。デフォルトではすべてのユーザに対しても Power User ロールが割り当てられます。お望みであればこのロールに何らかの権限を与えることもできますし、この権限を完全に無効化することもできます (方法は後述)。新規ユーザが受け取るデフォルトロールを指定することもできます。これについても後で見ていきます。

自分を Administrator にするには、「選択 (Select)」のリンクをクリックします。ウィンドウがポップアップし、システム内のロールがすべて一覧表示されます。一覧から Administrator ロールを選択するとウィンドウが消え、あなたが割り当てられたロールの一覧に追加されます。次に、右側にある青い棒状のリンク群の下部にある「保存 (Save)」ボタンをクリックします。これであなたはポータルの管理者になりました。ポータルからログアウトし、自分のユーザ ID で再度ログインしてください。

ユーザの管理

コントロールパネル左側で「ユーザ (Users)」のリンクをクリックすると、ユーザの一覧に 2 人のユーザが表示されるはずです。特定のユーザについて何か変更を行いたい場合は、そのユーザの隣にある「操作 (Actions)」ボタンをクリックします。

編集 (Edit User): 「ユーザの編集」ページに戻ってユーザに関する情報を修正することができます。

権限設定 (Permissions): どのロールがユーザに対する編集権限を持つか指定することができます。

ページの管理 (Manage Pages): ユーザがページを持っている場合に、そのページを編集することができます。

ユーザの代理 (Impersonate User): 別のブラウザウィンドウを開いて、あなたがそのユーザであるかのようにサイト内を閲覧することができます。

停止する (Deactivate): これをクリックすると、ユーザのアカウントが非アクティブになります。

なお、ほとんどのユーザは上記のほとんどを実行できません (実際にはコントロールパネルのこのセクションが表示自体されません)。あなたは管理者権限を持っているため、上記の機能をすべて実行することができます。

組織

Liferay における組織は、実世界における組織をモデル化したものです。別個の企業や非営利団体、教会、学校、クラブなどを表すために使うことができます。各種スポーツ (サッカー、野球、バスケットボールなど) で言えば、スポーツリーグを表すために使われ、各チームが下部組織となります。あるユーザ群が同一の集団に所属しているのであれば、それを組織としてモデル化できます。

構築するサイトの種類に応じて、ポータル内に組織がひとつしかないこともあれば、複数存在することもあります。例えば、企業サイトではその会社内の組織構造を Liferay でモデル化することになりますし、ソーシャルネットワークサービスならサイトにアクセスするユーザはいくつもの別々の組織から来ているでしょう。組織は階層構造をとることができ、階層数には制限がありません。また、ユーザは複数の組織――同一階層内でも別の組織階層でも――のメンバとなることができます。

加えて、組織にはロールを関連付けることができます。企業向けの設定でこれを適用する例のひとつが、IT セキュリティグループです。組織内に、企業全体にわたってすべてのアプリケーションのセキュリティを取り扱う IT 組織が設置されていることがあります。こういった組織のメンバをユーザとして登録する場合に、さきほどあなたの ID に与えたのと同じ Administrator 権限をその組織に付与すれば、IT セキュリティ組織のメンバにポータルの管理者権限を与えたのと同じことになるのです。この組織のユーザが後で人事部に異動になったら、管理者としてはそのユーザを IT セキュリティ組織から人事部の組織に移してしまえばそのユーザからは管理者権限がなくなります。そのユーザが、Administrator ロールを持つ組織のメンバではなくなかったからです。ユーザを人事部に追加することにより、人事部の組織が持っているロール (収支管理システムへのアクセスなど) はユーザにも転送されます。こういったやり方で、既存の組織図に対応させてポータルを設計することができ、ユーザの権限は組織図上でのポジションを反映するようになります。

もちろん、これは設計方法のひとつでしかありません。もっと複雑な要件がある場合には、組織内にチームを設置してスコープ付きロールと結びつけ、特定のユーザに与えたい権限のセットを整備することもできます。

組織は、Liferay のリソースの中で、専用のページを持つことができる 2 種類のうちのひとつ (もうひとつはコミュニティ) です。これにより、組織のメンバは (ページの管理 (Manage Pages) 権限が付与されていれば) 専用ページを保守することができます。組織は、ゲストやその組織のメンバでないログインユーザに適切な情報やアプリケーション (例えば、IT ページのヘルプデスクチケット登録システム) を利用できるパブリックページを持つことができますし、組織内部で使うアプリケーション (例えば、同じチケット管理システムのバックエンドポートレット) を設置したプライベートページを持つこともできます。

組織を追加するには、コントロールパネル左側で「組織 (Organizations)」のリンクをクリックし、次に「追加 (Add)」ボタンをクリックします。

liferay-18.png
図 18: 組織の追加 (訳注: この図は新規追加時の画面ではなく、詳細編集時のもの)

名前: 組織の名前。

種類: ここで通常の組織か支部かを選択します。

親企業 (Parent Organization): 「選択 (Select)」のリンクをクリックするとウィンドウが立ち上がり、作成している組織の直接の親となる組織を、システム内にすでにある組織から選択できます。現在設定されている親を削除するには「削除 (Remove)」ボタンをクリックします。

(訳注: 日本語ロケールでは「親企業」と表示されますが、企業以外の組織でもこの項目を使って親組織を設定します。なお、Liferay 6.0.5 で確認したところ、「削除」ボタンは組織の新規作成時には表示されませんでした。間違えて選択した場合は、いったん作成をキャンセルするか、いったん保存してから編集画面を開くと削除できます)

liferay-tip.png Tip: 作成したのがあなたであるため、あなたはすでにその組織のメンバになっていることに注意してください。組織を作成すると、作成したユーザは組織のメンバになると同時に Organization Owner ロールが付きます。このロールはその四季に対するすべての権限を持ちます。

組織に関する情報を記入したら、「保存 (Save)」をクリックします。

前述のユーザ登録と同様に、フォームが再描画され、組織に関する情報をさらに入力することができます。組織には複数のメールアドレス、郵便物宛先、ウェブサイト、電話番号を関連付けることができます。「サービス (Services)」のリンクを使うと、組織の営業時間 (あれば) を指定することができます。

さて、「戻る (Back)」ボタンをクリックして、組織の一覧に戻りましょう。

新しく作成した組織の隣にある「操作 (Actions)」ボタンをクリックします。すると、その組織を運営するために行える各種操作が表示されます。

編集 (Edit): 組織を編集することができます。

ページの管理 (Manage Pages): 組織のパブリックページやプライベートページを作成・管理することができます。

チームの管理 (Manage Teams): 組織内にチームを作成し、ユーザと権限を割り当てることができます。

ユーザロールへの配属 (Assign User Roles): 組織スコープのロールをユーザに割り当てます。デフォルトでは、組織には 3 つのロールが用意されます。それは、Organization Administrator (組織管理者)、Organization Member (組織メンバ)、Organization Owner (組織オーナ) です。ひとつまたは複数のロールを組織内のユーザに割り当てることができます。組織のすべてのメンバは Organization Member ロールが付きます。

メンバの配属 (Assign Members): ポータル内のユーザを検索・選択し、この組織のメンバに割り当てるための画面が表示されます。

ユーザの追加 (Add User): この組織のメンバとなるユーザをポータルに追加します。

ユーザの参照 (View Users): この組織のメンバになっているユーザの一覧を表示します。

通常の組織の追加 (Add Regular Organization): この組織の子となる組織を追加します。これを使って、親子関係のある組織の階層を作成できます。

支部の追加 (Add Location): この組織の子となる支部を追加します。支部は、子を追加できない特殊な種類の組織です。

サブ組織の参照 (View Sub organizations): この組織の異なっている組織をすべて一覧表示します。

削除 (Delete): ポータルからこの組織を削除します。先に、この組織にユーザが残っていないか確認しておいてください。

コミュニティ

コミュニティは組織によく似ていますが、階層構造をとらない点が異なります。コミュニティの方は、任意の組織に所属している (あるいは組織にまったく所属していない) ユーザが所属できる、互いに独立した島のようなものとして設計されているのです。ですので、ポータル内の組織構造を横断する必要がある場合や、ほぼすべてのユーザに関係のあるサイトを作成したい場合に、コミュニティが使えます。

例えば、企業イントラネットで Liferay を実行している場合に、企業内の組織 (販売部、マーケティング部、プロダクトグループ、情報技術部、人事部など) にそれぞれサイトがあるとします。しかし、企業内の保健センターについてはどうでしょうか。社内の全員にとって――所属する組織に関わらず――関心を持って、参加したいと思う潜在的な可能性があります。このような場合が、ちょうどコミュニティの候補になります。同じ流れで、イントラネットのホームページは、ポータルのメンバ全員がアクセスできるコミュニティに設置するのが最適です。

他の種類のウェブサイトで考えると、共通の関心事のある人々をひとつにまとめるためにコミュニティを使いたいという場面もありえます。写真を共有するためのウェブサイトを Liferay の外に構築していたとして、人々が共有したい写真の種類に応じてコミュニティを作成することができます。すなわち、風景の写真を撮影して楽しんでいる人たちは「風景」コミュニティ、夕暮れの写真を撮影して楽しんでいる人たちは「夕暮れ」コミュニティ、といった具合です。そして、興味がなくなったらそのコミュニティから脱退することもできます。

Liferay のデフォルトのホームページは、デフォルトでは liferay.com という名前のコミュニティであり (名前は変更できます。下記の Tip 参照)、ここがポータルの公開ウェブサイトを設置する場所になっています。おわかりのとおり、組織ではなくコミュニティのようなものを使いたいという場面がいくつかあり、そのため Liferay Portal ではコミュニティに組織とはまた別の役割が与えられています。

liferay-tip.png Tip: 以前のバージョンの Liferay では、公開ページが置かれるデフォルトのコミュニティは、Guest という名前でした。Liferay 6 以降は、デフォルトの公開コミュニティは、ポータルの名前に応じて動的に名前が変わります。サイトの名前を変更すると、その都度このデフォルトのコミュニティの名前も変わります。名前は「ポータル (Portal)」→「設定 (Settings)」で設定できます。

コミュニティの作成・管理は 2 つの方法で行えます。ひとつはコントロールパネルを使うもので、Liferay で他のすべてのユーザ/ページ集合体を扱う場合と同様です。もうひとつは「マイコミュニティ(My Communities)」ポートレットを使うもので、このポートレットは Liferay 内の任意のページに追加できます。なぜ 2 つも方法があるのでしょうか。それは、「マイコミュニティ」ポートレットにはコミュニティ間を移動する方法を増やすという役割もあるためで、また、ユーザはこのポートレットを使ってコミュニティの一覧を閲覧し、どのコミュニティに参加したいかを選択することができます (コミュニティが「オープン」または「制限付き」の場合)。これでポータル管理者からユーザに対して、コントロールパネルにアクセスできなくても以上のような機能を提供できるわけです。

コミュニティを追加するには、コントロールパネル左側で「ポータル (Portal)」セクションにある「コミュニティ (Communities)」のリンクをクリックし、次に「追加 (Add)」ボタンをクリックします。

名前 (Name): 作成したいコミュニティの名前を入力します。

説明 (Description): コミュニティに関する何らかの説明文を入力します。

種類 (Type): コミュニティには「オープン (Open)」「制限付き (Restricted)」「プライベート (Private)」の 3 種類があります。オープンなコミュニティは「マイコミュニティ」ポートレットに表示され、ユーザは好きな時にコミュニティに対する参加・脱退を行えます。制限付きのコミュニティも同様ですが、ユーザは参加を依頼することしかできない点が異なります。コミュニティ管理者はユーザの参加希望を明示的に許可するか、拒否するかしなければなりません。プライベートなコミュニティは「マイコミュニティ」ポートレットに表示されず、ユーザはコミュニティ管理者が手動で追加しなければなりません。

アクティブ (Active): コミュニティはアクティブまたは非アクティブのいずれかの状態をとることができます。コミュニティが非アクティブの場合、データを追加することができません。

タグ (Tags): コミュニティに対して Liferay のタグ付け機構を使用できます。これはそのコミュニティがポータル内で具体的で限定的な目的を持つ場合に便利です。

コミュニティの作成を終えると、コントロールパネルのコミュニティ一覧に表示されるようになります。コミュニティに対して実施できる操作は、組織に対して実施できる操作と非常に近いものです。

編集 (Edit): コミュニティを編集できます。

ページの管理 (Manage Pages): コミュニティのパブリックページ、プライベートページを作成・管理できます。

チームの管理 (Manage Teams): コミュニティ内のチームを作成・管理できます。

ユーザロールへの配属 (Assign User Roles): コミュニティスコープのロールをユーザに割り当てることができます。デフォルトでは、Community Administrator (コミュニティ管理者)、Community Member (コミュニティメンバ)、Community Owner (コミュニティオーナ) という 3 つのロールが作成されています。これらのロールのうち 1 つ以上を、コミュニティ内のユーザに割り当てることができます。コミュニティ内のすべてのメンバは Community Member ロールが付きます。

メンバの配属 (Assign Members): ポータル内のユーザを検索・選択し、このコミュニティのメンバに割り当てるための画面が表示されます。

参加/離脱 (Join/Leave): あなたがそのコミュニティのメンバでない場合、「参加 (Join)」または「参加要請 (Request Membership)」の選択肢が利用できます。そのコミュニティのメンバである場合は、コミュニティを脱退するための選択肢が表示されます。

削除 (Delete): ポータルに対する管理者権限があるユーザか、そのコミュニティのオーナであるユーザは、コミュニティを削除できます。

サイトテンプレート

コミュニティについて取り上げているので、サイトテンプレートについても説明しておく必要があるでしょう。サイトテンプレート (Site Templates) は、コントロールパネルの「ポータル (Portal)」カテゴリで、コミュニティからいくつか下の段にあります。この機能を使うと、あらかじめ定義されたテンプレートから選択するかたちでコミュニティ内のウェブサイトを作成できるので、時間を短縮できます。どういうことかというと、あらかじめページやポートレットを定義したテンプレートコミュニティを作成しておき、そのテンプレートを使って、ページやポートレットがあらかじめ用意されたコミュニティを、いくつでも非常にすばやく作成できるのです。

liferay-19.png
図 19: サイトテンプレート

オープン、制限付き、プライベートの各コミュニティについてテンプレートを作成できます。さらに、すべての種類のコミュニティに適用できるデフォルトのテンプレートを作成することもできます。ここでは例として、学生のコミュニティ用にテンプレートを設計してみましょう。

コントロールパネルに移動して、「サイトテンプレート (Site Templates)」をクリックします。「追加 (Add)」ボタンをクリックし、「Student Template」というサイトテンプレートを作成してください。このテンプレートは「アクティブ (Active)」にします。ここで「サイトテンプレートを開く (Open Site Template)」のリンクを選択して、コンテンツやページ、ポートレットの追加と、レイアウトの設定を始めましょう。これのやり方については次の章で詳しく説明します。終わったら、「サイトテンプレート」ポートレットに戻って「保存 (Save)」を選択します。

新しいテンプレートをベースにしてコミュニティを作成するには、コントロールパネルに移動して「コミュニティ (Communities)」をクリックします。「追加 (Add)」ボタンをクリックして「Freshmen」というコミュニティを作成してください。「パブリックページ (Public Pages)」のドロップダウンメニューで「Student Template」を選択して、「保存 (Save)」をクリックします。新しく作成したコミュニティには、テンプレートで作成しておいたページ、コンテンツ、ポートレットがすべて設置されています。この機能により、管理者のコミュニティ作成作業が簡素化され、非常に簡単にすばやくコミュニティを作成できるようになっています。

ユーザグループ

ユーザグループとは、ユーザを任意にグルーピングしたものです。ユーザグループは、組織・コミュニティに関する属性や側面にはそれらしい共通点のないようなユーザを、ポータル管理者がグルーピングするために作成します。ユーザグループにはロールなどの権限を持たせることはできませんが、ユーザグループをロールに追加することができます。そうだとして、ユーザグループは何のために使うものなのでしょうか。ユーザグループは、複雑なセキュリティ要件がある場合や、ページテンプレートに関連して役割を持ちます。これについては後で見ていくことにします。

ユーザグループの作成は簡単です。「ユーザグループ (User Groups)」のリンクをクリックして、「追加 (Add)」ボタンをクリックします。記入するフィールドは、名前 (Name: ユーザグループの名前) と説明 (Description: グループの目的に関する説明。省略可) の 2 つだけです。「保存 (Save)」をクリックするとグループの一覧に戻ります。

(訳注: Liferay 6.0.5 で確認したところ、他にも「パブリックページ」「プライベートページ」のプルダウンがあり、サイトテンプレートを選択できるようになっていました)

ポータル内の他のリソースと同様に、「操作 (Actions)」ボタンをクリックするとユーザグループに対する各種操作を実施できます。

編集 (Edit): ユーザグループの名前と説明を修正できます。

権限設定 (Permissions): このユーザグループに対する編集を行えるユーザ、ユーザグループ、ロールを指定できます。

ページの管理 (Manage Pages): ユーザグループ自体はページを持ちませんが、グループ用にページテンプレートを作成することができます。ユーザグループにページテンプレートがある場合、そのグループにユーザが追加されると、グループのページが各ユーザの個人ページにコピーされます。これにより、例えば「ブロガー」のユーザグループを作成し、ページに「ブログ」および「最近のブロガ」ポートレットを設置しておくといったことができます。このグループに初めて追加されたユーザがポータルにログインした際、ページがユーザの個人ページにコピーされます。これでユーザは自動的に自分用のブログページを持つことができたわけです。

メンバの配属 (Assign Members): ポータル内のユーザを検索・選択し、このユーザグループのメンバに割り当てるための画面が表示されます。

ユーザの参照 (View Users): ユーザグループ内のユーザを表示することができます。

削除 (Delete): ユーザグループを削除します。

ユーザグループとページテンプレート

Liferay では、ユーザが自分用にパブリックページやプライベートページを持ち、各ユーザが自分でカスタマイズできるようになっています。これらのページのデフォルトの設定はポータル管理者が portal-ext.properties で決めることができます。あるいは、LAR ファイルに設定ファイルを入れることでも可能です。これは Liferay で長い間使われてきた機能ではありますが、柔軟さや使いやすさといった意味では不十分でした。

Liferay バージョン 5.1 でページテンプレートという概念が導入され、ユーザグループに紐付けられることになりました。これによって管理者は、プロパティファイルではなく Liferay の GUI を使って、ユーザ全員 (または一部のみ) の個人ページについて同様の設定を行えるようになったのです。場合によっては、ユーザごとにそれぞれのプロファイルに応じて別々の設定を用意したいということもあります。例えば、大学のポータルでは、学生、職員、卒業生のどれに該当するかによって、個人用スペースにデフォルトで用意されるページやポートレットは異なるでしょう。望みどおりのデフォルト設定を作成するために別々のグループをひとつにまとめるよう設定することもできます。ユーザがユーザグループに割り当てられると、設定されたページテンプレートはユーザの個人ページに直接コピーされます。

ユーザグループのページテンプレート: ユーザグループのページテンプレートを指定する

ユーザグループのページテンプレはコントロールパネルを使って管理できます。「ユーザグループ (User Groups)」のリンクを選択すると既存のユーザグループが一覧表示され、それぞれに対していくつかの操作を実施できます。

liferay-20.png
図 20: ユーザグループの「ページの管理」の操作

「ページの管理 (Manage Pages)」の操作を選択すると、管理者はふつうの Liferay UI を利用して、ページを作成したり階層構成を変更したりすることができます。

liferay-21.png
図 21: ページテンプレートの追加

なお、パブリックページとプライベートページの両方を作成することが可能です。どちらを作成したかに応じて、ユーザがそのユーザグループのメンバになった際に、ユーザ個人のパブリックページまたはプライベートページへそれぞれコピーされます。

上のスクリーンショットでは、管理者が Students ユーザグループ内に "You are a student" というプライベートページを新しく作成しました。作成されたページはポートレットページなので、管理者はここで「ページの参照 (View Pages)」ボタンをクリックしてそのページを開き、追加したいポートレットをそのページに追加したり、必要に応じて設定を行うことができます。この例では、「ローン計算」と「カレンダー」のポートレットが選択されたものとして話を進めます。

ユーザグループにメンバを割り当ててページテンプレートを適用する

次のステップは、既存のユーザをそのグループに割り当てて、ページテンプレートがユーザのプライベートページにコピーされることを検証することです。これを行うには、「操作 (Actions)」をクリックし、ユーザグループに対して利用できる操作の一覧から「メンバの配属 (Assign Members)」を選択します。

liferay-22.png
図 22: ユーザグループへのメンバの割り当て

次の画面で「設定の追加 (Available)」タブをクリックすると、追加できるユーザの一覧が表示されます。この一覧から、1 人以上のユーザを選択してユーザグループのメンバにすることができます。「配属の更新 (Update Associations)」ボタンをクリックすると、ユーザがグループのメンバになり、ユーザグループに対して設定されていたパブリックページやプライベートページのテンプレートを複製したものが、各ユーザのページセットにコピーされます。

前述の例では、すでに "Welcome" という既存のページを持っていたユーザが、自分の個人スペースに次回アクセスした際、今度は "You are a student" という新しいページも持つようになります。ページには、ユーザグループの管理者が設定したとおり、「ローン計算」と「カレンダー」のポートレットが配置されているはずです。

その他の詳細

ページはユーザのページセットにコピーされるため、そのページはユーザが所有者となり、ポータルでユーザに個人ページの編集を許可するよう設定されていれば、ユーザがいつでも変更できます。ユーザがユーザグループから削除されても、関連するページは削除されません。すでにそのユーザのページになっているからです。このシステムは十分にスマートとはいえませんが、ユーザが以前参加していたユーザグループに再度追加された場合、ページが再度追加されることはありません。

liferay-23.png
図 23: ユーザのページセットにコピーされたテンプレート

ユーザがすでにグループに追加された後で管理者がそのユーザグループのページテンプレートを修正した場合、ユーザグループに新たに割り当てられたユーザには変更後の内容が使用されます。しかし、ページはテンプレートなので、すでにユーザグループのメンバだったユーザには変更内容が適用されません。

複数のユーザグループのページを結合する

ユーザはユーザグループにいくつも所属することができます。多数のグループにテンプレートが定義してあると、それによって大量のページテンプレートがユーザのページにコピーされることになります。これを防ぐため、別々のユーザグループからコピーされるページを結合してひとつのページにすることができます。

前述の例を拡張して、Students を First Year Students、Second Year Students、Third Year Students、Third Year Students、International Students、Prospective Students に分割しましょう。学生の種類それぞれに対して、「ローン計算」と「カレンダー」のあるページを用意します。また、そのページには他にも、種類に応じて別のポートレットも置いておきます。

これは、ページに対して命名規則を使用することで行えます。異なるユーザグループに同じ名前のページが 2 つ以上ある場合、ユーザの個人ページセットにコピーされる際に結合されてひとつのページになります。

上記の例では、ユーザが Students グループに追加され、このグループには You are a Student というページがありました。管理者が First Year Students グループにも同じ名前 (You are a Student) のページテンプレートを作成して、学生に関係する情報を表示するようにした RSS ポートレットを置くと、そのページは Students グループの You are a Student ページと結合され、最終的には両方のユーザグループで設定されていたポートレットを含むかたちになります。

liferay-24.png
図 24: 結合されたポートレットページ

ページ結合の規則

別々のユーザグループのページを結合してひとつのページを構成する際は、以下の規則が使用されます。

  • ユーザがユーザグループのメンバになり、そこに自分が既に持っているページと同じページセット (パブリックまたはプライベート) で同名のページテンプレートがあった場合、ページは結合されます。
  • ページの名前が複数の言語に翻訳されている場合、比較にあたってはデフォルトの言語のみが考慮されます。
  • 新しい方のページのポートレットが、既存のページの同じ列の下部に追加されます。
  • 既存のページと新しい方のページでレイアウトテンプレートが異なる場合、既存のページのテンプレートが残ります。
  • 新しい方のレイアウトテンプレートで、既存のページにはない列にポートレットがある場合、該当するポートレットは自動的に既存のレイアウトテンプレートの 1 列目にコピーされます。

お気づきのとおり、ポータルユーザのデフォルトのページに対して非常に柔軟な設定を行うことが可能です。さらに言えば、設定は管理者の使い慣れている UI でいつでも変更でき、ユーザを新しいユーザグループに割り当てることができます。

ここで挙げた例はある種単純なものですが、このシステムではユーザグループがいくつあっても対処できます。ページ名を合わせる際の規則を使って、ユーザに見せたいようにデフォルトのページ構成を構築することができるのです。

ロール

ロールとは、ポータル内の特定の役割を共有するユーザをグルーピングしたものです。ロールにはポートレットアプリケーションの各種機能について権限を付与することができます。ロールは、例えば「掲示板管理者」といった、役割を説明したものだと考えてみてください。「掲示板管理者」という名前のロールであれば、「掲示板 (Message Board)」ポートレットの機能について権限が委任されているでしょう。このロールに配置されたユーザは、そういった権限を受け継ぐことになります。

ロールは、スコープ (適用範囲) がポータル、組織、コミュニティのいずれかになります。コントロールパネルを使って簡単に、ユーザをロールに割り当てたり、ロールに権限を割り当てたりすることができます。その場所はたったひとつ、「ロール (Roles)」のリンクです。ここで単独のインタフェースを使って、ポータル、組織、コミュニティのいずれかに適用されるロールを追加することができます。

ロールを作成するには、「ロール」リンクをクリックし、次に「追加 (Add)」ボタンをクリックします。ロールの名前と、必要であれば説明を入力します。フォーム下部のドロップダウンボックスで、ロールの種類を「通常 (Regular)」「コミュニティ (Community)」「組織 (Organization)」から選択できます。終わったら「保存 (Save)」をクリックします。

画面はロールの一覧に戻ります。新しく作成したロールでどんな機能が実行できるかを調べるには、「操作 (Actions)」ボタンをクリックします。

編集 (Edit): ロールを編集するにはこの操作をクリックします。名前と説明を変更できます。

権限設定 (Permissions) : これを使うと、どのユーザ、ユーザグループ、ロールがこのロールを編集する権限を持つかを定義できます。

権限の定義 (Define Permissions): これをクリックすると、このロールが持つ権限を定義できます。次の節で説明します。

メンバの配属 (Assign Members): ポータル内のユーザを検索・選択し、このロールに割り当てるための画面が表示されます。割り当てられたユーザは、このロールに付けられた権限をすべて継承します。

ユーザの参照 (View Users): このロールに割り当てられているユーザを表示します。

削除 (Delete): ロールを削除します。

ロールの権限を定義する

ロールは、そのメンバであるユーザに対して権限を付与するための器として存在します。ですから、管理者がロールについて行う主な作業のひとつは、ロールのメンバに持たせたい権限を、そのロールに付与することです。

liferay-25.png
図 25: ロールの権限を定義する

スコープが「ポータル」のロールで「権限の定義」の操作をクリックした場合、「ポータル (Portal)」「コンテンツ (Content)」「アプリケーション (Applications)」という4 種類の権限から選択して、そのロールで定義することができます。他の種類のロールでは、個別のポートレットにある「権限設定 (Permissions)」のリンクを使って、そのポートレットが置かれているコミュニティまたは組織での権限を割り当てる必要があります。

ポータルの権限は、コミュニティ、支部、組織、パスワードポリシーといったいくつかのカテゴリに渡る、ポータル全体に関わる動作を扱うものです。これにより、例えば「ポータル内でコミュニティを新規作成する」といったことのできるロールを作成することができます。ですから、ユーザを正式なポータル管理者にしなくても、特定の権限だけをユーザに付与することが可能です。

コンテンツの権限は、インストールされたポートレットが作成するコンテンツを扱うものです。表示されるポートレットの一覧からひとつ選択すると、そのコンテンツに関して権限を定義するための選択肢が表示されます。例えば、「掲示板 (Message Boards)」を選択すると、カテゴリやスレッドの作成、トピックの削除や移動といった動作に対する権限が表示されます。

アプリケーションの権限は、そのアプリケーション全体に影響します。引き続き「掲示板」の例で説明すると、アプリケーションの権限によって、誰が「掲示板」をページに追加できるかを定義することができます。

コントロールパネルの権限は、ポートレットがコントロールパネルでどのようにユーザに表示されるかに影響します。コントロールパネルのポートレットの中には「設定」ボタンを持つものがありますが、誰に対してそのボタンが表示されるか、さらには誰に対してそのアプリケーションがコントロールパネルで表示されるかを定義できます。

liferay-26.png
図 26: 掲示板のコンテンツ権限

権限を付与できる動作が一覧表示されます。権限を付与するには、権限を選択します。権限のスコープをコミュニティや組織に限定したい場合は、「スコープを限定 (Limit Scope)」のリンクをクリックし、スコープとして指定したいコミュニティまたは組織を選択します。

ロールに対して付与する権限を選択したら、「保存 (Save)」をクリックします。「掲示板管理者」のロールでは、コンテンツの権限として一覧表示されている動作すべてに対して権限を付与するのがよいでしょう。「保存」をクリックすると、このロールに現在付与されている権限がすべて一覧表示されます。ここでさらに権限を追加することもできますし、パンくずリストのリンクか「元のページに戻る (Return to Full Page)」のリンクをクリックして戻ることもできます (訳注: Liferay 6.0.5 では、「保存」ボタンをクリックした直後には、「元のページに戻る」のリンクは表示されていないようです)。

ロールは非常に強力であり、ポータル管理者は様々な権限を好きに組み合わせて定義できます。これによって、設計したサイトを構築するのが非常に柔軟に行えるようになっています。

Power User ロールに関する注記

デフォルトでは、Liferay に含まれているポートレットの中に、Power User がアクセス可能で、通常のユーザはアクセスできないものが多数あります。Power Users ロールをユーザのデフォルトの関連付けから削除する場合、該当するポートレットについては権限を修正する必要があります。これを行う方法については、後述の「プラグインの設定」の節を参照してください。

チーム

チームはコミュニティや組織の内部でユーザをグルーピングするものであるため、コントロールパネルにリンクとしては表示されません。チームというものが存在しているのは、コミュニティや組織の内部で、そのコミュニティや組織に対してのみ影響する権限の器を作成する必要が生じることがあるためです。そういった時に、チームを作成するのです。チームは、作成されたコミュニティや組織の一部となります。あるコミュニティでチームを作成したなら、そのチームは他のコミュニティでは利用できません。これは、ある特定の一時的な機能について人や権限の特定の組み合わせを作成したい場合に有益です。

コミュニティ内でのチームの作成は簡単です。「コントロールパネル」→「コミュニティの管理」を開き、「操作 (Actions)」→「チームの管理 (Manage Teams)」を選択します。

liferay-27.png
図 27: チームに権限を割り当てる

「チームの追加 (Add Team)」ボタンを選択し、名前を入力して説明を追加します。終わったら「保存 (Save)」をクリックします。新しく作成したチームが一覧に表示されます。メンバを追加するには、「操作 (Actions)」→「メンバの配属 (Assign Members)」をクリックするだけです。以上で無事にチームが作成できました。

組織内でチームを作成する場合も同様に簡単です。「コントロールパネル」→「組織」を開き、一覧から組織を選んで、「操作 (Actions)」→「チームの管理 (Manage Teams)」を選択し、コミュニティの場合と同様の操作を行います。

チームに対する権限の管理者、個々のポートレットレベルで、各ポートレット自体の「権限設定 (Permission)」ボタンを使って行われます。そのため、コントロールパネルで必要なオプションすべてについて権限を持っていないユーザであっても、チームを使って権限を管理することが可能になっています。

チームに対して特定のポートレット機能へのアクセスを与えるには、ページに配置されているポートレットの設定メニューを開き、「権限設定 (Permissions)」タブをクリックして、チームに割り当てたい権限に対応するボックスにチェックを入れた後、「保存 (Save)」をクリックします。