Publications
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

競合の解決

公開プロセス中に、Liferay は公開環境と実稼働環境の間の競合をチェックします。 公開を完了するには、すべての競合を解決する必要があります。 いくつかの競合は 自動的に解決されますが、他の競合は 手動による 介入が必要です。

競合は、出版物に変更が加えられた後に生産の変更が加えられた場合にのみ発生します。 競合しない生産変更により、出版物は自動的に更新されます。

競合を自動的に解決する

Liferay は、次のような事前定義されたソリューションを使用して、いくつかの競合を自動的に解決します。

  • 出版物のコンテンツを追加、変更、または削除します。
  • 製品版を公開版に置き換えます。

自動ソリューションが利用可能な場合は、公開中に通知が表示されます。 表示をクリックして詳細を確認し、次に 公開 をクリックしてソリューションを実装します。

自動ソリューションを実装するには、「公開」をクリックします。

競合を手動で解決する

Liferay が競合を自動的に解決できない場合は、手動で解決する必要があります。 出版物は 競合タイプ を識別し、2 つのオプションを提供します。

  • 編集: パブリケーション内の競合ソースに移動し、必要な変更を加えます。
  • 破棄: 競合する変更をプレビューし、出版物から完全に削除します。

パブリケーションの競合する変更を編集または破棄します。

警告

変更の破棄は永続的であり、元に戻すことはできません。 出版物から破棄する前に、保持しておきたいコンテンツを保存します。

予定された出版物の競合

Liferay DXP 2024.Q2+/ポータル GA120+

スケジュールされた公開は、スケジュール期間中に生産上の潜在的な変更により競合が発生しやすくなります。 そのような場合、Liferay はいくつかの競合を 自動的に処理しようとしますが、場合によっては介入 手動でする必要があります。

どちらの場合も、競合の詳細と解決手順を含む通知が、関係する ユーザー (発行者、編集者、管理者、所有者) に送信されます。

通知を表示するには、 ユーザー管理メニュー を開き、 通知をクリックします。

スケジュールされた公開で競合やエラーが発生するたびに通知が送信されます。

スケジュールされた出版物の競合チェックジョブ スケジューラで設定されている場合、定期的なチェックによって、スケジュールされた出版物の潜在的な競合が識別されます。 デフォルトでは、cron 式は UTC の午前 0 時に設定されています。

スケジュールされた公開で競合またはエラーが発生した場合、競合チェックの実行時にユーザーに通知されます。

ユーザーは通知を通じて競合のリストにアクセスでき、自動的に解決された競合と手動で解決する必要がある競合が表示されます。

競合エラーが発生すると、ユーザーは手動で解決する必要がある競合のリストと、自動的に解決された競合のリストを確認できます。

競合とは無関係の Java エラーが発生した場合、通知には、さらに調査するためのスタック トレースのリンクが含まれます。

競合とは無関係の Java エラーが発生した場合、通知には、さらに調査するためのスタック トレースのリンクが含まれます。

競合の種類について

ユーザーが遭遇する可能性のある一般的な競合のタイプは、 重複変更削除変更変更削除要件不足、および 追加の 6 つです。

重複の競合

パブリケーションは、重複の競合を解決するように通知します。

これらの競合は、本番環境の何かでパブリケーションで行われた変更と同じ一意の値を使用している場合に発生します。 これは、一意の値を必要とするあらゆるタイプのコンポーネント(フォルダ、URL、ロール名など)が原因で発生する可能性があります。

次の例を考えてみましょう。 「マーケティング」という名前の新しいフォルダーをパブリケーションに追加し、運用環境のユーザーが同じ名前を使用してフォルダーを作成したとします。 同じリポジトリ内のフォルダーには一意の名前を付ける必要があるため、変更を公開しようとすると重複の競合が発生します。

重複の競合を解決するために、ユーザーはパブリケーションの値を編集するか、変更を破棄することができます。

変更の競合

パブリケーションは、変更の競合を解決するように通知します。

これらの競合は、パブリケーションで変更したエンティティが本番環境で変更された場合に発生します(たとえば、編集したWebコンテンツの記事が移動された場合)。 一部の変更の競合は自動的に解決できますが、手動による解決が必要なものもあります。

変更の競合を解決するには、競合する資料を編集するか、パブリケーション内の競合する変更を破棄するか、本番環境でバージョンを置き換えることができます。

Liferay DXP 2025.Q1/Portal GA132 以降では、特定の競合は手動による介入なしに自動的に解決されます。 これには、 statuslastPublishDateなど、通常は不変のフィールドが含まれます。

監査フィールド (例: createDatemodifiedDate)、主キー、およびグループ識別子は、データの整合性を維持するために自動解決から除外されることに注意してください。

タイトル説明などの編集できないフィールドに関する競合は、公開中に自動的に解決されます。 たとえば、Web コンテンツのフィールドがパブリケーションとプロダクションの両方で更新された場合、手動による介入なしに、パブリケーションの更新によってプロダクションの更新が上書きされます。

削除の変更と変更の削除の競合

パブリケーションは、削除の変更と変更の削除の競合を解決するように通知します。

これらの競合は、異なる環境でエンティティが変更または削除されたときに発生します。 競合には 2 つの種類があります。

  • 削除の変更: この競合は、エンティティが本番環境で削除され、公開環境で変更された場合に発生します。 たとえば、ドキュメントがパブリケーションで編集されている間に運用環境で削除された場合、システムは運用環境に存在しなくなったエンティティに変更を適用できないため、競合が発生します。

  • 変更の削除: この競合は、エンティティが本番環境で変更され、公開環境で削除された場合に発生します。 たとえば、ドキュメントのメタデータが運用環境で更新されたが、同じドキュメントがパブリケーションで削除された場合、削除対象としてマークされたアイテムに変更を適用できないため、システムは競合のフラグを立てます。

ヒント

Liferay DXP 2025.Q1+/Portal GA132+ 変更と削除の競合はデフォルトで自動的に解決されます。 エンティティがパブリケーション内で編集され、その後同じパブリケーション内で削除された場合、そのパブリケーションが公開されると、実稼働環境でもそのエンティティが削除されます。

公開中に削除の競合を確認するには、 グローバル メニュー (Global Menu) → コントロール パネル タブの インスタンス設定公開 → 公開の競合の下にある 変更削除競合チェック 設定を有効にします。

両方のタイプの競合に対して提供される唯一の解決策は、パブリケーションの競合する変更を破棄することです。

Liferay DXP 2024.Q2/Portal GA120以降では、 change.tracking.deletion.protection.enabled=true プロパティを portal-ext.propertiesに追加することで、競合を防ぎ、パブリケーションで変更されたアイテムが削除されるのを防ぐことができます。

このプロパティは、削除が本番環境で発生したか別のパブリケーションで発生したかに関係なく、パブリケーション内でアイテムが変更されている場合に、アイテムの削除をブロックします。

アイテムを削除しようとすると、エラー メッセージが表示され、削除できません。

ユーザーがパブリケーション内で変更されたアイテムを削除しようとすると、エラー メッセージが表示されます。

重要

アイテムをごみ箱に移動せずにすぐに削除すると、削除がブロックされ、エラー メッセージが表示されます。

ただし、最初に ごみ箱 に移動されたアイテム (Web コンテンツの記事、ブログの投稿、ドキュメントなど) を削除した場合、そのアイテムはごみ箱に移動され、ごみ箱から削除しようとしたときにのみメッセージが表示されます。

つまり、保護プロパティが設定されていても、これらのアイテムでは削除の競合が発生する可能性があります。

Liferay DXP 2025.Q1+/Portal GA132+ パブリケーションに変更が発生し、対象の要素が本番環境でごみ箱に移動された場合、パブリケーション管理者は [本番環境で復元] をクリックしてアセットを復元し、競合を解決できます。 サポートされるアセットには、フォルダー、Web コンテンツ、ブログ、ブックマーク、ドキュメントとメディア、メッセージ ボード、Wiki などがあります。

重要

この機能を使用するには、 ごみ箱 を有効にする必要があります。

要件の欠落の競合

パブリケーションは、要件の欠落の競合を解決するように通知します。

これらの競合は、子エンティティがパブリケーションで作成または編集されたが、その親が本番環境から削除された場合に発生します。 例としては、パブリケーションでサブフォルダを追加または変更したときに、本番環境からフォルダを削除した場合があります。

要件の欠落の競合を解決するには、パブリケーションから競合する変更を破棄するか、本番環境で削除を元に戻します。 本番環境に公開された変更を元に戻す方法については、 変更を元に戻す を参照してください。

追加の競合

パブリケーションは、追加の競合を解決するように通知します。

これらの競合は、ユーザーが既に取り消された削除を含むパブリケーションを元に戻そうとした場合にのみ発生します。 システムはすでに追加されたものを追加し直すことができないため、ユーザーは削除が含まれていた同じパブリケーションを2度元に戻すことはできません。

バージョン別の機能の可用性

機能Liferay DXPバージョンポータルバージョンメモ
削除と変更の競合2024年第2四半期以降GA120+削除保護は change.tracking.deletion.protection.enabled=trueにより利用できます。
予定された出版物の競合2024年第2四半期以降GA120+競合が発生したスケジュールされた公開に関する通知。
変更の競合2025年第1四半期以降GA132+監査フィールドを除いて、一部の競合は自動的に解決されました。
変更と削除の競合2025年第1四半期以降GA132+デフォルトでは自動的に解決されます。
ゴミ箱から復元2025年第1四半期以降GA132+運用中にごみ箱に移動されたアセットを復元できます。