開発とページの差分 developing-and-page-diff

機能概要 feature-overview

コンテンツの作成は反復的なプロセスです。効率的に作成するには、ある反復から別の反復へと何が変わったかを確認できることが必要です。あるページバージョンを見てから別のページバージョンを見るのは非効率的であり、エラーが発生しやすくなります。作成者は、現在のページを前のバージョンと並べて比較し、違いを強調表示したいと考えています。

ページの差分機能を使用すると、ユーザーは現在のページをローンチや以前のバージョンなどと比較できます。このユーザー機能について詳しくは、ページの差分を参照してください。

操作の詳細 operation-details

ページのバージョンを比較する場合、比較対象となる以前のバージョンがAEMによってバックグラウンドで再作成され、差分が容易になります。 これは、並べて比較できるようにコンテンツをレンダリングするために必要です。

この再作成操作は AEM の内部でおこなわれるもので、ユーザーに対しては透過的であり、ユーザーの介入は必要ありません。ただし、管理者がリポジトリを閲覧している場合、例えば、CRXDE Lite内で再作成されたこれらのバージョンは、コンテンツ構造内に表示されます。

コンテンツを比較すると、比較対象のページまでのツリー全体が次の場所に再作成されます。

/tmp/versionhistory/

クリーンアップタスクが自動的に実行されて、この一時コンテンツがクリーンアップされます。

権限 permissions

以前の Classic UI では、AEM の差分取得を容易にするために開発に関して特別な考慮が必要でした(例えば、cq:text タグライブラリの使用、DiffService OSGi サービスのコンポーネントへのカスタム統合など)。差分は DOM 比較を通じてクライアント側で実行されるので、新しい差分機能ではこれが不要になりました。

ただし、開発者が考慮する必要がある制限がいくつかあります。

  • この機能では、AEM 製品の名前空間にない CSS クラスが使用されます。同じ名前の付いた他のカスタム CSS クラスまたはサードパーティの CSS クラスがページに含まれている場合、差分の表示に影響が及ぶ可能性があります。

    • html-added
    • html-removed
    • cq-component-added
    • cq-component-removed
    • cq-component-moved
    • cq-component-changed
  • 差分はクライアント側で、ページの読み込み時に実行されるので、クライアント側の差分サービスの実行後に DOM を調整した場合、その調整は考慮されません。 これは、

    • AJAX を使用してコンテンツを取り込むコンポーネント
    • 単一ページアプリケーション
    • ユーザーインタラクションに対して DOM を操作する JavaScript ベースのコンポーネント。
NOTE
ページの差分比較は、有効な cq:editConfig ノードを持つコンポーネントに対してのみ機能します。
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2