SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Liferay 6.2を使ったWebコンテンツの作り方

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を、今回作成したカスタムポートレットに自動的に結びつけています。

Todoポートレット編集画面
Todoポートレット編集画面

 また、Workflow機能も追加しているので、コントロールパネル画面の一番右、「Configuration」の一番下にあるWorkflowを見てみると、

コントロールパネルのワークフロー設定画面
コントロールパネルのワークフロー設定画面

 このように、Liferayにおけるポートレット製作のベストプラクティスを自動的に生成してくれるので、初めてLiferayに触る人でも、Javaの基礎的な知識があれば、「これどうやるんだっけ?」といちいち迷うことなく、素早く開発をスタートすることができます。

まとめ

 Ruby on Railsのように、すべてコマンドラインで簡単にモデルを作成、とまではいきませんが、XMLをベースにして、モデル(テーブル)ごとにCRUD機能を持ったポートレットを生成することができます。

 また、それらポートレットにLiferayコアの機能、Workflow,レーティング、タグ、Related Assetsなどの機能を簡単に付加できることも見ることができました。

 開発者であるJuan Gonzalezにそうした複雑なリレーションにも対応していく予定はあるのか聞いてみたところ、モデルごとにポートレットを作成する、現在のような軽量なツールにしておきたいとのことでした。

 ただ、これだけ骨組みを自動的に生成してくれるのであれば、開発工数の削減につながるのは間違いないかと思います。数百万のユーザー数、数千のサイト数のポータル管理に実際に使われているLiferayですが、この機会に一度触ってみてはどうでしょうか。そのパワフルさを実感できるかと思います。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Liferay 6.2を使ったWebコンテンツの作り方連載記事一覧

もっと読む

この記事の著者

竹生 泰之(日本ライフレイ株式会社)(タケオ ヤスユキ)

日本ライフレイ勤務。官公庁向け制御系システム開発、複合機のユーザーインターフェース開発、CRMのWebアプリケーションエンジニアを経て、現在はWebポータル/イントラネットのオープンソースアプリケーション、Liferayのコミュニティマネージャ/コンサルタントとして活動中。BMX(バイシクルモトクロス、20インチのレース/トリック用自転車)のフラットランド全日本選手権、King of Groundを1998年から運営し、BMX専門誌、Encounter Magazineの編集長も務め、撮影、執筆、翻訳、DTP全てを自ら手掛けるなど、プライベートでもマルチに動いている。・日本ライフレイユーザー会ライフレイ

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8459 2015/02/17 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー