Contributing to Liferay Development
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Organizing the Source

バグの修正や製品への新機能の追加に取り組むときは、Liferay ソースがどのように構成されているかをしっかりと理解することが重要です。 Liferay Source は、プラットフォームが提供するさまざまなフレームワークの完全な実装を提供するため、カスタム プロジェクトを構築する際の優れたリファレンス ソースにもなります。

Liferay Source は現在、2 つの主な領域で構成されています。

  • ポータル コア - これらは、まだモジュールに抽出されていない元のプラットフォームの一部です。 これらには、portal-impl、portal-service、portal-web など、Liferay 6.2 からの馴染みのある名前が付けられています。
  • モジュール - 多くの機能がモジュールとして抽出され、 liferay-portal/modules ディレクトリに保存されています。 多くのモジュールは Liferay MVC パターンに従っており、関連する .api、.service、および .web モジュールに編成されています。

詳細情報

Liferay Source で使用されているパターンのいくつかをより深く理解するには、Liferay の公式ドキュメントにある Web アプリケーションの開発チュートリアルを必ずお読みください。

ブログウィジェット

次の例では、すぐに使用できる Blogs ウィジェットを使用し、そのアプリケーション内のより関連性の高いパターンのいくつかを強調表示するとともに、コード内の特定のセクションのドキュメントへのリンクを提供します。

ブログポータル

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/portlet/BlogsPortlet.java

BlogsPortlet は Liferay MVC パターンに準拠しており、ブログ ウィジェットのメイン エントリ ポイントです。 注意すべき点の 1 つは、BlogsPortlet クラスにはビュー テンプレートの初期化パラメータがリストされていないことです。 これについては次に詳しく説明します。

詳細については、 Liferay MVC ドキュメントを参照してください。

ブログViewMVCRenderCommand

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/portlet/BlogsViewMVCRenderCommand.java

ポートレット コンポーネントに ビュー テンプレートがリストされていない場合、通常は MVCRenderCommand がエントリ .jsp ファイルにディスパッチされることを意味します。 BlogsViewMVCRenderCommand は、/ と /blogs/view の両方に対して /blogs/view.jsp へのディスパッチを処理します。

ビュー.jsp

liferay-portal/modules/apps/blogs/blogs-web/src/main/resources /META-INF/resources/blogs/view.jsp

ブログ ウィジェットの UI のメイン エントリ ポイントを提供します。 Web アプリケーションの開発チュートリアルには、エントリー レベルの JSP 開発の優れた例がいくつか記載されています。

アセットレンダラー

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/asset/model

アセットレンダラーはアセットフレームワークの一部であり、アセットパブリッシングを使用してアセットをレンダリングするために使用されます。

パネルエントリー

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/application/list/BlogsPanelApp.java

パネル エントリを使用すると、製品メニューにウィジェットを追加して、プロジェクトに管理ビューを持たせることができます。

設定

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/configuration/BlogsPortletInstanceConfiguration.java

構成コンポーネントを使用して、システム設定に構成可能なパラメータを追加します。 これにより、すぐに使える機能を使用してプロジェクトを簡単に構成できるようになります。

スケジューラー

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/messaging/CheckEntryMessageListener.java

任意のアプリケーションにスケジュールされたタスクを追加します。 これは、アプリケーション内で定期的に実行する必要があるものがある場合に便利です。

フレンドリーURL

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/portlet/route/BlogsFriendlyURLMapper.java

フレンドリー URL を使用すると、アプリケーションはレンダリング URL とアクション URL に SEO に適した URL を使用できるようになります。

動的インクルード

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/servlet/taglib/BlogsPortletHeaderJSPDynamicInclude.java

動的インクルードにより、フラグメント バンドルを必要とせずに UI をカスタマイズできるため、アップグレードが容易になります。

アプリケーションディスプレイテンプレート

liferay-portal/modules/apps/blogs/blogs-web/src/main/java/ com/liferay/blogs/web/internal/template/BlogsPortletDisplayTemplateHandler.java

アプリケーション表示テンプレートを使用すると、標準の JSP の代わりに Freemarker テンプレートを使用できます。 これにより、ADT は JSP を直接カスタマイズするよりもアップグレードしやすくなります。

アプリケーション表示テンプレートのサンプル

/Users/jamie/Repos/liferay-portal/modules/apps/blogs/blogs-web/src/main/resources/ com/liferay/blogs/web/template/dependencies/portlet_display_template_basic.ftl

多くのすぐに使用できるアプリケーションには、基本的なアプリケーション表示テンプレートが付属しており、それらを使い始めるのがはるかに簡単になります。 たとえば、ブログ ウィジェットには、ブログ エントリをリストするための基本テンプレートが付属しており、JSP 版に似ています。

これらはブログウィジェットで使用されているフレームワークのほんの一部です。 コード全体にわたって、さらに多くのものがあります。 モジュール内の他のウィジェットのほとんども、この同じパターンを使用します。 したがって、1 つのウィジェットがどのように構成されているかを学習すると、リポジトリ内のほとんどのコードがどのように構成されているかを誰でも理解できるようになります。