Show Menu
トピック×

開発とページの差分

機能概要

コンテンツの作成は反復的なプロセスです。効率的にオーサリングをおこなうには、反復するごとに何が変更されたかがわかるようにする必要があります。あるページバージョンを見てから別のページバージョンを見るのは非効率的であり、エラーが発生しやすくなります。作成者は、現在のページと前のバージョンを並べて比較する際に、差分が強調表示されるようにしたいと考えています。
ページの差分機能を使用すると、ユーザーは現在のページをローンチや以前のバージョンなどと比較できます。このユーザー機能について詳しくは、 ページの差分 を参照してください。

操作の詳細

ページのバージョンを比較する場合、相違を容易にするために、比較対象の以前のバージョンがバックグラウンドでAEMによって再作成されます。 これは、並べて比較するためにコンテンツをレ ンダリングできる必要があります
この再作成操作は、AEMによって内部的に行われ、ユーザーに対して透過的で、介入は必要ありません。 ただし、CRX DE Liteなどでリポジトリを表示している管理者は、コンテンツ構造内で再作成されたバージョンを確認できます。
コンテンツを比較すると、比較するページまでのツリー全体が次の場所に再作成されます。
/tmp/versionhistory/
この一時コンテンツをクリーンアップするために、クリーンアップタスクが自動的に実行されます。

権限

Previously, in Classic UI, special development consideration had to be made to facilitate AEM diffing (such as using cq:text tag lib, or custom integrating the DiffService OSGi service into components). 新しい差分機能ではこのような考慮は必要なくなりました。差分は 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 ベースのコンポーネント