AEM Interview Questions – JCR Repository

Aem interview questions cloud
Aem interview questions cloud

JCR Repository In AEM

1. What is Sling in Repository

AEM is built on top of Adobe's CRX platform. CRX is a data storage system specifically designed for content-centric applications. AEM uses this content repository to store all its web content, digital assets, scripts, Java libraries, configuration information and other data. CRX implements the Content Repository API for Java Technology (JCR). This standard defines a data model and application programming interface (that is, a set of commands) for content repositories.

For more information click here.

2. What is JCR?

A content repository, as defined by JCR, combines features of the traditional relational database with those of a conventional file system.

File system-like features supported by JCR include:

  • Hierarchy: Content in a JCR repository can be addressed by a path. This is useful when delivering content to the web since most websites are also organized hierarchically.
  • Semi-structured content: JCR can store structured documents, like XML, either as opaque files (as a file system would) or as structures ingested directly into the JCR hierarchy.
  • Access Control and Locking: JCR can restrict access to different parts of the content hierarchy based on policies or ACLs. It also supports the locking of content to prevent conflicts.

3. Why to use oak indexing?

Unlike Jackrabbit 2, Oak does not index content by default. Custom indexes need to be created when necessary, much like with traditional relational databases. If there is no index for a specific query then the whole repository will be traversed

For more information:

4. Explain David's content model.

David Model:

Data First, Structure Later. Maybe.
Drive the content hierarchy, don't let it happen.
Workspaces are for clone(), merge(), and update().
Beware of Same Name Siblings.
References are considered harmful.
Files are Files.
IDs are evil.
For more information

5. Difference between CRX 2 and CRX 3.

CRX 2 is extended from Jackrabbit. CRX3 is extended from Jackrabbit OAK.
JackRabbit is a pure JCR implementation. OAK uses a three-tier architecture with NODE STATE MODEL that uses JCR just as a facade
Persistence Manager is used to store data in JackRabbit that allows the content to be written to the persistence layer as a blob. In OAK, Microkernels write data as native structures of the underlying Database used. For eg. Mongo DB data is written as documents
Jackrabbit runs on LUCENE. OAK supports SOLR indexing implicitly
CRX2 datastore is on the filesystem by default. CRX3 supports multiple configurations on DataStore (binary data storage). By default it is implicit

6. Why we need TAR Compaction?

If we are using Tar files as the storage, it tends to grow in size and starts claiming disk space every time when data is created or updated as data in tar files are never overwritten rather it keeps adding new versions. To mitigate the same, AEM has garbage collection mechanism which is known as ‘Tar Compaction’ to remove unused data and reclaim disk space.

To perform TAR Compaction, please follow this blog

7. You have created a bundle with CRXDE. What does the .bnd file contain?

The .bnd file contains extra metadata about the bundle used by the CRXDE build process.

8. You want to install bundles through CRX only in the author instance. Which folder name can you use for that purpose?

All folders named

9. You want to request a JSON representation of the content. What do you have to do with the request?

Change the extension to .json.

10. Which access control policies does the JCR Session define to manage nodes?

Privileges to access the JCR workspace define to manage nodes

About Sagor Chowdhuri 17 Articles
AEM Developer

Be the first to comment

Leave a Reply

Your email address will not be published.