AEM & JCR Folder Structure Explained Simply

Whenever you create an AEM application it must be comprised of a single AEM package. This package can contain sub-packages include things like code, JSON, etc.

AEM requires a separation of content and code. A single package can’t contain both /app and runtime-writable areas (/content, /conf, /home, and /apps).

AEM Folder Structure

Folder NameDescription
ui.frontendJavaScript + CSS (Immutable)
coreOSGI Bundle (Immutable)
ui.appsClientLibs (Immutable)
ui.configosgiconfig (Immutable)
contentMutable data only

Mutable vs Immutable in AEM

JCR Folder Structure

FolderDescription
/appsStores all custom templates, components, bundles and definitions related to your browser.
/confAll configurations for your website. Stores dynamic templates and policies for your website
/contentStores all content for your website
/etcResources related to utilities and tools
/homeAEM users and group information
/libsStores libraries and definitions for the core functionality of AEM.
/oak:indexContains Jackrabbit Oak index definitions
/systemUsed by Apache Oak only
/varContains the files that are updated by the system such as logs. Also, contains Java servlets in source and compiled forms that are generated from component scripts.

Leave a Reply

Your email address will not be published. Required fields are marked *