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アプリケーションをデプロイできるということも覚えておいてください。
プラグインをアップグレードしたら、次のような最適化を検討できます。
- プラグインをGradleまたはMavenに移行して、開発コマンドと豊富なLiferayプラグインテンプレートを活用します。
- テーマをLiferay Theme Generatorに移行して、テーマレット(新規)を追加し、 Node.js、Yeoman、およびGulpを活用します。
- モジュールにプラグインを変換して、宣言型サービス、拡張性などのモジュラリティのメリットを活用します。
- Clayを使用して、明確で一貫したアプリケーションユーザーエクスペリエンスを適用します。
その他のオプションと詳細については、optimization tutorialsを参照してください。
プラグインSDKは、Liferay DXP 7.1向けのプラグイン開発で利用できなくなりました。 プラグインSDKの削除については、記事Deprecated Apps in 7.1: What To Doで詳細をご覧ください。
その削除の観点から、プラグインSDKから新しい環境のいずれかへプラグインの移行を検討する必要があります。
- Liferay Workspaceは、モジュールと従来のプラグインの開発をサポートするGradle環境です。 Bladeの
migrateWar command
は、プラグインSDKポートレットをLiferay Workspace(ワークスペース)へすばやく移動します。 - LiferayのMavenプラグインとアーキタイプは、モジュールと従来のプラグインの開発をサポートしています。 Mavenを使用するWorkspaceを生成するためのLiferay Workspaceアーキタイプもあります。
Liferay Dev Studio DXPは、GradleまたはMavenを使用したWorkspaceでの開発をサポートしています。
適切に計画されたアップグレードと最適化は、時間と労力の削減になります。 アップグレードおよび最適化のチュートリアルについてより深く理解できるよう、さらに以下の項目について説明します。
- アップグレードおよび最適化フェーズの説明
- アップグレードおよび最適化パス
アップグレードおよび最適化フェーズ
以下のアップグレードおよび最適化フェーズに従ってください。
-
プラグインに該当するupgrade tutorialsを参照してください。 アップグレードと最適化パスを調べます。
-
プラグインをアップグレードし、Liferay DXP 7.1で動作するために必要な最小限の変更のみを行います。
-
(オプション)プラグインに対して最も有益な最適化のみを特定して適用します。
-
(オプション)必要に応じて追加の最適化を適用します。
プラグインのアップグレードと最適化のパス
機能のアップグレードと最適化のパス
特徴 | アップグレードパス | 最適化(オプション) |
---|---|---|
JNDIデータソース | Liferay DXPのクラスローダーを使用して、アプリケーションサーバーのJNDI APIにアクセスする | 無し |
サービス - Liferay DXPコア、または別のポートレット、またはモジュールからサービスを呼び出す | サービスTrackerを実装する | モジュールからLiferayサービスを呼び出す |
サービス - モジュールの依存関係 | x-service.jar をWEB-INF/lib にコピーする | - Gradle/Mavenへの移行およびOSGiサービスで依存関係を追加 |
サービス - Service Builder | Service Builderを使用するポートレットのアップグレード | OSGiモジュールへ変換 例: x-api およびx-service |
サービス - Webサービス | 1. APIにコードを適合 2. 依存関係の解決 | RESTサービスを前面に配置し、JAX-RSでService Builderサービスを使用 |
テンプレート - FreeMarker | - APIにコードを適合 - テーマのテンプレートを適合 | 無し |
テンプレート - Velocity(非推奨) | コードをAPIに適合 | FreeMarkerに変換 |
これで、プラグインのアップグレードと最適化が完了しました。