5
4

More than 5 years have passed since last update.

Liferay 7 / DXP ポートレット自動生成ツール、Damascus

Last updated at Posted at 2017-06-14

Damascusとは?

Damascus(ダマスカス)は、設定ファイルをベースに、Liferay DXP / 7.0用のCRUD機能を備えたポートレットを自動生成するツールです。これによりCRUD以外にも、以下の機能を自動生成してくれるので、開発時間の短縮に役立つツールです。

コード
https://github.com/yasuflatland-lf/damascus

ドキュメント
https://damascusweb.wedeploy.io/

Ruby on Rails, CakePHPなどの多言語のWebフレームワークでは、簡単なコマンドでCRUD機能を備えたスケルトンを生成する機能があります。Liferayは権限管理から検索、ワークフローなどをフレームワークが提供していますが、それを実際に自作するポートレットにどう組み込むかなどは、Liferayに詳しくないユーザーにとっては実装に時間がかかり、Liferay経験豊かなユーザーにとっても、繰り返し同じことを実装する時間がかかります。

実際自分がLiferayを使って仕事をしていく中で、他のSIerさんたちも直面していた問題を解決することを目指しています。

自動生成する機能

  • CRUD機能
    • CRUD用のモデル操作用API (*LocalService)と、入力・編集画面(jsp)
    • ドキュメント&ライブラリにデータを保存するためのフィールドも生成。
  • ワークフロー
  • ゴミ箱
  • 検索(Indexer自動生成)
  • コメント機能
  • 関連するアセット
  • レーティング
  • アクティビティ(アクティビティポートレットに表示される内容の制御)
  • 複数モデルに対して一括でポートレット・サービスを生成

環境要件

  • JDK 1.8 以上
  • Gradle 3.0以上がインストールされていること
  • JPMがインストールされていること(以下のインストール手順でインストール方法を説明)

インストール方法

Mac
bash
curl https://raw.githubusercontent.com/yasuflatland-lf/damascus/master/installers/global | sudo sh

Windows
1. JPM をインストール
2. 以下のようにJPMを利用して、damascus.jar をインストール。 jpm install https://github.com/yasuflatland-lf/damascus/raw/master/latest/damascus.jar

使い方

ここでは簡単に、Damascusを使ってTodoポートレットを作成してみましょう。
1. Liferay IDE / Developer Studioか、Bladeツールを利用して、Liferay Workspaceを作成してください。Liferay Workspaceの作成方法、Bladeツールなどのツールの使い方は以下を参照してください。
https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/blade-cli
2. Liferay workspaceを作成した後、modules フォルダに移動し、 damascus -init Todo -p com.liferay.sb.test -v 70を実行してください。
3. するとTodo フォルダが生成されるので、Todoフォルダに移動すると、設定ファイルのbase.jsonが生成されています。詳細な設定方法に関しては、https://github.com/yasuflatland-lf/damascus/wiki
を確認してください。ここではデフォルトのままで進めます。
4. Todoフォルダ内で、 damascus -create を実行します。すると-service、-api、*-webが自動生成されます。
5. Liferayサーバーを起動し、Todoフォルダ内でblade deployを実行すると、立ちあがったLiferayサーバーに対してデプロイされ、管理者でログイン後、右ペインからTodo-portletが配置できるようになります。

詳細な設定ファイルの設定方法や、使い方は公式サイト公式サイトのWikiを参照してください。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4