JCR Compare: A Quick Review

We did a podcast about the JCR Compare in which we talked about the usefulness of this feature. Here is a written breakdown of that podcast for this specific ACS AEM Commons feature.

What is it?
From the ACS Adobe Experience Manager Commons GitHub page: “Quickly compares the contents of Adobe Experience Manager instances. JCR Compare computes checksums for specified node types (via an aggregated checksum of that node’s descendants) across multiple AEM instances and then compares the checksum results to identify what node (and node sub-systems) are the same or different.

This is a useful tool for checking for content inconsistencies across Adobe Experience Manager instances that would be otherwise difficult to find.”

How it works
You tell an AEM instance where it should find the instance to compare itself to, and define a number of useful comparisons to run, including based on a recursive path crawl, a JCR query, a list of known nodeTypes to include or exclude, and so on. It uses smart aggregate hashing to do the comparison and gives you the ability to drill into results to identify exactly what has changed.

Audience Impact (authors, devs, admins)

  • Devs – Allows them to see if they missed something in the migration or development phase
  • Authors – Allows them to verify what was changed between two environments
  • Admins – Allows them to quickly smoke test auto-scaled instances

Example application
Backup verification for a SysAdmin via curl. Or if you need to have a content author verify/validate two different Author or Publish instances to see if content has gotten out of sync between them (this assumes a clustered environment).