プラグインのアップグレードと最適化の計画

Liferay DXP 7.1の機能を探究し、Liferayの新しいツールおよびテクニックで新しいポートレットモジュールテーマを作成した場合、既存のプラグインをどのようにアップグレードしたのかを疑問に思うかもしれません。 優れた点は、Liferayがアップグレードプロセスの大部分を自動化したということです。 加えて、従来の方法でプラグインの開発を続行し、準備ができた時に新しい開発ツールとテクニックを導入するということができます。

このチュートリアルでは、プラグインをアップグレードし、オプションでそれらを最適化するフェーズについて説明します。

アップグレード:最小限の変更でLiferay DXP 7.1に既存のプラグインをデプロイするプロセスです。

最適化:プラグインを改善したり、開発を促進したりするために、プラグインを変更したり、新しい環境に移行したりするプロセスです。オプションですが推奨されています。

重要なのは、最適化を適用する前にプラグインをアップグレードしなければならないということです。

プラグインはLiferay DXP 7.1へ簡単にアップグレードできます。 プラグインSDKおよびMavenプロジェクトの場合、Liferay Dev Studio DXPのUpgrade Plannerがプロセスの大部分を自動化します。 upgrade tutorialsではさらに、残りのアップグレード手順について説明しています。

以前のリリース(例: ant clean deploy)と同じように、プラグインをLiferay DXP 7.1にデプロイできます。 しかし、Liferay DXP 7.1のすべてがOSGiモジュールとして実行されるため、従来のWARスタイルのプラグインをどのように実行できるのか疑問に思うかもしれません。 Liferayのプラグイン互換性レイヤーに、その答えがあります。

プラグイン互換性レイヤーは、標準のWARをWebアプリケーションバンドル(WAB)に変換します。 WABは本格的なOSGiモジュールです。 プラグイン互換性レイヤーのWAB Generatorは、OSGi固有の変更を加えることなく、Servlets、JSP、およびその他のJava Webテクノロジーを含む従来のプラグインおよびWebアプリケーションのデプロイをサポートします。

ただし、プラグイン互換性レイヤーを使用せずにアプリケーションサーバーのメカニズムを使用して、Liferay DXPとともに通常のWebアプリケーションをデプロイできるということも覚えておいてください。

プラグインをアップグレードしたら、次のような最適化を検討できます。

その他のオプションと詳細については、optimization tutorialsを参照してください。

プラグインSDKは、Liferay DXP 7.1向けのプラグイン開発で利用できなくなりました。 プラグインSDKの削除については、記事Deprecated Apps in 7.1: What To Doで詳細をご覧ください。

その削除の観点から、プラグインSDKから新しい環境のいずれかへプラグインの移行を検討する必要があります。

  • Liferay Workspaceは、モジュールと従来のプラグインの開発をサポートするGradle環境です。 BlademigrateWar commandは、プラグインSDKポートレットをLiferay Workspace(ワークスペース)へすばやく移動します。
  • LiferayのMavenプラグインとアーキタイプは、モジュールと従来のプラグインの開発をサポートしています。 Mavenを使用するWorkspaceを生成するためのLiferay Workspaceアーキタイプもあります。

Liferay Dev Studio DXPは、GradleまたはMavenを使用したWorkspaceでの開発をサポートしています。

適切に計画されたアップグレードと最適化は、時間と労力の削減になります。 アップグレードおよび最適化のチュートリアルについてより深く理解できるよう、さらに以下の項目について説明します。

  • アップグレードおよび最適化フェーズの説明
  • アップグレードおよび最適化パス

アップグレードおよび最適化フェーズ

以下のアップグレードおよび最適化フェーズに従ってください。

  1. プラグインに該当するupgrade tutorialsを参照してください。 アップグレードと最適化パスを調べます。

  2. プラグインをアップグレードし、Liferay DXP 7.1で動作するために必要な最小限の変更のみを行います。

  3. (オプション)プラグインに対して最も有益な最適化のみを特定して適用します。

  4. (オプション)必要に応じて追加の最適化を適用します。

プラグインのアップグレードと最適化のパス

プラグインアップグレードパス最適化(オプション)
ExtExtプラグインを使用したカスタマイゼーション無し
フック - 言語ファイル- コア言語キーフックのアップグレード
- ポートレット言語キーフックのアップグレード
同じ
フック - Liferay DXPコアJSPのオーバーライドコアJSPフックのアップグレード同じ
フック - アプリケーションJSPのオーバーライドアプリケーションJSPフックのアップグレード同じ
フック - イベント操作(ポータル/セッション/サーブレットサービス/シャットダウン/立ち上げ時)ポータルプロパティとイベント操作フックのアップグレード無し
フック - モデルリスナーモデルリスナーフックのアップグレード同じ
フック - ポータルプロパティポータルプロパティとイベント操作フックのアップグレード同じ
フック - プロパティ- もしプロパティが現在 System Settingであれば、そこで編集および/または.configファイルを使用する
- プロパティがliferay-hook.xml’s DTDにある場合は、APIにコードを適合させ、依存関係を解決する
無し
フック - サービスラッパーサービスラッパーのアップグレード無し
フック - サーブレットフィルターサーブレットフィルターフックのアップグレード無し
フック - Struts操作- Struts操作 → Struts操作ラッパー
- プロセス操作 → MVC操作コマンド
- レンダー → MVCレンダーコマンド
- リソース供給→MVCリソースコマンド
同じ
レイアウトテンプレート1. APIにコードを適合
2. 依存関係の解決
3. レイアウトテンプレートのアップデート
- Liferay Theme Generatorへの移行 (Node.js/Gulp/Yeoman)
ポートレット - GenericPortletGenericPortletのアップグレード- Workspace/Gradleへの移行
- クレイの適用
- OSGiモジュールへ変換
ポートレット - JSFLiferay JSFポートレットのアップグレード無し
ポートレット - Liferay MVCLiferay MVCポートレットのアップグレード- Workspace/Gradleへの移行
- クレイの適用
- OSGiモジュールへ変換
ポートレット - サーブレット/JSPサーブレットベースのポートレットのアップグレード無し
ポートレット - Spring MVCSpring MVCポートレットのアップグレード無し
ポートレット - Struts 1StrutsポートレットのアップグレードStrustアクションラッパーをMVCコマンドへ変換
テーマ1. APIにコードを適合
2. 依存関係の解決
3. テーマのアップグレード
- Liferay Theme Generatorへの移行(Node.js/Gulp/Yeoman)
- Themeletsの使用
Webプラグイン1. APIにコードを適合
2. 依存関係の解決
OSGiモジュールへ変換 例: portlet-x-web

機能のアップグレードと最適化のパス

特徴アップグレードパス最適化(オプション)
JNDIデータソースLiferay DXPのクラスローダーを使用して、アプリケーションサーバーのJNDI APIにアクセスする無し
サービス - Liferay DXPコア、または別のポートレット、またはモジュールからサービスを呼び出すサービスTrackerを実装するモジュールからLiferayサービスを呼び出す
サービス - モジュールの依存関係x-service.jarWEB-INF/libにコピーする- Gradle/Mavenへの移行およびOSGiサービスで依存関係を追加
サービス - Service BuilderService Builderを使用するポートレットのアップグレードOSGiモジュールへ変換 例: x-apiおよびx-service
サービス - Webサービス1. APIにコードを適合
2. 依存関係の解決
RESTサービスを前面に配置し、JAX-RSでService Builderサービスを使用
テンプレート - FreeMarker- APIにコードを適合
- テーマのテンプレートを適合
無し
テンプレート - Velocity(非推奨)コードをAPIに適合FreeMarkerに変換

これで、プラグインのアップグレードと最適化が完了しました。

« 他のビルドシステムとIDEの使用コードをLiferay DXP 7.1にアップグレードする »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています