javax.portlet.GenericPortlet
を拡張するポートレットを作成することは一般的です。 いずれにしても、GenericPortlet
はデフォルトのjavax.portlet.Portlet
インターフェース実装を提供します。 GenericPortlet
のアップグレードは、2つの手順のみで簡単に実行できます。
-
Liferay Upgrade Plannerを使用して、ポートレットをLiferay DXP 7.1のAPIに適合させます。
-
依存関係を解決します。
このチュートリアルでは、Sample DAO(プロジェクトsample-dao-portlet
)と呼ばれる、LiferayプラグインSDK 6.2のサンプルポートレットのアップグレードについて説明します。
サンプルポートレットを使用すると、ユーザーはリストから食品を表示、追加、編集、および削除できます。 参考として、事前アップグレードされたポートレットコードとアップグレードされたコードをダウンロードできます。
サンプルポートレットには、次の特性があります。
GenericPortlet
を拡張します。- JSPによって実装されたレイヤーを表示します。
- データアクセスオブジェクト(DAO)デザインパターンを使用してモデルを永続化します。
- プロパティファイルでデータベース接続情報を指定します。
- Ant/Ivyを介して依存関係を管理します。
- LiferayプラグインSDK 6.2で開発されました。
ポートレットは、従来のプラグインSDKポートレットのプロジェクトのフォルダ構造を使用します。
ほとんどのGenericPortlet
ポートレットのアップグレードには、次の手順が含まれます。
サンプルポートレットの依存関係は変更されていないため、アップグレードはコードをLiferay DXP 7.1のAPIに適合させるだけで行えます。 Liferay Upgrade Plannerは、コードのアップデートとコンパイルの事象の迅速な解決を促進します。
Portal 6.xにデプロイするのと同じ方法で、GenericPortlet
をLiferay DXP 7.1にデプロイします。プラグインWARファイルが[Liferay_Home]/deploy
フォルダに到着すると、Liferay DXPのプラグイン互換レイヤーがWARをWebアプリケーションバンドル(WAB)に変換し、Liferay DXPのOSGiランタイムへのWABとしてポートレットをインストールします。
アップグレードされたポートレットをデプロイすると、サーバーは次のポートレット状態を示すメッセージを出力します。
- WAR processing
- WAB startup
- Availability to users
サンプルポートレットをデプロイすると、次のようなメッセージが生成されます。
2018-03-21 17:44:59.179 INFO [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner][AutoDeployDir:262] Processing sample-dao-portlet-7.1.0.1.war
...
2018-03-21 17:45:09.959 INFO [Refresh Thread: Equinox Container: 0012cbb0-7e2c-0018-146e-95a4d71cdf95][PortletHotDeployListener:298] 1 portlet for sample-dao-portlet is available for use
...
2018-03-21 17:45:10.151 INFO [Refresh Thread: Equinox Container: 0012cbb0-7e2c-0018-146e-95a4d71cdf95][BundleStartStopLogger:35] STARTED sample-dao-portlet_7.1.0.1 [655]
これでポートレットがLiferay DXPで利用可能になりました。
GenericPortlet
を拡張するポートレットをアップグレードおよびデプロイする方法を学習しました。 コードを適合し、依存関係を解決したら、通常通りポートレットをデプロイします。 このステップは簡単に行えます。
関連トピック