Tuesday, August 11, 2015

Liferayのパーソナライゼーションについて

ナクラです。
ひさびさにブログを書く事になりました。
いつまで続けられるか分かりませんが
今後は力の限り、Liferayの機能を紹介していきたいと思います。

さて、今回のトピックは「パーソナライゼーション」です。
Wikipediaなどを参考にすると、「パーソナライゼーション」とは、個人向けにカスタマイズを行うことを指すようです。
ポータルの概念で捉えると、「ポータルにアクセスしたユーザ毎に、表示する内容をそのユーザ向けに変更すること」になります。
Liferayでもいろいろな形でパーソナライズを行うための機能が用意されています。


能動的パーソナライズと受動的パーソナライズ

Liferayのパーソナライゼーション機能について見ていく前に、2つのパーソナライズ方針について整理しておきましょう。
これを仮に「能動的パーソナライズ」と「受動的パーソナライズ」と呼ぶ事にします。
「能動的パーソナライズ」の定義は「ユーザ自身が自分で、表示する内容を変更すること」です。例としては、個人のブログサイトが分かりやすいでしょう。ユーザがブログサイト上で自分でブログを書いたり、ページのレイアウトを変更したり、バナーを貼ったりといったことを行います。
 「受動的カスタマイズ」の定義は「ユーザの属性情報を元に自動で表示する内容を変更すること」です。
この例としては、会員制キャンペーンサイトなどがあります。
サイトにログインした会員に対して、会員の持っているポイント情報や、最近購入した商品、おすすめの商品など個別のユーザごとに表示するコンテンツが変わってくるものになります。

それでは、Liferay上でこれらのパーソナライズの機能をどのように実現しているのか見ていきましょう。

Liferayの能動的パーソナライズ

Liferayでは能動的パーソナライズとして2つの機能が用意されています。
1つ目は、個人用サイトの機能です。
ユーザを作成した際に、ユーザ自身が管理者となった「プロフィール」という名前の公開サイトと「ダッシュボード」という名前の非公開サイトが自動的に作成されます。
この個人用サイトではユーザがページやページの要素を設定できるため、非常に高い自由度があります。
Liferayにログインすると、自分の名前が表示されています。
その部分をクリックすると「プロフィール」と「ダッシュボード」が表示されます。
クリックすると、それぞれ個人用のサイトが表示されます。

個人用のサイトが表示されたら、その上で自由にポートレットを配置したり、コンテンツを表示したりできるようになります。

2つ目は、ページのカスタマイズ機能です。Liferayではページを作成する際に、ポートレットをページの上に配置していくのですが、それはページのレイアウトに従って配置されます。
以下の図は2列のレイアウトを表しています。

Liferayではデフォルトで様々なレイアウトが用意されていて、3列のレイアウトや1段目を1列、2段目を2列にするといったレイアウトなども用意されています。
ページのカスタマイズ機能はこのレイアウトの一部だけを、ユーザに解放し、そこだけは、ユーザが自由にポートレットを配置できるようにします。
カスタマイズの設定はまず サイトの管理権限のあるユーザでカスタマイズ設定したいサイトのページにアクセスして、画面上部のドックバーから「システム管理」➡「ページの編集」をクリックします。


ページの管理画面が表示されるので、カスタマイズ設定をするページをクリックします。
ここではHomeのページを選択します。右側のメニューでページ毎に設定できる項目が表示されるので、その中にある「カスタマイズの設定」メニューをクリックします。そうすると以下のようなカスタマイズ設定の画面が表示されます。
 ユーザにカスタマイズを解放したいレイアウトのエリアのチェックボックスにチェックを入れて保存します。


これで、Homeページを表示すると、カスタマイズを解放したレイアウトはユーザが自由にポートレットの追加や削除が可能になりますが、レイアウトを解放していない部分は固定になります。




Liferayの受動的パーソナライズ

Liferayでは受動的パーソナライズとして、アクセス権限管理機能が使えます。
ポータルの一般的な機能として、ユーザの持つ権限によって、ポートレットやコンテンツに対してのアクセス権の設定が行えるので、これを利用してページに配置したポートレットを見せたり、見せなくしたりできます。この機能はユーザ毎に設定するわけではないので厳密に言うとパーソナライゼーションとは外れるのですが、サイトコンテンツの表示を見せたり、見せなくする方法としてはよく使われる方法です。
本格的に受動的パーソナライズを行うにはルールエンジンと連携します。LiferayはDroolsといったルールエンジンと連携するプラグインが提供されています。(このプラグインはエンタープライズエディション専用のプラグインとなっています。)
ルールエンジンを活用すれば、アクセス管理で行うよりも柔軟な形のパーソナライゼーションが可能となります。
例えば、ユーザの住所の情報から、近くの地域で行われているイベントを抽出して表示するようなことが可能になります。
ルールエンジンとの連携については、また将来のブログで紹介させていただければと思います。

以上で、簡単ではありますが、Liferay で実現されているパーソナライゼーションについて見てきました。
ポータル製品の性格上、一般的なCMSに比べてパーソナライゼーションについての機能は充実しているのがお分かりいただけたかと存じます。
これらの機能を活用して、ダイナミックで魅力のあるサイトを構築してください。

それでは、また次回のLiferay紹介でお会いしましょう!

No comments:

Post a Comment