Liferayの起動
第1回の記事『Webアプリケーションフレームワーク「Liferay」のWebコンテンツ作成機能』で紹介しているので、詳しい起動方法はこちらを参照してください。
それに従い、インストールディレクトリ直下の
tomcat-7.0.42/bin
に移動し、
./startup.sh run
でLiferayを起動します。
ポートレットをデプロイ
まずはIDEで、デプロイ先を指定する必要があります。Todo.xmlが存在するディレクトリは
liferay-plugins-sdk-6.2/XMLPortletFactory/Todo-xmlportletfactory
のように、SDKディレクトリ、XMLPortletFactoryのディレクトリ以下になっていると思いますが、liferay-plugins-sdk-6.2直下に
build.ユーザー名.properties
を作成し、その中にLiferayインストールディレクトリまでのフルパスを記述します。例えばユーザー名がtakeoであれば、build.takeo.propertiesとなり、ファイルの中身は
app.server.parent.dir=/Users/takeo/project/62ce
のような感じになるかと思います。次に、再び
Todo.xml
が存在するディレクトリ、Todo-xmlportletfactoryに移動し、
ant
と入力、実行すると、Liferay SDK(本編ではliferay-plugins-sdk-6.2)のPortletのディレクトリの下に
Todo-portlet
として自動的にService Builderの雛形が生成され、それをベースにPortletが生成されます。また、生成されたPortletが自動的に、build.ユーザー名.propertiesに指定したLiferayインスタンスに対してデプロイされます。
IDEに生成したポートレットのプロジェクトをインポート
Lieray IDEのパッケージエクスプローラーから、importを選択し、Liferay Projects from Plugins SDKを選びます。
すると、
とダイアログが表示されるので、Liferay Plugins SDKでliferay-plugins-sdk-6.2を選択し、「Project to import」に表示されるTodo Portletを選択して、Finishボタンを押下し、importしてください。すると、Package Exploreにimportされたプロジェクトが表示されるはずです。
動作の確認
管理者としてLiferayにログインして、画面左のプラスボタンを押下して、サイドメニューを開くと、Applicationsの中に今追加したTodoポートレットが選択できるようになっているはずです。これをドラッグアンドドロップで画面に配置してみましょう。
項目の追加、削除、編集、検索をしてみましょう。どうでしょうか? 何もコーディングしていないですが、それぞれの機能が正しく動作するはずです。
編集画面を開くと、下の方にTags, Related assets、レーティング、コメントが追加できるようになっているのがお分かりになるかと思います。これはLiferayのAssetを、今回作成したカスタムポートレットに自動的に結びつけています。
また、Workflow機能も追加しているので、コントロールパネル画面の一番右、「Configuration」の一番下にあるWorkflowを見てみると、
このように、Liferayにおけるポートレット製作のベストプラクティスを自動的に生成してくれるので、初めてLiferayに触る人でも、Javaの基礎的な知識があれば、「これどうやるんだっけ?」といちいち迷うことなく、素早く開発をスタートすることができます。
まとめ
Ruby on Railsのように、すべてコマンドラインで簡単にモデルを作成、とまではいきませんが、XMLをベースにして、モデル(テーブル)ごとにCRUD機能を持ったポートレットを生成することができます。
また、それらポートレットにLiferayコアの機能、Workflow,レーティング、タグ、Related Assetsなどの機能を簡単に付加できることも見ることができました。
開発者であるJuan Gonzalezにそうした複雑なリレーションにも対応していく予定はあるのか聞いてみたところ、モデルごとにポートレットを作成する、現在のような軽量なツールにしておきたいとのことでした。
ただ、これだけ骨組みを自動的に生成してくれるのであれば、開発工数の削減につながるのは間違いないかと思います。数百万のユーザー数、数千のサイト数のポータル管理に実際に使われているLiferayですが、この機会に一度触ってみてはどうでしょうか。そのパワフルさを実感できるかと思います。





