7.2 旧バージョンと非互換の変更
このドキュメントは、サードパーティのLiferay開発者またはユーザーとの既存の機能、API、または契約に違反する変更の時系列リストを示しています。 私たちはこれらの混乱を最小限にするために最善を尽くしていますが、時には避けられないこともあります。
このファイルに記載されている変更の種類の一部を次に示します。
- 削除または置換される機能
- 旧バージョンと非互換の変更:パブリックJavaまたはJavaScript APIの変更
- テンプレートで利用可能なコンテキスト変数の変更
- Liferayテーマおよびポートレットで利用可能なCSSクラスの変更
- 設定の変更:
portal.properties、system.propertiesなどの設定ファイルの変更 - 実行要件:Javaバージョン、Java EEバージョン、ブラウザーバージョンなど
- 非推奨またはサポート終了:たとえば、次のバージョンで特定の機能またはAPIが停止されると警告している
- 推奨事項:たとえば、後方互換性のためにLiferay Portalに古いAPIが保持されているにもかかわらず、古いAPIに代わる、新しく導入されたAPIを使用することを推奨している
旧バージョンと非互換の変更リスト
テーマにおけるJSPテンプレートのサポートを削除しました。
- 日付: 2018年11月14日
- JIRAチケット: LPS-87064
変更点
テーマがJSPテンプレートを利用できなくなりました。 また、関連するロジックは、パブリックAPI com.liferay.portal.kernel.util.ThemeHelperおよびcom.liferay.taglib.util.ThemeUtilから削除されました。
影響を受ける人
これは、JSP テンプレートを使用したテーマや、削除されたメソッドを使用している人に影響します。
コードの更新方法
JSP テンプレートを利用したテーマをお持ちの方は、FreeMarker への移行をご検討ください。
変更が行われた理由
JSPは本当の意味でのテンプレートエンジンではないので、ほとんど使われることはありません。 今後、テンプレートエンジンはFreeMarkerを推奨します。
JSPテンプレートの削除により、既存および新規のテンプレートエンジンに焦点を当てることができるようになりました。
Lodashはデフォルトでは含まれなくなりました。
- 日付: 2018年11月27日
- JIRAチケット: LPS-87677
変更点
以前は、Lodash はデフォルトですべてのページに含まれており、グローバルな window._ とスコープ付きの AUI._ 変数を通じて利用できるようになっていました。 Lodashはデフォルトで含まれなくなり、これらの変数は未定義になりました。
影響を受ける人
この問題は、カスタムスクリプトで AUI._ または window._ 変数を使用していたすべての開発者に影響します。
コードの更新方法
サードパーティライブラリを追加する方法として、独自のLodashバージョンを提供し、カスタム開発で使用する必要があります。
一時的な対策として、Liferayポータルのコントロールパネルの [コントロールパネル] → [設定] → [システム設定] → [サードパーティー] → [Lodash] で [Lodashを有効にする] プロパティをtrueに設定することで、以前の動作に戻すことができます。
変更が行われた理由
この変更は、ほとんどの場合未使用で冗長なすべてのページに追加のライブラリコードをバンドルして提供することを回避するために行われました。
2つのステージングポータルプロパティをOSGi構成に移動
- 日付: 2018年12月12日
- JIRAチケット: LPS-88018
変更点
2つのStagingプロパティが、 portal.properties から、 export-import-service モジュール内の ExportImportServiceConfiguration.java というOSGi設定に移動されました。
影響を受ける人
この問題は、以下のポータルサイトのプロパティを使用している人に影響します。
staging.delete.temp.lar.on.failurestaging.delete.temp.lar.on.success
コードの更新方法
portal.properties ファイルを上書きする代わりに、Portalの設定管理者からプロパティを管理することができます。 これにアクセスするには、Liferayポータルの [コントロールパネル] → [設定] → [システム設定] → [Infrastructure] → [エクスポート / インポート] に移動し、そこで設定を編集します。
新しいコンフィギュレーションをアプリケーションに組み込みたい場合は、 making applications configurable の手順に従ってください。
変更が行われた理由
この変更は、ポータルの構成変更を容易にするためのモジュール化の一環として行われたものです。
ページの機能へのリンクアプリケーションURLを削除
- 日付: 2018年12月14日
- JIRAチケット: LPS-85948
変更点
Link Portlet URLs to Page ポートレットの Look and Feel のオプションは、Liferay Portal 7.1 で非推奨とされ、ユーザーは設定プロパティでオプションを表示、非表示することができるようになりました。 Liferay Portal 7.2 では、これは削除され、設定することができなくなりました。
影響を受ける人
この問題は、UIでオプションを使用した管理者とポートレットでオプションを使用した開発者に影響します。
コードの更新方法
この機能を利用しているポートレットは、ポータルでプロパティへの事前構成された参照が無視されるため、更新する必要があります。
変更が行われた理由
このプロパティを使用するポートレットは限られており、同じ結果を得るにはもっと良い方法があります。
TermsOfUseContentProviderをkernel.utilから移動しました。
- 日付: 2019年1月07日
- JIRAチケット: LPS-88869
変更点
TermsOfUseContentProvider インターフェイスのパッケージが変更されました。
com.liferay.portal.kernel.util → com.liferay.portal.kernel.term.of.use
TermsOfUseContentProviderRegistryUtil クラスの名前とパッケージが変更されました。
TermsOfUseContentProviderRegistryUtil → TermsOfUseContentProviderUtil
および
com.liferay.portal.kernel.util → com.liferay.portal.internal.terms.of.use
TermsOfUseContentProvider を取得するロジックも変更されました。 登録されたサービスの順序に依存するランダムな最初のサービスを常に返すのではなく、 TermsOfUseContentProvider サービスが追跡され、 com.liferay.portal.kernel.util.ServiceProxyFactoryで更新されます。 その結果、 TermsOfUseContentProvider は、サービスランキングを尊重するようになりました。
影響を受ける人
これは、com.liferay.portal.kernel.util.TermsOfUseContentProviderRegistryUtilを使用してcom.liferay.portal.kernel.util.TermsOfUseContentProviderサービスを検索していたすべての人に影響します。
コードの更新方法
com.liferay.portal.kernel.util.TermsOfUseContentProviderを使用する場合は、インポートパッケージ名を更新してください。 portal-webで何か使用している場合は、com.liferay.portal.kernel.util.TermsOfUseContentProviderRegistryUtilをcom.liferay.portal.kernel.term.of.use.TermsOfUseContentProviderUtilに更新してください。 モジュール内のcom.liferay.portal.kernel.util.TermsOfUseContentProviderRegistryUtilの使用を削除し、代わりに@Referenceアノテーションを使用してcom.liferay.portal.kernel.term.of.use.TermsOfUseContentProviderサービスをフェッチします。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
HibernateConfigurationConverterとConverterを削除しました。
- 日付: 2019年1月07日
- JIRAチケット: LPS-88870
変更点
インターフェイスcom.liferay.portal.kernel.util.Converterとその実装com.liferay.portal.spring.hibernate.HibernateConfigurationConverterが削除されました。
影響を受ける人
これにより、 HibernateConfigurationConverterで実装されているカスタマイズされた portlet-hbm.xml ファイルを生成するサポートが削除されました。 詳細は、 LPS-5363 を参照してください。
コードの更新方法
HibernateConfigurationConverterの使用は削除する必要があります。 生成された portlet-hbm.xml が正確であることを確認します。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
JDKの関数とサプライヤーを使用するように切り替えました。
- 日付: 2019年1月08日
- JIRAチケット: LPS-88911
変更点
パッケージ com.liferay.portal.kernel.util の Function と Supplier のインターフェイスは削除されました。 それらの使用は、java.util.function.Functionおよびjava.util.function.Supplierに置き換えられました。
影響を受ける人
パッケージ com.liferay.portal.kernel.utilの Function と Supplier インターフェイスを実装している人に影響があります。
コードの更新方法
com.liferay.portal.kernel.util.Functionとcom.liferay.portal.kernel.util.Supplierの使用を、それぞれjava.util.function.Functionとjava.util.function.Supplierに置き換える必要があります。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
com.liferay.portal.service.InvokableServiceインターフェイスを廃止
- 日付: 2019年1月08日
- JIRAチケット: LPS-88912
変更点
パッケージ com.liferay.portal.kernel.service の InvokableService と InvokableLocalService インターフェイスは削除されました。
影響を受ける人
パッケージ com.liferay.portal.kernel.serviceで InvokableService と InvokableLocalService を使用していた人に影響があります。
コードの更新方法
InvokableService と InvokableLocalServiceの使用は削除する必要があります。 削除後にコンパイルエラーが発生した場合、サービスの実装を生成するために、必ず最新版のサービスビルダーを使用してください。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
ServiceLoaderConditionのサポートを終了しました。
- 日付: 2019年1月08日
- JIRAチケット: LPS-88913
変更点
パッケージ com.liferay.portal.kernel.util のインターフェース ServiceLoaderCondition とその実装 DefaultServiceLoaderCondition は削除されました。
影響を受ける人
この問題は、 ServiceLoaderCondition と DefaultServiceLoaderConditionを使用している人に影響します。
コードの更新方法
ServiceLoaderConditionの使用は削除する必要があります。 更新されたメソッドシグネチャに従って、com.liferay.portal.kernel.util.ServiceLoaderのloadメソッドの使用を更新します。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
JDK述語を使用するように変更しました。
- 日付: 2019年1月14日
- JIRAチケット: LPS-89139
変更点
インターフェイスcom.liferay.portal.kernel.util.PredicateFilterが削除され、java.util.function.Predicateに置き換えられました。 その結果、以下の実装が削除されました。
com.liferay.portal.kernel.util.AggregatePredicateFiltercom.liferay.portal.kernel.util.PrefixPredicateFiltercom.liferay.portal.kernel.portlet.JavaScriptPortletResourcePredicateFiltercom.liferay.dynamic.data.mapping.form.values.query.internal.model.DDMFormFieldValuePredicateFilter
com.liferay.portal.kernel.util.ArrayUtil_IW クラスが再生成されました。
影響を受ける人
PredicateFilter, AggregatePredicateFilter, PrefixPredicateFilter, JavaScriptPortletResourcePredicateFilter, そして DDMFormFieldValuePredicateFilterを使用していた方に影響します。
コードの更新方法
com.liferay.portal.kernel.util.PredicateFilterの使用をjava.util.function.Predicateに置き換える必要があります。 さらに、 AggregatePredicateFilter, PrefixPredicateFilter, JavaScriptPortletResourcePredicateFilter, DDMFormFieldValuePredicateFilterの使用を削除してください。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
com.liferay.portal.kernel.utilパッケージから安全でない機能インターフェイスを削除しました
- 日付: 2019年1月15日
- JIRAチケット: LPS-89223
変更点
com.liferay.portal.osgi.util.test.OSGiServiceUtil クラスは削除されました。 また、以下のインターフェースは com.liferay.portal.kernel.util パッケージから削除されました。
UnsafeConsumerUnsafeFunctionUnsafeRunnable
影響を受ける人
これは、上記のクラス/インターフェイスを使用している人に影響します。
コードの更新方法
com.liferay.portal.osgi.util.test.OSGiServiceUtil クラスは、Liferay Portal 7.1 から非推奨になりました。 com.liferay.osgi.util.service.OSGiServiceUtil. UnsafeConsumer, UnsafeFunction and UnsafeRunnable の使用を、パッケージ com.liferay.petra.functionの対応するインターフェースに置き換えます。
変更が行われた理由
これは、パッケージのバージョンがロックダウンする可能性を減らすために、カーネルプロバイダインターフェースをクリーンアップするためのいくつかのステップのうちの1つです。
ポータル配信における非推奨のNTLMについて
- 日付: 2019年1月21日
- JIRAチケット: LPS-88300
変更点
NTLM モジュールは portal-security-sso プロジェクトから portal-security-sso-ntlmという名前の新しいプロジェクトに移動されました。 この新しいプロジェクトは非推奨で、Liferay Marketplaceからダウンロードすることができます。
影響を受ける人
これは、NTLMを認証システムとして使用している人に影響します。
コードの更新方法
NTLMを認証システムとして使い続けたい場合は、Liferay Marketplaceから対応モジュールをダウンロードする必要があります。 あるいは、Kerberosに移行することもできます(推奨)。これは、変更の必要がなく、Liferay Portal 7.0+と互換性があります。
変更が行われた理由
この変更は、古い独自のソリューション(NTLM)を使用しないようにするために行われました。 標準的なプロトコルであり、NTLMと比較してより安全な認証方法であるKerberosが推奨されるようになりました。
ポータル配信における非推奨のOpenID
- 日付: 2019年1月21日
- JIRAチケット: LPS-88906
変更点
OpenID モジュールは、 portal-security-sso-openidという名前の新しいプロジェクトに移動されました。 この新しいプロジェクトは非推奨で、Liferay Marketplaceからダウンロードすることができます。
影響を受ける人
これは、OpenIDを認証システムとして使っている人に影響します。
コードの更新方法
OpenIDを認証システムとして使い続けたい場合は、Liferay Marketplaceから該当モジュールをダウンロードする必要があります。 または、Liferay Portal Distributionで利用可能なOpenID Connectに移行する必要があります。
変更が行われた理由
この変更は、非推奨のソリューション(OpenID)を使用しないために行われました。 OAuthの上で動作するため、より安全な認証方法であるOpenID Connectが推奨されるようになりました。
ポータル配信における非推奨のGoogle SSOについて
- 日付: 2019年1月21日
- JIRAチケット: LPS-88905
変更点
Google SSO モジュールは portal-security-sso プロジェクトから portal-security-sso-googleという名前の新しいプロジェクトに移動されました。 この新しいプロジェクトは非推奨で、Liferay Marketplaceからダウンロードすることができます。
影響を受ける人
これは、Google SSOを認証システムとして使用している人に影響します。
コードの更新方法
Google SSOを認証システムとして使い続けたい場合は、Liferay Marketplaceから対応するモジュールをダウンロードする必要があります。 または、OpenID Connectを使用することもできます。
変更が行われた理由
この変更は、認証に古いソリューション(Google SSO)を使用しないようにするために行われました。 OpenID Connectは、認証にGoogleの実装を使用することが推奨されている仕様です。
liferay-amd-loader から Liferay.Loader.addModules を削除しました。
- 日付: 2019年2月01日
- JIRAチケット: LPS-83949
変更点
liferay-amd-loader version 4.x 以降では、addModules 関数が削除されました。
影響を受ける人
これは、liferay-amd-loaderを直接使ってモジュールを定義している人に影響します。
コードの更新方法
Liferay.Loader.addModules を直接置き換えるものはありません。
モジュールを公開するためにJS Toolkitプロジェクトを作成するのも一つの方法です: https://github.com/liferay/liferay-frontend-projects/tree/master/maintenance/projects/js-toolkit/docs
変更が行われた理由
すべてのモジュール解決をサーバー側で行うことで、スピードとネットワークパフォーマンスを向上させます。
AlloyEditor v2.0は、Reactの新しいメジャーバージョンを含むように更新されました。
- 日付: 2019年2月4日
- JIRAチケット: LPS-90079
変更点
AlloyEditorがバージョン2.0.0になり、React v15からv16へのメジャーアップグレードが行われました。
React.createClass は、React v15.5.0(2017年4月)で 非推奨、React v16.0.0 (2017年9月)でが廃止されました。 AlloyEditor にバンドルされているすべてのボタンは、 React.createClassの代わりに ES6 クラス構文を使用するように更新されました。
影響を受ける人
この問題は、 React.createClassを使って独自のボタンを作成した人に影響します。 createClass 関数は使用できなくなり、実行時にアクセスしようとするとエラーが発生します。
コードの更新方法
コードの更新は、2つの方法のいずれかで行う必要があります。
-
Reactのドキュメント に記載の通り、
React.createClassAPIからカスタムボタンをポートし、ES6classAPIを使用します。例として、 以前のcreateClassベースの実行 から ES6クラスベースのボタン に移行する際の変更点をご覧ください。 -
互換性アダプタを提供します。 create-react-classパッケージ (説明は こちら )をページに注入することで、
createClassのAPIを復元することができます。
変更が行われた理由
この変更は、より新しいメジャーバージョンのReactを使用するために行われ、パフォーマンスと互換性の改善をもたらし、非推奨のAPIを削除することでバンドルサイズを縮小しています。
dl.tabs.visibleポータルプロパティは非推奨になりました
- 日付: 2019年4月10日
- JIRAチケット: LPS-93948
変更点
dl.tabs.visible プロパティを使用すると、ウィジェットページに配置したときに、Documents and Media ウィジェットのナビゲーションタブの表示/非表示を切り替えられるようになります。 この設定オプションは削除されたため、ウィジェットページにナビゲーションタブが表示されることはありません。
影響を受ける人
dl.tabs.visible プロパティを trueに設定した人に影響します。
コードを更新するにはどうすればよいですか?
コードの変更は必要ありません。
変更が行われた理由
ドキュメント & メディアはUXの観点から見直され、ウィジェットページのナビゲーションタブの削除はUIクリーンアップの一環として行われました。
ユーザーメニューを製品メニューから移動
- 日付: 2019年4月19日
- JIRAチケット: LPS-87868
変更点
ユーザーメニューはプロダクトメニューから削除され、ユーザーメニューエントリは、ユーザーのアバターによってトリガーされるドロップダウンメニューである新しいパーソナルメニューに移動されました。
影響を受ける人
これは、プロダクトメニューのユーザーメニューセクションをカスタマイズしたすべてのユーザーに影響します。
コードの更新方法
カスタムユーザーメニューエントリーを保持し、パーソナルメニューで利用できるようにしたい場合は、 PersonalMenuEntry インターフェイスを実装する必要があります。 PanelCategoryKeys.USER、 PanelCategoryKeys.USER_MY_ACCOUNT、 PanelCategoryKeys.USER_SIGN_OUT のパネルカテゴリキーで登録されているすべてのパネルアプリは、 PersonalMenuEntryに変換しておく必要があります。
変更が行われた理由
製品ナビゲーションはUXの観点から見直されており、プロダクトメニューからユーザーメニューを削除し、メニューを独自のメニューに分割することで、ユーザーエクスペリエンスが向上します。
国別一覧から香港・マカオを削除しました。
- 日付: 2019年4月26日
- JIRAチケット: LPS-82203
変更点
香港とマカオは国名から削除され、それぞれ湘江(リージョンコード:CN-91)、澳門(リージョンコード:CN-92)として中国の地域名として記載されています。
影響を受ける人
これは、住所に香港やマカオを使用していた人に影響します。
コードの更新方法
コードの変更は必要ありません。 ただし、香港とマカオの countryId をコードにハードコードしている場合は、中国の countryIdに更新する必要があります。 香港とマカオへの言及は、対応する regionIdで行う必要があります。
変更が行われた理由
1997年の香港返還、1999年のマカオ返還を経て、現在、香港とマカオは中国の特別行政区となっています。
JGroups が 3.6.16 から 4.1.1 にアップグレードされました。
- 日付: 2019年8月15日
- JIRAチケット: LPS-97897
変更点
JGroups をバージョン 3.6.16 からバージョン 4.1.1 に更新しました。
影響を受ける人
クラスターリンクをご利用の方に影響します。
コードの更新方法
portal.properties の cluster.link.channel.properties.* プロパティは、値として接続文字列を受け付けなくなり、構成 XML ファイルへのファイルパスが必要になりました。 3.6.16 のプロトコルプロパティのいくつかは削除され、4.1.1 では解析されなくなりました。
変更が行われた理由
今回のバージョンアップは、セキュリティ上の問題を修正するために行われました。
Liferay AssetEntries_AssetCategories は使用されなくなりました
変更点
以前は、Liferay は AssetEntry と AssetCategory の間の関係で、 AssetEntryLocalService と AssetCategoryLocalServiceにマッピングテーブルと対応するインターフェイスを使用しました。 このマッピングテーブルと対応するインタフェースは、テーブル AssetEntryAssetCategoryRel とサービス AssetEntryAssetCategoryRelLocalServiceに置き換わった。
影響を受ける人
これは、 AssetEntries_AssetCategories の関係で、 AssetEntryLocalService と AssetCategoryLocalServiceを通じて古いインターフェースの呼び出しに依存するすべてのコンテンツやコードに影響 します。
コードの更新方法
AssetEntryAssetCategoryRelLocalService の新しいメソッドを使用すると、従来と同じデータを取得できます。 メソッドのシグネチャは変更されておらず、別のサービスに移されただけです。
例
昔のやり方。
リスト<AssetEntry> entries =
AssetEntryLocalServiceUtil.getAssetCategoryAssetEntries(categoryId);
for (AssetEntry entry: entries) {
...
}
新しい方法です。
long [] assetEntryPKs =
_assetEntryAssetCategoryRelLocalService.getAssetEntryPrimaryKeys(assetCategoryId); (long assetEntryPK:assetEntryPKs)に対して
{
AssetEntry = _assetEntryLocalService.getEntry(assetEntryPK);
...
}
...
@Reference
private AssetEntryAssetCategoryRelLocalService _assetEntryAssetCategoryRelLocalService;
@Reference
private AssetEntryLocalService _assetEntryLocalService;
変更が行われた理由
この変更は、 LPS-76488 の結果、開発者が与えられたカテゴリのアセットリストの順序を制御できるようになったことに起因しています。
自動タグ付けは手動で再設定する必要があります。
- 日付: 2019年10月02日
- JIRAチケット: LPS-97123
変更点
自動タグ付け設定の名称を変更し、再編成しました。 自動アップグレードプロセスはなくなりましたので、手動でAuto Taggingを再設定する必要があります。
影響を受ける人
この問題は、SP1にアップグレードされたDXP 7.2のインストールで、自動タグ付けが設定され、有効になっている場合に発生します。
コードの更新方法
システム設定で自動タグ付けを再設定する必要があります(詳細は、 公式ドキュメント を参照してください)。 古い設定インタフェースを参照しているコードは、新しいインタフェースを使用するように更新する必要があります。
変更が行われた理由
この変更により、これまで分割されていた設定インターフェースが統一され、ユーザーエクスペリエンスが向上しました。
ブログ画像ポータルプロパティをシステム設定に移動
- 日付: 2019年10月02日
- JIRAチケット: LPS-95298
変更点
ブログ画像の設定を portal.properties から System Settings に移動しました。 自動アップグレードプロセスがないため、カスタムBlogsイメージのプロパティは手動で再設定する必要があります。
影響を受ける人
この問題は、SP1にアップグレードしたDXP 7.2のインストールで、 blogs.image.max.size と blogs.image.extensions のプロパティにカスタム値を持っている場合に発生します。
コードの更新方法
カスタムブログ画像のプロパティ値を保持する場合は、 [設定] → [ブログ] → [ファイルアップロード] の[システム設定]で再構成する必要があります。 古いプロパティを参照しているコードは、新しいコンフィギュレーション・インターフェースを使用するように更新する必要があります。
変更が行われた理由
この変更は、ブログ画像のプロパティを再起動せずに設定できるようにするために行われました。
キャッシュブートストラップ機能を削除
- 日付: 2020年1月08日
- JIRAチケット: LPS-96563
変更点
キャッシュブートストラップ機能は削除されました。 これらのプロパティは、キャッシュブートストラップを有効化/構成するために使用できなくなりました。
ehcache.bootstrap.cache.loader.enabled, ehcache.bootstrap.cache.loader.properties.default, ehcache.bootstrap.cache.loader.properties.${specific.cache.name}.
影響を受ける人
これは、上記のプロパティを使用するすべてのユーザーに影響します。
コードの更新方法
削除された機能を直接置き換えるものはありません。 それに依存するコードがある場合は、自分で実装する必要があります。
変更が行われた理由
この変更は、セキュリティの問題を回避するために行われました。
ContentTransformerListenerをデフォルトで無効化
- 日付: 2020年5月25日
- JIRAチケット: LPS-114239
変更点
ContentTransformerListener はデフォルト設定で無効になりました。
影響を受ける人
これは、ContentTransformerListenerによって提供されるレガシーなWebコンテンツ機能を使用したLiferay Portalのインストールに影響します。例えば、別のWebコンテンツ内にWebコンテンツを埋め込む、レガシーなエディット・イン・プレース・インフラストラクチャ、トークンの置換(32484264、@articleId;elementName@)などです。
コードを更新するにはどうすればよいですか?
コードを更新する必要はありません。 それでもContentTransformerListenerを使用する場合は、システム設定で有効にできます。
なぜこの変更が行われたのですか?
ContentTransformerListenerは、記事要素に対して多くの文字列プロセスを実行します(記事フィールドに対してHtmlUtil.stripCommentsおよびHtmlUtil.stripHtmlを呼び出します)。 パフォーマンスを向上させるために無効にされました。
DDMDataProviderのメソッドを置き換え
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
com.liferay.dynamic.data.mapping.data.provider.DataProviderのgetDataメソッドのddmDataProviderContextパラメーター(com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContext型)が、ddmDataProviderRequest(com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequest型)に置き換えられました。
影響を受ける人
これは、置き換えられたメソッドを使用するすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContext型のパラメーターを、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequest型のパラメーターに置き換えます。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderRequestのコンストラクターを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
コンストラクターメソッドがcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestから削除されました。
影響を受ける人
これは、削除されたコンストラクターを使用するすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequest.Builderを使用して、コンストラクターではなく、必要なすべてのパラメーターを使用して新しいcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestを作成します。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderRequestのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
次のメソッドがcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestから削除されました。
getDDMDataProviderContextsetDDMDataProviderContextgetHttpServletRequestgetParameterqueryString
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestおよびcom.liferay.dynamic.data.mapping.data.provider.internal.DDMDataProviderInstanceSettingsImplを使用して、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContextによって提供されるデータを取得します。
また、メソッドwithParameterを使用してcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequest.Builderを介してjavax.servlet.http.HttpServletRequestオブジェクトを追加し、メソッドgetParameterOptionalを使用してそれを取得します。
getParameterの代わりに既存のメソッドgetParameterOptionalを使用します。 queryStringの使用をcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequest.BuilderのメソッドwithParameterに置き換えて、必要なすべてのパラメーターを追加します。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderRequestのメソッドを置き換え
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestのgetDDMDataProviderInstanceIdメソッドがgetDDMDataProviderIdに置き換えられました。
影響を受ける人
これは、置き換えられたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
getDDMDataProviderInstanceIdの使用をgetDDMDataProviderIdに置き換えます。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderResponseのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
メソッドerror、of、およびgetDataMapがクラスcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseから削除されました。
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
コードで次の更新されたメソッドを使用します。
errorメソッドを呼び出す代わりに、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponse.BuilderのwithStatusメソッドを使用します。ofメソッドをBuilderのwithStatusおよびwithOutputメソッドに置き換えます。BuilderのwithOutputメソッドを使用してgetDataMap呼び出しを出力追加に置き換え、メソッドgetOutputOptionalを介して取得します。
メソッドwithOutputは、必要な回数だけ呼び出すことができます。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderResponseのメソッドを置き換え
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseのgetメソッドがgetOutputOptionalに置き換えられました。
影響を受ける人
これは、置き換えられたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
getの代わりにgetOutputOptionalを使用します。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderResponseのEnumを置き換え
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
ローカルenum com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponse.Statusが、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseからcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseStatusに移動されました その結果、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseからのgetStatusのデータ型が、com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponse.Statusからcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseStatusに変更されました。
影響を受ける人
これは、置き換えられたenumを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponse.Statusの使用をcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseStatusに置き換えます。
なぜこの変更が行われたのですか?
この変更は、 LPS-81563 でのデータプロバイダーAPIリファクタリングの一部です。
DDMDataProviderResponseOutputを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseOutputが削除されました。
影響を受ける人
これは、削除されたクラスを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
削除されたクラスを直接置き換えるものはありません。 それに依存するコードがある場合は、自分で実装する必要があります。
なぜこの変更が行われたのですか?
クラスcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderResponseOutputは、 LPS-81563 のデータプロバイダーコードに改善が実装された後に使用されなくなったため、廃止予定の警告なしに削除されました。
DDMDataProviderTrackerのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-81563
変更点
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderTrackerのgetDDMDataProviderContextContributorsメソッドが削除されました。
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
getDDMDataProviderContextContributorsの代わりにcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestおよびcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderInstanceSettingsを使用して、必要なデータを取得します。
なぜこの変更が行われたのですか?
com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContextクラスによって提供されるすべてのデータは、クラスcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderRequestおよびcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderInstanceSettingsにあります。 したがって、クラスcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContextおよびcom.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContextContributorは不要になりました。 com.liferay.dynamic.data.mapping.data.provider.DDMDataProviderContextContributorがLiferay Portal 7.2で削除されたことに注意してください。
DDMFormInstanceRecordLocalServiceのメソッドを置き換え
- 日付: 2020年7月14日
- JIRAチケット: LPS-81564
変更点
この変更は、com.liferay.dynamic.data.mapping.service.DDMFormInstanceRecordLocalService、com.liferay.dynamic.data.mapping.service.DDMFormInstanceRecordLocalServiceUtil、およびcom.liferay.dynamic.data.mapping.service.DDMFormInstanceRecordLocalServiceWrapperに対して行われました。
getDDMFormValuesメソッドにはddmStorageId(long型)と呼ばれる単一のパラメーターがありましたが、現在は2つのパラメーターstorageId(ddmStorageIdの置換)とddmForm(com.liferay.dynamic.data.mapping.model.DDMForm型)があります。
影響を受ける人
これは、置き換えられたメソッドを使用していたすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
メソッドにcom.liferay.dynamic.data.mapping.model.DDMForm型の新しいパラメーターを渡します。
なぜこの変更が行われたのですか?
この変更は、 LPS-81564 でのストレージアダプタAPIリファクタリングの一部です。
DDMStructureServiceのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-91760
変更点
以下にリストされているメソッドが、com.liferay.dynamic.data.mapping.service.DDMStructureService、com.liferay.dynamic.data.mapping.service.DDMStructureServiceUtil、およびcom.liferay.dynamic.data.mapping.service.DDMStructureServiceWrapperクラスから削除されました。
-
addStructure(パラメーターはlong userId、long groupId、long classNameId、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、com.liferay.dynamic.data.mapping.model.DDMForm ddmForm、com.liferay.dynamic.data.mapping.model.DDMFormLayout ddmFormLayout、String storageType、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
addStructure(パラメーターはlong userId、long groupId、long classNameId、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、String xsd、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
addStructure(パラメーターはlong userId、long groupId、String parentStructureKey、long classNameId、String structureKey、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、String xsd、String storageType、int type、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
addStructure(パラメーターはlong groupId、long parentStructureId、long classNameId、String structureKey、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、String xsd、String storageType、int type、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
addStructure(パラメーターはlong userId、long groupId、String parentStructureKey、long classNameId、String structureKey、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、com.liferay.dynamic.data.mapping.model.DDMForm ddmForm、com.liferay.dynamic.data.mapping.model.DDMFormLayout ddmFormLayout、String storageType、int type、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
updateStructure(パラメーターはlong groupId、long parentStructureId、long classNameId、String structureKey、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、String definition、com.liferay.portal.kernel.service.ServiceContext serviceContext) -
updateStructure(パラメーターはlong structureId、long parentStructureId、Map<Locale, String> nameMap、Map<Locale, String> descriptionMap、String definition、com.liferay.portal.kernel.service.ServiceContext serviceContext)
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードの更新方法
削除されたメソッドを、残りのaddStructureメソッドとupdateStructureメソッドのいずれかに置き換えます。
変更が行われた理由
これらのメソッドは、Liferay Portal 7.0で廃止されました。
動的データマッピング永続性クラスのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-91760
変更点
メソッドfetchByPrimaryKeysおよびgetBadColumnNamesが次のクラスから削除されました。
com.liferay.dynamic.data.mapping.service.persistence.DDMContentPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMDataProviderInstancePersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstancePersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceRecordPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceVersionPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMStorageLinkPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMStructureLayoutPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMStructurePersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMStructureVersionPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMTemplatePersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMDataProviderInstanceLinkPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceRecordVersionPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMStructureLinkPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMTemplateLinkPersistencecom.liferay.dynamic.data.mapping.service.persistence.DDMTemplateVersionPersistence
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードの更新方法
削除されたメソッドを、基本クラスcom.liferay.portal.kernel.service.persistence.impl.BasePersistenceImplで提供されている対応するメソッドに置き換えます。
変更が行われた理由
基本クラスcom.liferay.portal.kernel.service.persistence.impl.BasePersistenceImplで提供されるデフォルトの実装があるため、fetchByPrimaryKeysのカスタム実装は必要ありません。
getBadColumnNamesは、インターフェイス(com.liferay.dynamic.data.mapping.service.persistence.DDMContentPersistenceなど)から自動的に削除され、クラスがService Builderによって生成されたときに実装クラス(com.liferay.dynamic.data.mapping.service.persistence.impl.DDMContentPersistenceImplなど)に保持されました。
動的データマッピングユーティリティクラスのメソッドを削除
- 日付: 2020年7月14日
- JIRAチケット: LPS-91760
変更点
メソッドgetBadColumnNamesが次のクラスから削除されました。
com.liferay.dynamic.data.mapping.service.persistence.DDMContentUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMDataProviderInstanceUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceRecordUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMFormInstanceVersionUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMStorageLinkUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMStructureLayoutUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMStructureUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMStructureVersionUtilcom.liferay.dynamic.data.mapping.service.persistence.DDMTemplateUtil
影響を受ける人
これは、削除されたメソッドを使用していたすべてのユーザーに影響します。
コードの更新方法
削除されたメソッドを、基本クラスcom.liferay.portal.kernel.service.persistence.impl.BasePersistenceImplで提供されている対応するメソッドに置き換えます。
変更が行われた理由
getBadColumnNamesは、永続性ユーティリティ(com.liferay.dynamic.data.mapping.service.persistence.DDMContentUtilなど)から自動的に削除され、クラスがService Builderによって生成されたときに永続性の実装(com.liferay.dynamic.data.mapping.service.persistence.impl.DDMContentPersistenceImplなど)に保持されました。
module.framework.properties.felix.fileinstall.* ポータルプロパティの名前をmodule.framework.properties.file.install.* に変更
- 日付: 2020年8月8日
- JIRAチケット: LPS-115016
変更点
module.framework.properties.felix.fileinstall.で始まるポータルプロパティの名前が module.framework.properties.file.install.で始まるように変更されました。
影響を受ける人
これは、module.framework.properties.felix.fileinstall.で始まるポータルプロパティを持っているすべてのユーザーに影響します。
コードの更新方法
module.framework.properties.felix.fileinstall.で始まるポータルプロパティの名前をmodule.framework.properties.file.install.で始まる名前に変更します。
変更が行われた理由
この変更は、Apache Felix Fileinstallのインライン化を反映しています。 Liferayがこの機能を管理および維持するようになったため、プロパティの名前が適切に変更されました。
buffered.increment.enabledポータルプロパティの置き換え
- 日付: 2020年10月21日
- JIRAチケット: LPS-122159
変更点
buffered.increment.enabledポータルプロパティを使用したビューカウント管理の有効化と無効化は、view.count.enabledポータルプロパティを使用するように置き換えられました。
ビューカウントのグローバルな有効化と無効化が、view.count.enabledポータルプロパティを使用して実行されるようになりました。
たとえば、特定のエンティティのビューカウントを無効にするには、view.count.enabled[SomeEntity]=falseを設定することで可能になりました。
影響を受ける人
これは、buffered.increment.enabled=falseポータルプロパティ設定を持っているすべてのユーザーに影響します。
これは、buffered.increment.enabled[SomeEntity]=falseポータルプロパティ設定を使用して、一部のエンティティ(SomeEntityなど)のビューカウントを無効にしたすべてのユーザーに影響します。
コードの更新方法
buffered.increment.enabled=falseをview.count.enabled=falseに置き換えます。
buffered.increment.enabled[SomeEntity]=falseをview.count.enabled[SomeEntity]=falseに置き換えます。ここで、SomeEntityは、ビューカウントを無効にするエンティティです。
変更が行われた理由
これにより、ビューカウント動作の管理が容易になります。
module.framework.properties.file.install.optionalImportRefreshScopeポータルプロパティの削除
- 日付: 2021年2月3日
- JIRAチケット: LPS-122008
変更点
module.framework.properties.file.install.optionalImportRefreshScopeポータルプロパティが削除されました。 ファイルのインストールでは、更新が必要なオプションのパッケージを含むバンドルをスキャンするときに、常に管理対象バンドルのみがチェックされるようになりました。
影響を受ける人
これは、module.framework.properties.file.install.optionalImportRefreshScopeポータルプロパティを指定しているすべてのユーザーに影響します。
コードの更新方法
module.framework.properties.file.install.optionalImportRefreshScopeプロパティを削除します。 他の動作を使用するようにファイルのインストールを構成することはできません。
変更が行われた理由
代替動作が望まれるケースはほとんどありませんでした。 ファイルのインストールはバンドルをLiferayにインストールする主な方法であるため、すべてのバンドルはデフォルトでLiferayによって管理されます。 この機能をサポートする分岐ロジックを削除すると、コードの保守性と可読性が向上します。
.cfgファイルに.cfg形式を使用
- 日付: 2021年2月21日
- JIRAチケット: LPS-128031
変更点
この変更の前は、.cfgファイルは.cfgまたは.config形式を使用できました。 現在、.cfg構成ファイルは ここ で定義されている.cfg形式を使用する必要があります。
影響を受ける人
これは、.config形式を使用している.cfgファイルを持っているすべてのユーザーに影響します。
コードを更新するにはどうすればよいですか?
.cfgファイルの名前を.configに変更し、.config形式を使用していることを確認するか、.cfgファイルを.cfg形式を使用するように変更します(上記のリンクを参照)。
なぜこの変更が行われたのですか?
Apacheのファイルインストール実装により、.cfgファイルで.config形式を使用できるようになりました。 独自のファイルインストール実装を使用するように切り替えたとき、保守性を容易にするために、より厳密なフォーマット処理を行うことにしました。