リリースノート
2023 Q3 四半期ごとのリリース
アーキテクチャ
顧客がLiferayを通じてサードパーティシステムのデータを管理できるようにする
ユーザーは、DXPにデータを保持せずに、Liferayを通じて外部システムのデータを管理できるようになりました。
エクステンションのサポートにより、標準的な方法で他のシステムと接続し、他のオブジェクトとしてLiferayエクスペリエンス管理を通じてページビルダーでエクスペリエンスを作成し、Liferayのロール管理を通じて権限を管理することもできます。ユーザーは、コードを一行も書かずに、DXPを通じてSalesforceのデータを管理できるようになります。
このリリースで追加された機能:
プロキシとしてのオブジェクト
プロキシオブジェクトを使用すると、ユーザーはSalesforceなどの外部システムのデータを直接操作できます。この機能により、システム間の重複や競合を回避し、常にライブデータを操作することができます。
現在、Liferayには、プロキシオブジェクト用の Salesforceへのコネクタが含まれています。これを使用すると、Salesforceを外部ストレージ システムとして使用し、プロキシオブジェクトをカスタムSalesforceオブジェクトと統合できます。
高度な通知機能と拡張性
強化された自動化機能により、ユーザーは電子メールとユーザー通知を動的に作成するために使用できる変数や式が増えるだけでなく、より高度な通知を管理できるようになります。さらに、エクステンション機能のサポートにより、お客様は WhatsApp、Line、Slackなどの新しい通知タイプを追加できます。
このリリースで追加された機能:
通知テンプレート設定で関連するユーザー情報を使用します。
動的に生成されたテンプレートの機能を向上させるために、現在のユーザーおよびエントリ作成者に関連する通知テンプレートで使用できる新しい用語が追加されました。
追加された用語:
[%CURRENT_USER_ID%]
[%CURRENT_USER_FIRST_NAME%]
[%CURRENT_USER_LAST_NAME%]
[%CURRENT_USER_EMAIL_ADDRESS%]
[%OBJECT_AUTHOR_ID%]
[%OBJECT_AUTHOR_FIRST_NAME%]
[%OBJECT_AUTHOR_LAST_NAME%]
[%OBJECT_AUTHOR_EMAIL_ADDRESS%]
通知の構成を設定する
この機能により、パワーユーザーは、最初のインスタント試行が失敗した時にメール通知を送信するために再試行する間隔を設定できます。
通知テンプレートで関連オブジェクト(単一リレーション)のエントリの変数を使用します。
通知テンプレートの機能を進化させたこの機能により、ユーザーはコンテキスト内のオブジェクトだけでなく、関連オブジェクトからも変数を使用できるようになります。
ローコードによるデータモデリング機能の向上
ローコードによって可能になるユースケースが増加し、価値実現までの時間が短縮され、ソリューションのスケーラビリティが向上します。ハイライトの一部:
オブジェクトエントリの多言語サポート
新しい暗号化フィールドと日時フィールド
APIレベルでフィールドを読み取り専用にするための新しいルール
オブジェクトデータのGDPR準拠
このリリースで追加された機能:
オブジェクトフィールドのデフォルト値
この機能により、オブジェクト選択リストフィールドのデフォルト値を定義できます。デフォルト値は、カスタムオブジェクトとシステムオブジェクトの両方のカスタムフィールドに対して設定できます。
フィールドを一意のデータとしてのみ定義する構成を有効にします。
この機能により、ユーザーはフィールドの値がそのカラム内で一意であることを要求できます。これが設定されると、システムは2つのレコードがそのフィールドに同じ値を持つことを許さず、そのエントリのキーと同様に動作します。
オブジェクトの日時フィールド
この機能により、新しいフィールドタイプ「日付と時刻」が追加されます。 Datetime
値には、年、月、日、時刻、およびタイム ゾーンが格納されます。このフィールドを使用すると、ユーザーは時間範囲を作成し、優先順位を管理し、エントリをうまく並べ、データにコンテキストと主張を与えることができるようになります。
オブジェクトの翻訳をサポート
この機能により、ユーザーはオブジェクトフレームワーク上にコンテンツのユースケースを作成でき、管理者はオブジェクトのエントリテキストフィールドのローカライズを有効にすることができます。
オブジェクトフレームワークにおける読み取り専用フィールドのサポート
この機能により、すべてのオブジェクトフィールドタイプの読み取り専用のサポートを追加し、ユーザーがUIまたはAPIの両方からこれらのフィールドを更新できないようにします。例えば、デフォルト値やアクションを通じてシステムのみが更新できるようにします。
オブジェクトアクションによるシステムオブジェクトエントリの作成と更新
オブジェクトフレームワークを通じてシステムオブジェクトの拡張性を進化させたこの機能により、ユーザーはカスタムオブジェクトの場合と同様に、オブジェクト アクションを通じてシステムオブジェクトエントリを作成および更新できるようになります。
オブジェクト定義ヘッドレスAPIからオブジェクトのログ情報を取得する
コンテキストのエントリ履歴情報を取得するために、この機能では、オブジェクト Headless API スイートを通じてオブジェクトエントリログ情報を取得するエンドポイントが導入されました。ユーザーが特定のエントリの更新履歴を使用してエクスペリエンスを作成できるようにします。
公開オブジェクトからのフィールド削除
この機能により、オブジェクトが公開される前に追加されたフィールドを公開オブジェクトから削除できます。
基本的な列データの暗号化をサポートするオブジェクトフレームワーク
この機能により、ユーザーはオブジェクトフィールドの基本的な暗号化サポートを有効にできます。
システムオブジェクトとしての組織
この機能は、組織アプリケーションを オブジェクト管理者のシステムオブジェクトとして表示し、ユーザーが拡張したり、他のオブジェクトと関連付けたりできるようにします。
コマース
自動注文分割
OTBワークフローは、顧客がさまざまなサプライヤーから発注した商品の混合バスケットを個々のサプライヤーの注文に分割して、パートナーも存在するマーケットプレイスやWebショップをサポートします。
サプライヤーアカウントと組み合わせて使用されるこのオブジェクトのルールは、一度設定されると、各商品が属するカタログごとにコマースオーダーを自動的に分割します。注文のチャネルは、カタログがリンクされているのと同じサプライヤーにリンクされるチャネルになるように更新されます。注文分割ルールにより、サプライヤーは自社の特定商品の注文を効果的に管理できるようになります。
申し込み時の価格
お客様向けのOTBサポートでは、カタログ製品またはバスケットの見積もりをリクエストし、リクエストに応じてのみ価格設定を制限できます:
製品カタログ管理者が販売代理店との連絡を開始して見積もりを処理できるようにします。
お客様がカタログ製品の見積もりをリクエストできるようにします。
送信された見積リクエストは販売代理店に割り当てられ、レビューおよび処理されます。
クライアントが価格を設定する代わりに、個々の製品の見積もりをリクエストできるようにします。
価格表またはプロモーションを使用して製品の価格を「申請時の価格」として設定するオプションが含まれます。
特定のチャネルの定価カートで「見積もりをリクエスト」のオプションを有効にする機能もあります。
申し込み時の価格
COMMERCE-11028: Price on Application
サプライヤーの注文とカタログの管理
OTBアカウントタイプのサプライヤーと、独自の製品カタログとチャネルを管理できる機能を付与するジェネリックサプライヤーの役割により、サプライヤーが製品と注文を管理しやすくなります。これにより、サプライヤーは、サプライヤーカタログからSKUを使用して製品バンドルを作成できるようになります。
サプライヤーの新しいアカウントタイプ。サプライヤーは自社製品の注文を満たすために、自社製品、価格リスト、プロモーション、カタログ、割引、在庫、チャネルを管理することができます。
エクスペリエンス
AIを活用したコンテンツ作成機能を有効にする
OpenAI ChatGPTとの統合により、コンテンツ作成者は、最もトレンディーなAIコンテンツジェネレーターからWebコンテンツに関する提案を受けることができるようになります。
このリリースで追加された機能:
Webコンテンツエディターを通じてコンテンツを投稿するためのChatGPTの統合
ChatGPTとの統合を有効にし、Webコンテンツエディターからテキストを生成できるようにしました。
CKEditor(Webコンテンツエディター)に新しいボタンが追加され、ユーザーがプロンプト(botへの指示)を書いたり、トーンや長さなどの追加パラメータを追加できるモーダルがトリガーされます。
お客様と見込み客が当社のアクセシビリティを理解できるようにするストラテジー
お客様に当社のアクセシビリティ戦略を理解していただき、第 2 四半期末までにVPAT (製品アクセシビリティ自主テンプレート) / アクセシビリティ適合性報告書をリリースすることをお伝えします。
Digital Experience Platform Accessibility Conformance Report
このリリースで追加された機能:
アクセシビリティ対応の管理エクスペリエンスをカスタマイズできるようにするアクセシビリティメニュー。
ユーザーが好みやニーズに合わせて特定のアクセシビリティプロパティを簡単に設定できるようにするために、アクセシビリティメニューを用意しました。
アクセシビリティメニューでは、各ユーザーが特定の方法でアクセシビリティ設定をカスタマイズできるため、DXPはそのユーザーのニーズに基づいたカスタムアクセシビリティ設定を行うことができます。アクセシビリティメニューは、「コンテンツへスキップ」オプションの直後にある「タビュレーション」を使用して、キーボードナビゲーションからアクセスできます。
マネジメント
Headlessリソースのデータセットビューの設定と定義
データセットマネージャーにより、お客様はHeadless APIを活用してデータを表示・管理するためのビューをローコードで定義できるようになります。
データビューに表示する内容をカスタマイズできるようになります。
ビューのカスタマイズは、UIで行われるため、手間を削減します。
プラットフォームのアップグレード後のUIの調整に必要な作業量を削減します。
このリリースで追加された機能:
Headlessリソースのデータセットビューの設定と定義。
Headlessリソースのデータセットビューの設定と定義。
データセットマネージャー(コントロールパネルのデータセット)という新しいアプリケーションにより、管理者はUIを通じて、利用可能なさまざまなHeadlessリソースのデータセットビューを定義できます。管理者は、データソースを選択し、利用可能なカラムを設定し、異なるビューのページネーションオプションを設定することができます。
この機能を有効にするには:
portal-ext.properties
にfeature.flag.LPS-167253=trueを追加する。インスタンス設定 > 機能フラグ へ移動し、ベータタブで“データセットマネージャ”を有効にする。
データ セットマネージャーに加えて、ユーザーに最大限の価値を提供するために、次の2つのコンポーネントが追加されました:
新しいフラグメントにより、これらのビューを任意のコンテンツページに統合できます。コンテンツマネージャーは、各フラグメントに表示するデータセットビューを選択します。
新しいフロントエンドクライアント拡張機能であるフロントエンドデータセットセルレンダラーにより、開発者はデータセットビューの任意のフィールドのレンダリング方法をカスタマイズでき、任意の列のルック&フィールを完全に制御できます。
Content Security Policy
コンテンツセキュリティポリシー(CSP)は、クロスサイトスクリプティング(XSS)やデータインジェクション攻撃など、特定の種類の攻撃を検出して軽減するのに役立つ追加のセキュリティ層です。これらの攻撃は、データの盗難からサイトの改ざん、マルウェアの配布に至るまで、あらゆる目的で使用されます。
このリリースで追加された機能:
コンテンツセキュリティポリシー
Feature Description
その他の新機能および性能
ビジネスプロセス管理とオブジェクト
このリリースで追加された機能:
オブジェクトデータのGDPR準拠
この機能は、GDPRルールをオブジェクト エントリに適用します。管理者がユーザーの個人データの削除を選択すると、そのユーザーに関連するオブジェクトエントリも削除されます。
通知キューに電子メール通知を追加します
この機能により、開発者は電子メール通知を通知キューに直接追加できるようになります。これは、お客様が電子メールエンジンロジック全体を書き直す必要がなく、電子メール通知のテンプレートが必要なカスタムロジックをサポートしていない場合に役立ちます。
エクスペリエンス管理
このリリースで追加された機能:
ページビルダーからのスタンドアロンオブジェクトアクションのマッピングとトリガー
ページビルダーを通して、コンテンツページのUIからクリックでスタンドアロンアクションをトリガーするようにフォームとコンテンツページを設定できるようになりました。
編集可能なタイプのアクションで利用できる新しいマッピングタイプを追加しました。これをすぐに提供するために、リンクボタンとアクションボタンを切り替える設定を含むようにボタンフラグメントを進化させました。
フォームコンテナに自動的にマッピングされるカスタムフラグメントの設定
特に、顧客が独自のルック&フィールや動作に従って独自のカスタムフォームフラグメントを作成するシナリオでは、フォームに依存してビジネスプロセスとやり取りするエクスペリエンスをより迅速に実装できるようになりました。
フォームコンテナがオブジェクトにマッピングされた時に、どのフォームフラグメントを各オブジェクトフィールドタイプに自動的にマッピングするかをユーザーが決定できる設定を追加しました。
500 エラーページのカスタマイズ
404 機能で行われたように、この機能は、完全にカスタマイズ可能なOOTB 500 エラーページを提供し、ゼロから新しいものを作成でき、お客様のユーザーエクスペリエンスに完全に適応できます。
ナビゲーションメニュー管理アプリケーションのユーザビリティ改善
アプリケーションの全体的なユーザビリティを改善し、アイテムの並び替えや追加もできるようになりました。また、機能のアクセシビリティも向上しました:
- キーボードを使ってナビゲーションメニューのアイテムを移動できるようになりました。
- ナビゲーションメニューにアイテムを追加する際、追加したい場所を選択できるようになり、より柔軟になりました。
ページへのリンクフィールドとフラグメントのマッピング
フラグメントは、ストラクチャにある「ページへのリンク」フィールドタイプをマッピングするための編集可能なタイプを提供するようになりました。
- ページ作成者は、コンテンツページからフラグメントに「ページへのリンク」フィールドをマッピングできます。
- 「ページへのリンク」フィールドは、サイトがインポートされた後でも、コンテンツページのフラグメントを通してマッピングされます。
フラグメントのキャッシュ可能プロパティの設定とUXの改善
以前は、フラグメントのcacheable設定を変更すると、"保存" アクションと潜在的な変更伝播アクションが必要でした(キャッシュ設定のみが変更された場合、変更はありません)。このため、パフォーマンスやその他の面で問題が発生していました(間違った更新日など)。
今後は、これを避けるために、フラグメントの Cacheable プロパティはフラグメントオプションの楕円メニューで管理されるようになります: フラグメントサブ要素リファレンス
これにより、この構成が変更されるときにフラグメントの保存と伝播が防止され、より効率的で問題が発生しにくくなりました。
さらに、キャッシュラベルが追加され、どのフラグメントがアクティブなキャッシュを持っているかがわかりやすくなりました。
重要: Cacheableの設定がフラグメントエディタ内にあることを期待しているかもしれないため、重大な変更が加えられましたが、現在は別の位置に配置されています。
オブジェクトの関係を表示するためのページビルダーのサポート
オブジェクトの関係を表示するためのページビルダーのサポート
ページを作成し、オブジェクトエントリを視覚化するページを表示する時に、ユーザーは関連するオブジェクトエントリを簡単に表示できるようになりました。これを可能にするために、以下を追加しました:
1 対多または多対多のオブジェクト関係シナリオでは、新しい関連アイテムコレクションプロバイダーは、1 対多および多対多の関係の「多」側の情報にアクセスします。例えば、「国」オブジェクトと、それらの国の都市に関連する「都市」オブジェクトです。この新機能により、ユーザーは、関連アイテムコレクションプロバイダーを介して、国に属する都市や各都市のその他のデータを簡単に一覧表示できるようになります。
1対多のオブジェクト関係では、「多」側のアイテムをリストまたは表示している場合、「1」側の情報も直接マッピングに利用できます。例えば、「国」オブジェクトと、それらの国の都市の関連オブジェクトです。この新しい機能により、都市をリストするときに、各都市が属する国を簡単に表示できるようになります。
添付ファイルのフィールド属性 (ダウンロードURLやファイルサイズなど) を直接マッピングできるようになりました。
Webコンテンツのストラクチャで使用できる新しい日時フィールド
ユーザーは、Webコンテンツのストラクチャで利用できる新しい日付/時刻フィールドを使用して、より豊富な Webコンテンツを作成できるようになりました。さらに価値を高めるために、この新しいフィールドを任意のフラグメントの編集可能なタイプの日付/時刻にマッピングできるようになり、ユーザーがコンテンツ ページで日付と時刻の値をカスタマイズできるようになります。
新しい日付と時刻フィールド。
Webコンテンツに日付/時刻の値を追加できます。
フラグメント設定のカスタムフォーマット。
カスタム日時の表示。
コンテンツダッシュボードの新しいカラム(レビュー日時)
コンテンツダッシュボードに表示される情報を改善するために、レビュー日時の値を含む新しいカラムを追加しました。この新しいカラムを使用すると、ユーザーはレビューが必要なすべてのコンテンツを簡単に表示できるようになります。さらに、レビュー対象のコンテンツのみを表示する機能を提供する新しいフィルターを開発しました。
注意: この変更を実行するには、新しいフィールドを伝播できるように、完全なインデックスの再作成が必要です。
レビュー日によるフィルター:
- すべて
- レビュー予定
コントロールメニューを表示するユーザーを制御する設定
従来、ログインしているユーザーにコントロールメニューが見えないようにするために、必要な権限を設定するのは複雑で面倒でした。一つの権限が適切に設定されないと、すぐにコントロールメニューがこれらのユーザーに見えるようになります。
これまでは、テーマ内の特定のロジックによって管理されていましたが、今回、新しい設定によって、より簡単に制御・設定できるようになりました。
現在、お客様は サイト設定 >> サイト設定 >>メニュー の中で、ロールごとにコントロールメニューの可視性を簡単に制御できます。
ページ設定のUXをリファクタリング
ページ設定とページデザインオプションをリファクタリングして、均一かつ一貫性のあるものにしました。現在、ユーザーはページ設定のセクションとしてページデザインオプションにアクセスできるようになりました (以前は 2 つの別々のビューでした)。
それに加えて、UXを均一にし、新しい Clayコンポーネントスタイルとの一貫性を高めました。また、ユーザーの意図に応じてアイテムを再グループ化し、より論理的でユーザーフレンドリーに設定できるようにしました。
掲示板の通知メールに新しいテンプレートを追加
この機能は、メッセージ追加メールおよびメッセージ更新メールが掲示板でトリガーされた時にユーザーが受け取るメール通知に、詳細なコンテキストを提供するHTMLテンプレートが追加されます。
このために、次の3つの新しい用語が追加されました:
- 兄弟メッセージ: 同じレベルのメッセージのスレッド。
- 親メッセージ: 親メッセージのメッセージ本文。
- ルートメッセージの本文: 元のメッセージのメッセージ本文。
リダイレクトパターン用のユーザーエージェントフィルター
設定で、リダイレクトパターンごとにユーザーエージェント (すべて、人間、bot) をフィルタリングする機能。
DAM でのドキュメントのダウンロードと表示の個別の権限
ユーザーは、ドキュメントのダウンロードと表示に対して異なる権限を設定できます。
D&Mで評価を使用する際の新しいオプション
評価のオプションがフォルダに追加され、私が評価したドキュメント、私が評価したフォルダのエンドポイントが作成されました。
ナレッジベースのフォルダと階層を管理する
ナレッジベースのフォルダ階層を表示、アクセス、管理するためのシンプルかつ効果的な方法をユーザーに提供します。含まれているもの:
- コンテンツを移動するためのドラッグ&ドロップのエクスペリエンス。
- ナレッジベース管理でコンテンツを検索します。
- アクションメニューを使用してフォルダを管理します。
ナレッジベース記事のレビュー日と有効期限
記事の有効期限とレビュー日を設定し、有効期限が保留されている記事を表示する機能。
ナレッジベースでのナビゲーションとインタラクションの強化
管理ツールバー、サイドバーの検索、サイドバーの主ボタン、優先順位および一般的な操作におけるナレッジベースのさまざまなタブおよびページ間のナビゲーションが改善されました。
ドキュメントとメディアの新しいフィルター機能
コンテンツ編集者は、ドキュメントとメディアに追加された新しいフィルターのおかげで、探しているドキュメントを簡単に見つけることができるようになりました。
カテゴリ、タグ、エクステンションの 3 つの新しいフィルターが追加されました:
ドキュメントとメディアのバージョン履歴ページ
さまざまなバージョンの管理に役立つドキュメントのバージョン履歴をリストしたページ。
Font AwesomeへのMB依存を回避する
ポータル全体でFont Awesomeを強制的に有効にすることを避けるために、MB CSS に優先アイコンが追加されました。
パブリケーション
このリリースで追加された機能:
連絡先情報の変更追跡を有効にする
組織の住所、電話番号、メールアドレスの変更を追跡できるようにしました。今後、これらをパブリケーションに追加できます。
パブリケーションの変更を確認しながら、最も重要な変更を表示します。
公開機能の進行中の作業のリストは、Publications update 2023/06/13 でご覧いただけます。パフォーマンスを改善し、Wikiページの変更を追跡できるようにしました。 6 か月以上経過したパブリケーションを削除するメカニズムも実装されました。
パブリケーション全体のコンテンツ履歴
この新しい機能により、コンテンツ編集者は、特定のアセットへの変更が含まれるパブリケーションのみを表示できるようになります。
パブリケーションテンプレート
この新機能により、管理者は独自のワークフローを促進するために、パブリケーションを事前に設定できるようになります。
パブリケーションテンプレートを利用して、作成されたパブリケーションに命名パターンを提供できます。各パブリケーションに一意の名前を付けることができるように、トークンが提供されます。
管理者は、パブリケーションの作成中にユーザーにロールを割り当てることもできます。
パブリケーションでのナレッジベースの使用
パブリケーション内でナレッジベース記事の作成、編集、削除ができるようになりました。
6か月以上経過した公開済みパブリケーションの削除
パブリケーションはデータベース内でかなりのスペースを占める場合があります。広範な履歴が必要なユーザーもいますが、そうでないユーザーもいます。
この新機能を使用すると、履歴が必要ない人のために古いパブリケーションを削除するオプションのクリーンアップを提供できます。
Wikiページの変更をプレビューする
ユーザーは、パブリケーション内のWiki ページの変更をプレビューできます。
パブリケーションのパフォーマンス改善
データセット表示を使用するように進行中、予定済み、履歴タブをリファクタリングし、変更のレビュー画面を高速化するための設定を追加しました。
検索
このリリースで追加された機能:
Elasticsearch 8でLiferay (オンプレミス) を運用する
バンドルされているElasticsearch 7コネクタを介してREST API compatibility modeを利用し、検索エンジンとして Elasticsearch 8でLiferay(オンプレミス)を動作させることで、Liferay導入環境で7.x との互換性を維持しながらElastic Stackを 8.x (オプトイン)にアップグレードできるようになります。
詳細はこちら:
一般的なアップグレード手順:
詳細については、ドキュメントをご参照ください。
すでに使用していて、今後も Elasticsearch 7を使用し続けたいと考えているデプロイメントについては、アクションは必要ありません。
Elasticsearch 8に移行するには、アップグレードパスの選択によっては、完全なインデックスの再作成が必要になる場合があります:
現在のElasticsearch 7.x クラスターを8.xにアップグレードし、DXPに接続 (Upgrade Elasticsearch | Elasticsearch Guide [8.10] | Elastic , 推奨) → 再インデックスは必要ありません
新しいElasticsearch 8.x クラスターをセットアップし、DXPに接続 → 再インデックスが必要です。
Elasticsearch Sidecarバージョンを 7.17.10 に更新しました
Liferay Portal 7.4 CE GA78 および Liferay DXP 7.4 アップデート 78 TomcatバンドルおよびDockerイメージには、Sidecar用 Elasticsearch 7.17.10 が付属しています。
検索ウィジェットでのオブジェクトのサポートの改善
オブジェクトのサポートは、Webコンテンツのストラクチャ(DDM)と同様に、Elasticsearchでネストされたフィールドとしてインデックス付けされたオブジェクト フィールドを使用して、検索結果にページを表示し、集計 (カスタムファセットウィジェット経由)、フィルタリング (カスタム フィルタウィジェット)、並べ替え (ソートウィジェット) を行います。
検索ブループリントを使用したコレクション
各検索ブループリントのコレクションプロバイダーを自動的に登録します。ブループリントの結果をコレクション表示フラグメントに表示すると、検索を活用してアセットを動的に返し、フラグメントツールボックスの利点を活用してページをレイアウトできます。
詳細はこちら:
検索 Headless API
単一のエンドポイントを通じて企業インデックスで一致するコンテンツを検索し、カスタム検索エクスペリエンスを構築します。翻訳された表示用語を含むファセットと、ブループリントの検索 (DXPのみ) によるカスタム検索、フィルタリング、集計、並べ替えをサポートします。
詳細はこちら:
Sidecar Elasticsearch 7.17.12 に更新されました
Liferay Portal 7.4 CE GA88、Liferay DXP 7.4 アップデート 88は、Sidecar用のElasticsearch 7.xの利用可能な最新バージョン(7.17.12
、2023年8月7日現在)にバンドルされています。
フロントエンドインフラストラクチャ
このリリースで追加された機能:
JSインポートマップエントリクライアントエクステンション
この新しいフロントエンドクライアントエクステンションにより、ユーザーはグローバルインポートマップにエントリを追加できるようになります。
これは、ビルド時にコードのデプロイメントURLを知る必要性から解放された、分離されたクライアントエクステンション間でコードを共有するために使用できます。例えば、すべてのフロントエンドクライアントエクステンション間でライブラリやフレームワークを共有できます:
スクリプトがインポートマップエントリによって参照されるJavaScriptモジュールを使用するには、そのモジュールがtype=module
.である必要があります。
開発者がこのクライアントエクステンションの使用方法を理解できるように、サンプルが提供されています: https://github.com/liferay/liferay-portal/tree/master/workspaces/liferay-sample-workspace/client-extensions/liferay-sample-etc-frontend-2
テーマ SVG SpriteMap クライアントエクステンション
この新しいフロントエンドクライアントエクステンションを使用すると、ユーザーはテーマを再デプロイすることなく、既存のテーマのスプライトマップを置き換えることができます。スプライトマップには、それが使用されるスコープに必要なすべてのアイコンが含まれている必要があります。
コントロール パネルは引き続き管理スプライトマップを使用します。
クライアントエクステンションを登録した後、それを使用する必要があるページテンプレートまたはページで、デザインオプションメニューから構成します:
このクライアントエクステンションを有効にするには、機能フラグ管理 UI から実行します:
Headless
このリリースで追加された機能:
関連オブジェクトのデータの設定または更新が可能
この機能を使用すると、開発者は単一のリクエストでオブジェクトとその関連要素を作成または更新できるため、サーバーに対して実行されるリクエストが最適化され、ソリューションの全体的なパフォーマンスが向上します。
関連する要素 (ExternalReferenceCode
, Id
,など) に必要なデータを指定すると、その要素がすでに存在する場合は2つのオブジェクトが関連付けられ、関連する要素が存在しない場合はオブジェクトが作成され、それらが関連付けられます。
また、関連性のなくなった要素を削除して親を更新するだけで、関連する要素を削除することもできます。
カスタムオブジェクトの関連要素のデータを使用してフィルタリングできるようになりました
開発者は、特定のオブジェクトエントリの関連要素のフィールド値を使用して、カスタムオブジェクトエントリをフィルタリングできるようになります。
必要な数だけフィルタリングすることができます。フィルタクエリの形式は、
relationshipName1
[/relationshipName(i)]*
/fieldNameN
です。relationshipName1
, relationshipName(i), etc
などは、 Object 1
と Object i
, を結合するさまざまなリレーションシップ名で、fieldNameN
は、ユーザーがフィルタリングしたい最新のオブジェクト定義のフィールド名です。
これに加えて、ネスト機能が強化されたため、オブジェクトエントリとその関連要素のデータを取得できるようになり、複数レベルのネストがサポートされます。
取得するさまざまな関係の名前は、 nestedFields
パラメーターでカンマで区切って指定する必要があります。さらに、ネストする必要があるレベルの数をLiferayに示すために、取得するレベルの数を含む nestedFieldsDepth
パラメータを指定する必要があります。
外部参照コードのサポートがHeadlessエンティティに拡張されました
バージョン7.4で外部参照コードのサポートが他のLiferayエンティティにも拡張されました。この新しいパラメータにより、ユーザーは scopeKey
と外部参照コードを指定するだけで、様々なエンティティにアクセス、作成、更新、削除できるようになります。
この外部参照コードはカスタム識別子で、作成時に設定することができ、環境間でこの外部参照コードを同じに保ちながら、ある環境から別の環境へエンティティを移行するのに役立ちます。外部参照コードでアクセス可能なエンドポイントは、APIエクスプローラで確認できます。
エクスポートエンドポイントを公開し、開発者がデータ移行操作に使用できるようにします
バッチエンジンAPIでは、開発者がデータをエクスポート/インポートできますが、開発者は複数のパラメータを含む設定を提供する必要があります。新しい自動生成エンドポイントにより、ポータルでエクスポート操作を簡単に実行できるようになりました。エクスポートエンドポイントは非同期なので、要求されたレコードを取得/ダウンロードするために taskId
を提供します。
エンドポイントは次の形式に従います:
詳細はこちら:
APIを通じてオブジェクトエントリのタグとカテゴリを管理する
ユーザーは、REST APIからオブジェクトエントリに関連付けられたタグとカテゴリを管理できるようになりました。オブジェクトでカテゴライゼーションが有効になると、タグとカテゴリのプロパティがオブジェクトエントリのスキーマで公開されます。ユーザーは、情報を取得したり、オブジェクトエントリに関連付けられたタグやカテゴリを設定または更新したり、これらのフィールドの情報を使用して情報をフィルタリングすることができます。
詳細はこちら:
APIを通してオブジェクトエントリの権限を管理する
Headless APIからオブジェクトエントリの権限を直接管理、確認できるようになりました。
各オブジェクト定義に対して、2つの新しいエンドポイントが利用可能です。1つは、個々のオブジェクトエントリに適用される権限を取得するためのもので、もう1つは、ユーザーがそのエントリに適用される権限を設定/更新できるようにするためのものです。
APIエクスプローラで利用可能なすべてのクエリパラメータ
APIエクスプローラで利用可能なすべてのクエリパラメータを使用できるようになりました。 fields
, nestedFields
、flatten などのパラメータにアクセスでき、テストクエリですぐに使用できます。
アプリケーションセキュリティ
このリリースで追加された機能:
Users can differentiate between unknown login and incorrect password based on LOGIN_DNE and LOGIN_FAILURE audit events
LOGIN_DNEとLOGIN_FAILURE監査イベントに基づいて、ユーザーは不明なログインと不正なパスワードを区別することができます。
この機能により、監査メッセージでログイン失敗を区別することができるようになります。
この変更前は、ユーザーが不正なパスワードを入力したときに発生する FAILURE
ステータスで認証に失敗した場合にのみ、監査メッセージが返されていました。この場合のイベント・タイプは LOGIN_FAILURE
です。
新しい変更により、LOGIN_DNE
イベントタイプを追加することで、 DNE
ステータスで認証に失敗した場合の監査情報が提供されます。DNE
は、ユーザーが "存在しない "ことを意味し、常にログイン(email
/ screenName
/ userID
) が正しくないことを意味します。
したがって、新しく追加された LOGIN_DNE
イベントタイプにより、不正ログイン(email
/ screenName
/ userID
)が原因でログインが失敗した場合の認証 DNE
シナリオをカバーします。
ポータルのパスワード変更オプションを削除する機能
ユーザーがSSOとIdPを通じて認証された場合、エンドユーザーがパスワードを追加または編集する機能を削除することが可能です。
インスタンス管理者として、ユーザーが登録時にパスワードを与えるオプションがあるかどうかを設定できます。また、ユーザーのパスワードポリシーによってパスワードが変更できない場合、ユーザーデータの編集からパスワードブロック全体を削除できます。
インスタンス管理者は、通知テンプレートにユーザーの名前を含めることができます
インスタンス管理者は、名前(ファーストネーム)を含むメールテンプレートを作成できます。
監査フレームワークデータのエクスポート
この新機能により、インスタンス管理者は、ユーザー別およびサイト別にフィルタリングされた監査データをエクスポートできます。また、監査イベントのサイトデータを保存することもできます。
ステージング
このリリースで追加された機能:
フレンドリURLの衝突に関するサイトおよびサイトテンプレートの管理者への警告
サイトページとサイトテンプレートページの間でフレンドリURLの衝突が発生した場合、サイトとサイトテンプレートの管理者に追加のメッセージを表示します。
失敗したステージングプロセスのサマリーを表示
今後、ユーザーは失敗したステージングプロセスのサマリーを表示することができ、ステージングプロセスの失敗の原因となった問題を解決するのに役立ちます。
ドキュメントとメディアライブラリへのLARファイルの保存の最適化
ポータルでのエクスポート/インポートにLARファイルを使用すると、DMに保存されます。これらのLARファイルは、DMのサイズを大幅に増加させる可能性があります。これを変更し、エクスポート/インポート処理後にLARがDMに保存されないようにしました。
エクスポート/インポートのバリデーションのカスタマイズオプションの改善
LPS-136108: URLs using a virtual host are always reformatted on export and import, even in cases where they don't need to be で、LiferayレイアウトのURLに対してWebコンテンツのバリデーションが追加されました。これ以前はバリデーションがなかったため、ユーザーはWebコンテンツのコンテンツに異なるURLを追加できるカスタマイズを作成することができました。バリデーションが追加された後、一部のカスタムURLはWebコンテンツに追加できなくなりました。ユーザーの視点からすると、これは機能損失です。そこで、私たちは、お客様がカスタムURLをWebンテンツのコンテンツフィールドに追加できるようにする機能を提供することにしました。この機能は、ユーザーの相対URLパターンを保存するための設定を追加するものです。そのため、このパターンを含むカスタムURLはバリデーションをバイパスすることができます。
エンドユーザーへのエクスポート/インポート進行状況のフィードバックを改善し、不要なデータ損失を回避する
インポート処理を開始する前に、確認ダイアログでアプリケーションデータの削除を確認するようになりました。また、ステージング関連の参照に対するエラーメッセージを改善しました。
プロパゲーション処理はバックグラウンドで実行できるようになりました
サイトテンプレート管理者として:テンプレートのプロパゲーションは完全にバックグラウンドで実行され、バックグラウンドタスクは順番に実行されます。サイトテンプレートエクスポートのLARはキャッシュされるので、異なるサイトでも再利用できます。
LayoutSetPrototypeMergeBackgroundTaskExecutor
は常に最新のテンプレートバージョンをプロパゲーションに使用します。- サイトに対してキューに入れられたバックグラウンド タスクがすでにある場合、新しいタスクは作成しません。
進行中のバックグラウンド タスクがある場合、テンプレートが変更された場合のみ、新しいバックグラウンド タスクを作成します。
ステージングのカスタマイズオプションの改善
2つの新しい設定オプションが追加されました:
1つ目は既存の機能を自動化し、パフォーマンスを向上させるものです。
もう1つは高度なステージングの設定画面をユーザーに表示し、使いやすさを向上させるものです。
ステージングでLXCクライアントエクステンションを処理できるようにする
これは、より大きな変更のステージング関連の実装です。ステージング側で LXC クライアントエクステンション(Remote apps) を処理できるようにしました。この機能を完全に動作させるために、LPS-182183: Export/Import of FrontEnd Client Extensionsのエクスポート/インポートも必要です。
コアアップグレード
このリリースで追加された機能:
アップグレードログの改善
プロパティ
upgrade.log.context.name
の削除。これにより、アップグレードに関連するすべてのログ行にupgrade.component
, というキーが自動的に付与され、より意味のある情報が提供されるようになりました。アップグレードレポートが起動時のアップグレードにも対応し、ログスレッドコンテキスト情報として出力できるようになりました。
アップグレードは、すべてのアップグレードプロセスが終了した後に、行われたアップグレードの結果とタイプをログに記録します。
起動時のアップグレードで新しい mBean が利用可能になり、アップグレードのステータスと結果に関するリアルタイムの情報を取得できます。
DLサイズのタイムアウト
upgrade.report.dl.storage.size.timeout
という新しいプロパティを作成しました。このプロパティは、アップグレードレポートの生成がタイムアウトする前にDL サイズの計算を待機する秒数を指定します。このプロパティはデフォルトで 10 に設定されていますが、 portal-ext.properties
ファイルで変更できます。
デベロッパーツール
このリリースで追加された機能:
タスクを使用してライブ開発モードと本番モードを切り替える
同じプロジェクトでカスタムクライアントエクステンションの開発プロファイルを作成できるようになりました。
例えば、ユーザーが client-extension.dev.yaml
というファイルを作成すると、deployDev
という新しいタスクが利用可能になります。
ワークスペースのビルドからモジュールを除外する
開発者がビルドからディレクトリを除外できるように、新しいプロパティが追加されました: liferay.workspace.dir.excludes.globs=
フィーチャーステータスの変更
フィーチャー:
フィーチャーステータス:
説明:
Kaleoフォームモジュール
廃止
Kaleoフォームは、すでにメンテナンスモードになっていました (詳しくはこちらをクリックしてください)。現在は非推奨に移行しており、約1年後にDDLと同時に削除されます。このソリューションは、オブジェクト、ワークフロー、フォームコンテナフラグメントに置き換えられます。
Contactsモジュールのポートレットがメンテナンスモードになりました。
Contactsモジュールのポートレットが非推奨になりました。 次の通りです:
最初のステップでは、モジュールはメンテナンスモードにプッシュされました。 |
ステージング関係モジュール
これらのモジュールは廃止されたものであり、現在は使用されていません。これらは非推奨として移動され、後で削除される予定です。
重大な変更点
このセクションでは、DXPの機能および性能に関する変更について説明します。内部コードの変更については、以下のリンクをご参照ください。
内部コードの変更については、こちらのリンクをご覧ください。
フラグメントのキャッシュ可能オプションが、フラグメントカードのオプションメニューに追加されました。
この変更は、ユーザーがキャッシュ可能なオプションを変更し、それを保存したときにフラグメントの変更が伝搬するのを防ぐために行われました。これにより、一部のお客様にパフォーマンスの問題が生じていました。
この変更により、キャッシュ可能なオプションが変更されたときに不要な伝搬が起こらなくなり、パフォーマンスの面でお客様にメリットがあります。
お客様の実装に変更はありません。ただ、このオプションが別の場所にあることを認識するだけです。
© 2023 Liferay Inc. All Rights Reserved