同じカスタムフラグメント内の値に基づいて、フィールドの可視性を設定できるようになりました。 これにより、ユーザーの入力に基づいてフィールドを動的に表示または非表示にすることができ、より応答性の高い、コンテキストを考慮したインターフェースをサポートします。
このアップデートにより、カスタムフラグメントを構築する際の柔軟性が増し、カスタムコードを追加することなく複雑なユースケースを簡単にサポートできるようになりました。
Release Notes
同じカスタムフラグメント内の値に基づいて、フィールドの可視性を設定できるようになりました。 これにより、ユーザーの入力に基づいてフィールドを動的に表示または非表示にすることができ、より応答性の高い、コンテキストを考慮したインターフェースをサポートします。
このアップデートにより、カスタムフラグメントを構築する際の柔軟性が増し、カスタムコードを追加することなく複雑なユースケースを簡単にサポートできるようになりました。
お客様は非常に一般的にdeployフォルダを通してフラグメントをデプロイしますが、フラグメントのインポートが完了すると、ログが1つ欠落していることを確認しました。 これまでLiferayは、アプリケーションサーバーのログにフラグメントのインポートが開始されたことを示すメッセージを追加していましたが、いつ終了したかを示すことはありませんでした。 インポートプロセスが終了したときにログを記録することのメリットは、お客様が失敗した場合に通知されるだけでなく、デプロイがまだ進行中と終了した際に確認できることです。
この機能により、ページエディタで複数ステップのフォームを作成できるようになります。
ユーザーが最初のコレクション表示項目のみを変更できるようにします。
ClayコンポーネントとAPIテーブルの既存のドキュメントは、品質に一貫性がなく、詳細な説明や実用的な例が欠けていることが多くあります。この一貫性のなさが、開発者がこれらのコンポーネントを効果的に活用することを困難にし、混乱とサポート依頼の増加を招いています。
主なメリット:
開発者は、コンポーネントのAPIテーブルを生成するためのより良いメカニズムを持つようになり、コンポーネントの使用法と利用可能なAPIに関する全体的な理解が向上しました。 詳細な解説と実例付き。
この新しい標準化された文書化手法により、すべてのコンポーネントにおいて均一な品質と完全性を確保することができます。。
より明確で、より構造化され、より実用的な文書は、フラストレーションを軽減し、開発プロセスを改善します。
より明確な文書化により、外部サポートの必要性を最小限に抑え、リソースを解放し、対応時間を改善します。
Clayテーブルのカラム表示ドロップダウンとカラムのソート機能をフロントエンドのデータセットに統合しました。これにより、一貫性のないカスタム実装に代わって、Liferay全体でテーブルインタラクションへの統一されたアプローチが可能になります。
主なメリット:
より標準的なカラムの表示とソートにより、プラットフォーム全体でより使いやすく、予測可能なインタラクションが保証されます。
Clayテーブルのネイティブ機能に合わせることで、冗長なコードを削減します。
開発者は、同様の機能に対して複数の実装を管理する必要がなくなりました。
LiferayのデザインシステムとのUIとUXの一貫性を確保します。
Liferayのスタイルブックは、作成時に特定のテーマに明示的に結び付けられるようになりました。(OSGiまたはthemeCSSクライアントエクステンションを介して)そのテーマが提供するフロントエンドトークンの定義を使用します。 この構造的なリンクにより、各スタイルブックは関連するテーマの境界内でのみ使用できるようになり、テーマ横断的なトークンの汚染を排除し、より明確なテーマベースのデザインガバナンスを実現します。
主なメリット:
異なるテーマのトークンを誤って組み合わせたスタイルブックを保存することがなくなり、視覚的な不一致やデザインの後退を防ぐことができます。
すべてのスタイルブックに、どのテーマに属しているかが目に見える形で表示されるようになったため、ミスが減り、チームが複数のサイトでデザインアセットを管理しやすくなりました。
スタイルブックをページに適用する際、システムはそのページの現在のテーマと同じテーマで作成されたものだけをリストアップします。
スタイルブックが適用されたテーマと互換性がなくなった場合(テーマ変更後など)、表示の問題を防ぐために自動的にリンクが解除されます。
プラットフォームのアップグレード時に、既存のスタイルブックはサイトの現在の公開テーマ(サイトビルダー > ページ > オプション > 設定で定義)に自動的にリンクされるため、手作業によるクリーンアップ作業が軽減されます。
有効な themeId を持たないスタイルブックがインポートされた場合、ユーザーには明確な警告が表示され、インポートを修正するために何が足りないのかが正確にわかります。
デプロイされなくなった、または有効なフロントエンドトークン定義を提供しなくなったテーマに基づくスタイルブックは、自動的に非アクティブとしてマークされます。
OSGiまたはthemeCSSクライアントエクステンションIDが非アクティブなスタイルブックのために表示され、開発者や管理者がどのテーマを再インストールまたは修正する必要があるかを特定するのに役立ちます。
Liferay DXP 2025.Q2のリリースに伴い、Elasticsearch 7との互換性は廃止されます。 Liferayは、7.17.x またはそれ以前のデプロイメントをご利用のすべてのお客様に、Elasticsearch 8.xの最新互換バージョンへのアップグレードを強くお勧めします。詳細はこちら。
高可用性を提供する並行再インデックスモードと同期再インデックスモードは、Liferay DXP 7.4 Update 98 / Liferay DXP 2023.Q4 で導入され、GAになりました。
新しい同時および同期再インデックス実行モードにより、操作実行中の検索機能の高可用性が提供され、ダウンタイムが短縮され、運用とリソース利用の効率が向上します。
このリリースでは、システムデータセットと呼ばれる新しいタイプのデータセットが導入され、管理ユーザーがJava/コードデータセットのクローンを作成し、データセットマネージャーで編集およびカスタマイズできるようになりました。
このリリースでは、オーダーページのデータセットがシステムデータセットとして利用できるようになりました:
保留中の注文商品
発注済みの注文商品
注文の返品
保留中の注文
発注済みの注文
次のリリースでは、より多くのデータセットがリストに追加される予定です。
主なメリット:
このエピックは、これまでハードコードされていたデータセットの部分的なカスタマイズを可能にすることで、Liferay DXPの柔軟性を高めます。
管理者はユーザーエクスペリエンスをよりコントロールできるようになり、多様で進化するビジネス要件に対応するプラットフォームの能力が強化されます。
これはまた、ハードコードされたデータセットを変更したり、置き換えたりするためのカスタム開発の必要性を減らすことにも繋がります。
管理者ユーザーがデータセットを管理する場合、並べ替えオプション、フィルタ、およびアクションを作成できます。 これまでは、管理者ユーザーがエンドユーザーに表示しないことを選択した場合、それらを削除する必要がありまし。 今後、これらのサブエンティティは無効化ができるようになったため、編集の進捗を失うことなく、エンドユーザーから隠すことができます。
主なメリット:
Liferay DXP 全体のフロントエンド・データセットにおけるバルクアクションの使いやすさ、機能性、一貫性を改善しました。 アイテムの選択動作が改良され、可視化モードの一貫性が確保され、一括アクションの可視性が向上し、エンドユーザーにとってより直感的で効率的なインタラクションが実現しました。
主なメリット:
コンテンツ作成にHTML5を採用するお客様が増えるにつれ、現在のリッチテキスト編集機能をアップグレードする必要性が高まっており、CKEditor 5はこの需要に応えるため、Liferay DXPのデフォルトエディタとして採用されました。 このリリースでは、CK Editor 5がDXPで利用可能になり、Beta Feature Flagの下で4つの異なるエクスペリエンスにインストールされました(FF-11235):
Webコンテンツ
オブジェクトエントリ (リッチテキストフィールドの編集)
ドキュメントタイプ (リッチテキストフィールドを追加する場合)
メタデータセット (リッチテキストフィールドを追加する場合)
フォーム
要素セット
この後、CK Editor 5 は近い将来、他の領域やエクスペリエンスにも組み込まれる予定です:
主なメリット:
CKエディタがすべてのDXPで利用可能になった場合のメリットです。現在の取り組みには、Webコンテンツのみが含まれることにご注意ください。
HTML5やコンテンツセキュリティポリシー(CSP)などの最新のWeb標準をサポートします。
外部ツールからのシームレスなコピー&ペーストを実現します。
インラインエディタなどのOOTB機能を活用し、より柔軟な編集ワークフローを実現します。
サポートされ、積極的にメンテナンスされているCKエディタのバージョンを採用します。
複数のエディタへの依存をなくし、Liferay DXP 全体で編集のエクスペリエンスを標準化します。
CSPサポートの拡張を継続するために、2 つの新しいディレクティブ(base-uriおよびobject-src)がサポートされるようになりました。
これら2つの新しいディレクティブのサポートにより、Liferay DXPはGoogle CSP Evaluatorで推奨されているすべてのディレクティブをカバーします。
主なメリット:
セキュリティの強化: リソースのロードと実行を制御することで、XSS攻撃やデータインジェクション攻撃のリスクを軽減します。
コンプライアンスフレンドリー: 業界標準のセキュリティ要件に準拠し、より厳格なコンプライアンスプロトコルをサポートします。
カスタマイズ可能なポリシー: 開発者は、特定のプロジェクトや組織のニーズに合わせて CSPディレクティブをカスタマイズできます。
信頼の向上: より安全で信頼性の高いプラットフォームエクスペリエンスを提供することで、エンドユーザーの信頼を強化します。
サポートされているディレクティブと推奨値:
グローバルサービスと協力して、Javascriptリソースの配布や未使用コードにおけるペインポイントを特定することが、そのきっかけとなりました:
未使用パッケージの削除
古いパッケージの非推奨化
ユーザーが一部の機能を使用しない / ロードしないように設定
JSサイズ比較レポートの作成
モジュールをより小さなサブモジュールに分割できるツールの作成
主なメリット:
JSバンドル・サイズの削減 → ポータル・ローディングの高速化
総輸出量の削減 → ポータルのローディングの高速化
マスタークラスのホームページを例にすると:
JSのMBサイズを20%削減
リクエスト数を12%削減
モービルライトハウスのスコアは52から56へ
デスクトップ・ライトハウスのスコアが70から77に
モジュールの一部が一般的に使用されていないことがわかった場合、チームがモジュールを分割し、より小さなエントリーポイントを提供できるようにする
リスクをトリガーできるサイズレポートツール
Lodashライブラリは、非推奨となっており、非推奨FF LPD-48975が有効になっていない限り、バンドルに含まれません。
AMDローダーは非推奨となっており、非推奨FF LPD-48372が有効になっていない限り、バンドルに含まれません。
AMDローダーが非推奨になった結果、npm-bundlerも動作しなくなるので、webpack、esbuild、viteなどの標準的なバンドルツールを使うことを推奨します。
JSコンポーネントのサポートタブ (data-toggle="liferay-tabs" API ) は非推奨となっており、非推奨 FF LPD-47713 が有効になっていない限り、バンドルに含まれません。
DXPは、MySQL 8.4 データベースバージョンでの使用が認定されました。2025.Q1 LTSにも適用されます。
主なメリット:
MySQL データベースの最新 LTS バージョンへのアップデートを許可します。 LTSリリースであるMySQL 8.4は、バグ修正とセキュリティパッチがオラクルから長期間提供されるため、本番環境において最も安定した予測可能なバージョンです。 この長いサポート期間により、頻繁なメジャーアップグレードの必要性を減らすことができます。
Liferay DXPは、異なるインストール間での仮想インスタンスのオンデマンドマイグレーションを可能にし、特にクラウドベースのデプロイメントにおいて、既存の環境をポータブルにし、管理を容易にします。 オンプレミスからLiferay SaaSに移行する場合でも、同じインストールで環境間(UATから本番など)を移行する場合でも、この機能はデータベース全体ではなくインスタンスの移行を可能にし、プロセスを簡素化します。
この機能は、ベータ機能フラグで有効にできます: LPD-11342
Liferayは、Jakartaのリリースと新しいアプリケーションサーバーバージョンのリリースに伴い、フル機能を備えたエンタープライズプラットフォームを目指しています。Java 17のサポートにより、パフォーマンス向上とクラウドコスト削減につながるJava 21の機能が利用できなくなります。2026年にJava 21に完全注力する予定であるため、Java 17を非推奨とします。
この機能は、オブジェクトのすべてのフィールドをローカライズ可能にし、ユーザーが選択したロケール設定に従って表示できるようにすることを目的としています。
主なメリット:
ローカリゼーション機能は、システム内のすべての既存ロケールをサポートします。
カスタムオブジェクトエントリと変更可能なシステムオブジェクトエントリ。
ローカライゼーションの設定が個々のフィールドレベルで管理されるようになりました。
この機能は、お客様がオブジェクトの検証を利用する方法を提供し、エンドユーザーが必要とするエクスペリエンスを管理します。
主なメリット:
複数ステップのフォームでは、データを永続化することなく、各ステップでエンドユーザーのデータを検証できるようになります。
サードパーティのシステムからのデータは、プロキシオブジェクトを使用することで、DXPで管理できるようになりました。 顧客は、Liferayのローコードフロントエンドアプリケーションの構築機能を使用して、DXPでデータを表示するために、適切なSSOの実装と横断的なOAuth 2に頼ることができるようになりました。
重要: データはLiferayのデータベースで永続化されないので、プロキシオブジェクトにはいくつかの制限があります。詳しくはこちら。
複数の環境にまたがるコンテンツの管理と同期が、より簡単で信頼できるものになりました。 このリリースで、Liferayは2つの強力な機能強化を導入し、バッチエンジンの機能を拡張しました:
外部参照コードによる一括削除 - 内部IDの代わりに外部参照コードを使用してアイテムを削除できるようになったため、一括削除がよりシンプルになり、環境間で一貫性が増しました。
削除のインポート・ストラテジーのサポート - バッチ削除を実行する際、ユーザーは操作を部分的(エラー時に停止)にするか、完全(一部のアイテムが失敗しても継続)にするかを定義できるようになり、プロセス中のコントロールとフォールトトレランスが向上しました。
これらのアップデートは、特に外部識別子に依存する環境や、ステージング、プロダクション、その他のインスタンス間で一貫したデータメンテナンスが必要な環境において、チームが一括削除を管理する方法を合理化します。
主なメリット:
より信頼性の高い環境同期: 外部参照コードにより、内部IDに依存することなく、異なる環境間で同じエンティティを削除できるため、ミスマッチのリスクを低減できます。
一括削除ワークフローの簡素化: 大規模なデータセットの削除がより簡単になり、手作業の手順が減り、エラーの可能性が低くなりました。
削除操作をより自由にコントロール: エラー時にプロセスを停止するか、完全に完了させるかを選択できるため、チームの運用ニーズに合わせて動作をカスタマイズできます。
回復力と耐障害性の向上: 削除ジョブが些細な問題で完全に失敗する可能性が低くなり、保守プロセスがよりスムーズになります。
エンティティ間の一貫したサポート: これらの機能強化は、バッチエンジンがサポートするすべてのエンティティタイプで利用できるため、さまざまなユースケースに幅広く適用できます。
バッチエンジンの各実行により柔軟性を持たせるため、新しいパラメータ(batchExternalReferenceCode)を追加し、インポートタスクのERCを更新せずにバックエンドに送信できるようになりました。
主なメリット:
目的ごとに1つのパラメータで実行できるので、実行が簡単です。
バッチをサポートするすべてのエンティティに新しい機能を追加します。
私たちは、SCIMプロバイダーの仕様(Microsoft Entra、Cyber Arkなど)を実装することで、最も関連性の高いSCIMプロバイダーを設定できるようにしました。
主なメリット:
トップクラスのアイデンティティ・プロバイダのSCIMエンドポイントを導入することで、自動化されたプロビジョニング、デプロビジョニング、およびプラットフォーム間でのユーザー・データの同期が可能になり、ユーザー管理が合理化され、セキュリティが確保されるようになります。 これにより、セキュリティが強化され、コンプライアンスが確保され、手作業が減り、一貫性とユーザーエクスペリエンスが向上します。 標準化された相互運用性により、将来的な統合を保証し、運用効率を高めると同時に、ID ライフサイクル・イベントの可視性と制御性を向上させます。
マルチテナント環境のニーズを満たすために、Captchaエンジンはインスタンスレベルで設定可能である必要があります。他のインスタンスの設定に干渉することなく、1つのインスタンスに対しての設定が可能でなければなりません。
主なメリット:
インスタンスレベルでCAPTCHA を有効にすると、グローバル設定に影響を与えることなく、柔軟な設定が可能になります。 これにより、カスタマイズされたセキュリティとユーザーエクスペリエンスをサポートし、インスタンスごとのコンプライアンスを実現します。
BETAフラグを有効にしなくても利用できるようになり、今後は正式にサポートされます。
メンテナンス期間中に問題が発生すると、エンドユーザーにはブランド化されていないデフォルトのメンテナンスページが表示されていました。そのため、ユーザーフローの一部が放置され、お客様はユーザーを適切な次のステップに誘導することができませんでした。DXPがダウンしている場合でも機能するメンテナンスページの設定と管理には、必ずしもすべてのお客様が備えているわけではない技術的なスキルが必要であり、多くのお客様にとって現実的ではありません。
お客様は、自社ブランドにマッチした、お客様への対応手順を記載したメンテナンスページを独自に設計し、アップロードできるようになりました。この実装はDXPインスタンスとは独立して機能するため、ダウンタイムを検知するとすぐに、クラウドコンソールのメンテナンスページをユーザーに表示し、ダウンタイムの原因となった問題に対処できるようになります。
Liferayのスケーリング動作の設定は単純ではありません。お客様は、閾値を設定するために、アプリケーションのメトリクスがどのように動作するかを深く理解する必要があります。また、時間やインスタンスの規模に応じて料金が発生するため、お客様は請求金額に戸惑うことになります。
そのため、クラウドコンソールのスケーリングページで、スケーリングするインスタンスの最大数と最小数を設定できるようにしました。これにより、技術に詳しくないお客様でも、アプリケーションのスケーリングに必要なコストを自由にコントロールできるようになります。これにより、インスタンス数の増加によるユーザーエクスペリエンスの向上と、それに伴うコストの増加とのバランスを、的確に判断できるようになります。
Liferay Developer Studioのインストーラーは、JDK 21が利用可能な場合、選択可能なオプションとして含まれるようになり、初期セットアップを簡素化し、Liferayがサポートする最新のJavaバージョンを使用したい開発者により便利でユーザーフレンドリーなエクスペリエンスを提供します。
This initiative focuses on developing a dedicated "Publisher Page" on the Liferay Marketplace. This page will serve as a public profile for each vendor or seller, showcasing their products, brand, and relevant information like company description, company logo and a contact us form to reach out the publisher directly.
The enhancement aims to improve the overall Marketplace experience by:
Providing greater visibility and credibility for publishers.
Enabling customers to make more informed purchasing decisions.
Fostering a stronger connection between publishers and customers.
Offering publishers a new avenue for marketing and branding.
Implement multi-currency support to enable marketplace to display product prices in various currencies.
This feature aims to enhance user experience by allowing publisher to set the price of their apps in multiple currencies during the publisher workflow which are:
Euro (mandatory)
USD (mandatory)
Rupee
Yen
This release introduces several key improvements across the new Order Pages:
Dedicated Shipping Tab for Placed Orders: A new "Shipping" tab has been added to the Order Pages specifically for placed orders, providing a clear and organized view of shipping details for buyers.
Modular Order Summary Fragment: The existing "Order Summary" type for the InfoBox fragment has been removed and replaced with a new, more flexible "Order Summary" fragment. This allows for displaying individual fields from the order summary.
Enhanced Order Items Table: The Order Items listing table now features Search and Pagination capabilities, making it easier for buyers to navigate and find specific items within large orders.
Automated Channel Defaults Application: When a Channel Default (including Addresses, Payment/Delivery Terms, Shipping Options, Payment Options) is configured for an account, the selected default will now be automatically applied to new orders, streamlining the order creation process for buyers.
Advanced Placed Orders Search: You can now search by Shipping Address fields directly within the Placed Orders list, offering more granular control for buyers when locating their specific orders.
Renamed "Notes" Tab: The "Notes" tab in the Orders Admin UI has been renamed to "Questions & Answers" to align with the updated UI in the new Order Pages, improving consistency across the platform for administrators.
Improved Clarity and Organization: Easily access shipping information and view order summaries in a more structured, modular format.
Enhanced Efficiency: Quickly find specific order items with new search and pagination, and save time with automatic application of channel defaults.
Consistent User Experience: Enjoy a more unified and predictable interface across different order management sections, reducing confusion and improving usability.
Better Data Management: Gain more powerful tools for searching and managing your placed orders, allowing for faster problem resolution and data retrieval.
Streamlined Workflows: Automate the application of default settings, reducing manual input and potential errors during order processing.
We've introduced a new toggle within the Channel Details section, labeled "Hide Orders List in the Account Selector".
This new setting allows you to configure whether the list of open orders is displayed or hidden from the account selector interface for a specific channel. By default, the orders list is visible, and the "Hide Orders List in the Account Selector" toggle is set to off. When activated, the open orders list will no longer appear, providing a cleaner, more streamlined view.
Enhanced Privacy: For channels where order visibility is not desired or necessary for all users, this toggle provides an immediate way to restrict that information.
Improved User Experience: Reduce visual clutter in the account selector, making it easier for users to focus on relevant account information without being distracted by a potentially long list of orders.
Greater Flexibility: Tailor the display of each channel to better suit its specific use case and audience, offering a more customized and efficient experience.
We've introduced a brand new Upload option type for products. This option allows buyers to seamlessly upload a file directly during the purchase process.
Similar to our existing product options, the Upload option can be configured either in the Options UI or directly within the Product Options UI. Merchants also have the flexibility to mark this option as "Required", ensuring that a file upload is mandatory before a product can be purchased. Please note that this new Upload option is not eligible for SKU contribution.
In the storefront, the Upload option will appear as a disabled text input field, which will display the name of the uploaded file. Alongside this, buyers will see clear "Select" and "Clear" buttons to manage their file uploads.
Enhanced Customization:Provides buyers with the ability to personalize products by uploading their own files.
Broader Product Offerings:Enables merchants to offer and sell products that require customer-provided assets, such as custom prints or personalized items.
Improved Buyer Workflow:Integrates file uploads directly into the purchasing flow, creating a more cohesive experience for custom orders.
This enhancement allows administrators to seamlessly duplicate an existing role along with all of its current permissions.
Similar to creating a new role from scratch, Role Duplication can be initiated directly from the Roles list. Administrators can simply select an existing role, choose Duplicate, and assign a unique name to the new role. The system then creates a fully configured duplicate, including all existing permissions, and redirects the administrator to the Role Details page for further adjustments.
Please note that only the role’s current permissions are copied at the time of duplication. If new applications are deployed later, their permissions are not automatically added to the duplicated role.
Faster Role Setup: Quickly create new roles by reusing an existing permissions set without manual configuration.
Consistency Across Roles: Maintain uniform permission structures across similar roles, reducing the risk of errors.
Scalable Administration: Streamline management in large environments where many roles share similar access patterns.
This feature introduces the ability to define and manage custom address types as sub-types of the main address categories—Billing, Shipping, or Billing & Shipping—in Commerce - Account Addresses. This significantly enhances address management flexibility for B2B businesses operating across multiple locations, departments, or stakeholders.
Previously, address management was limited to only two hardcoded types: Shipping and Billing. With this release, businesses can now define additional sub-types (e.g., Ship-to Party, Sold-to Party, Ordering Address, Payer, Disti Branch Officer, DC Delivery Address) through a newly introduced Picklist-based configuration system. These sub-types are configurable and can be mapped directly under one of the three main categories.
This approach ensures compatibility with common ERP systems like SAP, which already support a range of address roles in the order-to-cash process.
This feature allows buyers to actively select their preferred currency from a list of currencies enabled by the administrator for the specific sales channel they are interacting with. Once a currency is selected, all prices will be displayed in that chosen currency throughout their shopping experience.
Changing the currency automatically creates a new order in the newly selected currency.
Crucially, this feature allows merchants to better manage their international pricing strategies (e.g. smart pricing per currency), fine tuning prices when not relying on exchange rates only.