アップグレード前のデータクリーニングとデータの正規化のプロセスが完了したので、これでLiferay DXP 7.1にアップグレードをするための環境が準備できました。準備の手順の概要は、以下のとおりです。
手順1:マーケットプレイスアプリをアップグレードする
手順2:すべての変更をステージングサイトから本番サイトに公開する
手順3:重複したWebコンテンツの構造フィールド名を削除する
手順4:Liferay DXPの完全なバックアップを同期する
手順5:ポータルのプロパティを更新する
手順6:ドキュメントとメディアのファイルストアを設定する
手順7:Liferay DXP 7.1と最新のフィックスパックをインストールする
手順8:アップグレードプロセス中のインデックス作成を無効にする
このチュートリアルでは、上記の手順について詳しく説明します。
手順1:マーケットプレイスアプリをアップグレードする
使用しているマーケットプレイスのアプリ(Kaleo、カレンダー、通知など)をそれぞれインストールのために最新バージョンにアップグレードします。アップグレードを実行する前に、これらのアプリに関する問題のトラブルシューティングしておいてください。
手順2:すべての変更をステージングサイトから本番サイトへ公開する
ローカル/リモートステージングを有効にし、コンテンツやデータをステージングサイトに保存した場合、本番サイトに公開する必要があります。この手順を飛ばした場合、システムには最後の公開日以降に変更されたコンテンツがわからないため、アップグレード後に完全公開(または手動で変更を公開)する必要があります。
手順3:重複したWebコンテンツの構造フィールド名を削除する
Webコンテンツ管理システムを広範囲に使用したことがある場合は、フィールド名が固有ではない構造があるかもしれません。 アップグレードする前に、重複するフィールド名を見つけて削除する必要があり ます。以前にLiferay Portal 6.2にアップグレードしてこれをスキップしていた場合に、このエラーが発生します。
19:29:35,298 ERROR [main][VerifyProcessTrackerOSGiCommands:221] com.liferay.portal.verify.VerifyException: com.liferay.dynamic.data.mapping.validator.DDMFormValidationException$MustNotDuplicateFieldName: The field name page cannot be defined more than once
com.liferay.portal.verify.VerifyException: com.liferay.dynamic.data.mapping.validator.DDMFormValidationException$MustNotDuplicateFieldName: The field name page cannot be defined more than once
この場合、Liferay 6.2の以前のバックアップにロールバックして、重複するフィールド名を 見つけて削除します。
手順4:Liferay DXPの完全なバックアップを同期する
Liferay DXPのデータベース、インストール先、およびドキュメントライブラリストアをバックアップします。
手順5:ポータルのプロパティを更新する
要件に合わせてインストールをカスタマイズするために、ポータルプロパティが上書きされている可能性があります。そうであれば、Liferay DXP 7.1と互換性を持つために、プロパティファイル(portal-setup-wizard.properties
やportal-ext.propertiesファイル
など)を更新する必要があります。これを行う際には、現在のバージョンからLiferay DXP 7.1までのすべてのバージョンのLiferay DXPのプロパティの変更を考慮する必要があります。
Liferay Portal 6.2より前のバージョンから移行する場合は、以下のプロパティに関連した更新から始めます。
-
Liferay Portal 6.1 を使用している場合は、プロパティをLiferay Portal 6.2で導入された新しいデフォルトに適合させます。
-
Liferay 6.0.12を使っている場合は 、Image Galleryを移行します。
-
シャード環境がある場合は、シャーディング用のアップグレードを設定します。
新しいバージョンのLiferay DXPがリリースされた際に、多くの場合はデフォルト設定が変更されていますが、今回のリリースでも同じことが言えます。古いバージョンのデフォルトを使用する場合は、変更内容を確認してから、古いバージョンのデフォルトをそのまま使用するか、新しいバージョンのデフォルトを使用するかを決定してください。
7.1で変更された6.2のプロパティのリストは次のとおりです。
users.image.check.token=false
organizations.types=regular-organization,location
organizations.rootable[regular-organization]=true
organizations.children.types[regular-organization]=regular-organization,location
organizations.country.enabled[regular-organization]=false
organizations.country.required[regular-organization]=false
organizations.rootable[location]=false
#organizations.children.types[location]=
organizations.country.enabled[location]=true
organizations.country.required[location]=true
layout.set.prototype.propagate.logo=true
editor.wysiwyg.portal-web.docroot.html.taglib.ui.discussion.jsp=simple
web.server.servlet.check.image.gallery=true
blogs.trackback.enabled=true
discussion.comments.format=bbcode
discussion.max.comments=0
dl.file.entry.thumbnail.max.height=128
dl.file.entry.thumbnail.max.width=128
モジュール化された機能のプロパティは変更されたため、OSGi設定ファイルに個別にデプロイする必要があり ます。 7.1のポータルプロパティリファレンスドキュメントに、プロパティの詳細と例があります。
手順6:ドキュメントとメディアのファイルストアを設定する
次に、ドキュメントとメディアの設定を確認します。アップグレードプロセスを実行する前に、ドキュメントライブラリーのドキュメンテーションを見て、Liferay DXP 7.1のすべてのオプションを確認しておいてください。 ただし、変更された設定には重要な部分が2つあります。
- ファイルストアの場所は、ポータルプロパティファイルでは指定されなくなりました。(例:
portal-ext.properties
)。 - ストア実装パッケージの名前が
com.liferay.portlet.documentlibrary.store
からcom.liferay.portal.store.*
に変更されたため、6.2portal-ext.properties
から名前をコピーするのではなく、適切な更新済みの実装名を設定する必要があります。
デフォルトのストアを使用していても、ファイルをデフォルトの場所([Liferay Home]/data/document_library
)に保存したくない場合は、[Liferay Home]/osgi/configs
フォルダーにcom.liferay.portal.store.file.system.configuration.FileSystemStoreConfiguration.config
というファイルを作成し、下記の内容を追加します。
rootDir="{document_library_path}"
{document_library_path}
をドキュメントライブラリへのパスに置き換えます。
Advanced File System Storeメソッドを使用してドキュメントライブラリファイルを永続化する場合は、そのファイル名をcom.liferay.portal.store.file.system.configuration.AdvancedFileSystemStoreConfiguration.config
にします。
設定ファイル名は、設定を実装するクラスの名前と一致していなければなりません。
詳細については、ドキュメントリポジトリ設定のドキュメンテーションを参照してください。
手順7:Liferay DXP 7.1をインストールする
次に、Liferay DXPをアプリケーションサーバーにインストールするか 、選択したアプリケーションサーバーにバンドルされているLiferay DXPを使用します。
それから 、最新のフィックスパックをインストールします。
重要:Liferay DXP 7.1をインストールしたら、起動しないでください。Liferay Portal 6.2以前では、アップグレードのためにシステムを準備した後は、新しいバージョンを初めて起動したときにアップグレードプロセスが実行されていました。サーバーの起動を効率化するために、Liferay DXPにはデータベースのアップグレードに使用する必要があるアップグレードツール(次の記事で説明)が付属しています。
前の手順で更新したカスタムポータルプロパティファイル(portal-ext.properties
など)とドキュメントとメディアのファイルストアを新しいインストールにコピーします。
手順8:アップグレードプロセス中のインデックス作成を無効にする
新しいインストールでアップグレードプロセスを開始する前に、インデクサーがコンテンツのインデックスを再作成しようとしたときに生じるアップグレードプロセスでのパフォーマンスの問題を防ぐために、インデックスの作成を無効にする必要があります。
インデックス作成を無効にするには、[Liferay Home]/osgi/configs
フォルダにcom.liferay.portal.search.configuration.IndexStatusManagerConfiguration.config
というファイルを作成し、次の内容を追加します。
indexReadOnly="true"
アップグレードを完了したら(次の記事で説明します)、.config
ファイルを削除するか、indexReadOnly="false"
を設定して、インデックス作成を再度有効にします。
次の記事では、アップグレードの方法について説明します。