Liferayポータルと、XML Portlet Factoryを使ってCRUDを備えたポートレットを自動生成する
Liferay 6.2を使ったWebコンテンツの作り方 第4回
ダウンロード sources.zip (5.9 KB)
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ですが、この機会に一度触ってみてはどうでしょうか。そのパワフルさを実感できるかと思います。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Liferay 6.2を使ったWebコンテンツの作り方連載記事一覧
-
- Liferayポータルと、XML Portlet Factoryを使ってCRUDを備えたポ...
- オープンソースのWebポータル、Liferayをモバイルサービスのバックエンドとして使う
- Liferayの標準機能を使った検索機能の実装
- この記事の著者
-
竹生 泰之(日本ライフレイ株式会社)(タケオ ヤスユキ)
日本ライフレイ勤務。官公庁向け制御系システム開発、複合機のユーザーインターフェース開発、CRMのWebアプリケーションエンジニアを経て、現在はWebポータル/イントラネットのオープンソースアプリケーション、Liferayのコミュニティマネージャ/コンサルタントとして活動中。BMX(バイシクルモトクロス、20インチのレース/トリック用自転車)のフラットランド全日本選手権、King of Groundを1998年から運営し、BMX専門誌、Encounter Magazineの編集長も務め、撮影、執筆、翻訳、DTP全てを自ら手掛けるなど、プライベートでもマルチに動いている。・日本ライフレイユーザー会・ライフレイ
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア





