HomeFrontend Development › Core Components

Core Components

Purpose: Know what ships in the product component library and extend it instead of rebuilding it.

Who this page is for

AudienceWhy it matters to you
All engineersThe "check before you build" catalogue

What they are

Adobe's open-source, versioned component library (GitHub: adobe/aem-core-wcm-components): text, title, image, button, teaser, list, navigation, breadcrumb, form components, embed, carousel, tabs, accordion, content fragment, experience fragment, and the page component itself. Production-grade: accessible, exporter-enabled (JSON), style-system-ready.

The proxy pattern

You never use them directly; you create proxy components in /apps that point at them:

/apps/phi-academy/components/title/
  .content.xml → sling:resourceSuperType = core/wcm/components/title/v3/title
                 componentGroup = "PHI Academy"

The proxy is your stable namespace: content references YOUR resourceType, so upgrading core component versions is a superType change, not a content migration. The archetype generates proxies for common components.

Extension ladder (least → most effort)

LevelMechanismExample
1. ConfigureTemplate policy optionsAllowed heading levels on Title
2. StyleStyle System classes"Featured" plan-card look
3. Re-skinOverride just the HTL in your proxyCustom teaser markup, product model kept
4. Extend modelSling Model delegation (pattern)Prefix logic on Title text
5. New componentOwn HTL + dialog + modelPlan benefits table (no core equivalent)

Stop at the lowest level that works. Level-5 rebuilds of things core already does (image handling especially) are the most common wasted month in AEM projects.

PHI example mapping

Plan page needAnswer
Hero bannerTeaser (styled)
Benefits tableCustom component (level 5 — genuinely custom)
CTA buttonButton proxy
Plan FAQAccordion proxy
DisclaimersText + CF reference

Quick navigation