CRXDE Lite

Learn how to use CRXDE Lite — AEM's built-in repository browser and editor — for debugging, exploring, and making quick changes.

Last reviewed: December 2024

·AEM 6.xAEM as a Cloud Service (limited)
✅
Quick Understanding: CRXDE Lite is AEM's built-in web-based IDE for browsing and editing the JCR repository. It's like a file explorer for AEM's content and code. Developers use it for debugging, exploring content structure, and making quick fixes — but never for production changes.

🔍 What Is It?

CRXDE Lite (Content Repository Extreme Development Environment) is accessible at /crx/de. It provides:

  • →Repository browser — Navigate the entire JCR tree
  • →Property editor — View and edit node properties
  • →Code editor — Edit HTL, JS, CSS, and XML files
  • →Query console — Run JCR-SQL2 and XPath queries
  • →Package manager link — Quick access to package operations
  • →Access control editor — View and set permissions on nodes

🎯 Why Do We Need It?

CRXDE is invaluable for:

  • →Debugging — Check what properties are actually stored on a node
  • →Exploration — Understand how AEM stores data without reading documentation
  • →Quick fixes — Change a property value without a full deployment (dev only!)
  • →Query testing — Test JCR queries before putting them in code
  • →Learning — The best way to understand AEM's data model is to explore it

🏗️ What Happens in Real Projects?

Daily developer tasks in CRXDE:

  • →Check why a component isn't rendering — look at the content node's sling:resourceType
  • →Verify dialog values were saved correctly after author edits
  • →Debug replication issues by checking node states
  • →Test JCR queries for Sling Model implementations
  • →Explore Core Components structure to understand how to extend them
  • →Check OSGi configuration nodes under /apps/.../config

⚙️ How It Works

Access: http://localhost:4502/crx/de

Key Areas to Know:

  • →/content — Your site's pages and DAM assets
  • →/apps — Your custom code (components, templates, OSGi configs)
  • →/libs — Adobe's built-in code (read-only, never modify)
  • →/conf — Configuration (editable templates, policies)
  • →/etc — Legacy configurations (mostly replaced by /conf)
  • →/var — Runtime data (replication queue, workflow instances)
  • →/home — Users and groups

💻 Example

Common CRXDE Tasks — Everyday tasks developers perform in CRXDE Lite.

sql
-- Find all pages using a specific template
SELECT * FROM [cq:PageContent] AS s
WHERE ISDESCENDANTNODE(s, '/content/mysite')
AND s.[cq:template] = '/conf/mysite/settings/wcm/templates/article'

-- Find all components of a specific type
SELECT * FROM [nt:unstructured] AS s
WHERE ISDESCENDANTNODE(s, '/content/mysite')
AND s.[sling:resourceType] = 'mysite/components/hero'

-- Find pages modified in the last 7 days
SELECT * FROM [cq:PageContent] AS s
WHERE ISDESCENDANTNODE(s, '/content/mysite')
AND s.[cq:lastModified] > CAST('2024-01-01T00:00:00.000Z' AS DATE)

-- Find all assets of a specific mime type
SELECT * FROM [dam:AssetContent] AS s
WHERE ISDESCENDANTNODE(s, '/content/dam/mysite')
AND s.[jcr:mimeType] = 'image/jpeg'

🤔 Common Confusions

❓ Can I make changes in CRXDE on production?

Technically yes, but you should never do this. Changes in CRXDE are not tracked in version control, can't be rolled back easily, and will be overwritten by the next deployment. CRXDE is for development and debugging only.

❓ Why is CRXDE disabled on AEM as a Cloud Service?

CRXDE Lite is primarily a local SDK and development-environment tool in AEM as a Cloud Service. It is not a Stage/Production troubleshooting or hotfix mechanism, and immutable areas like /apps and /libs cannot be changed at runtime. Code changes must go through Cloud Manager pipelines.

🚨 Common Production Issues

CRXDE accessible on production

a security risk. Ensure /crx/de is blocked by Dispatcher filter rules on production environments.

Changes made in CRXDE lost after deployment

CRXDE changes aren't in source control. Always make changes in your IDE and deploy through the pipeline.

Developer cannot reproduce a cloud issue in CRXDE

remember that cloud runtime, CDN, Dispatcher, environment variables, and immutable repository behavior can differ from local SDK or development environments.

✅ Best Practices

Block CRXDE access on production via Dispatcher filter rules.

Use CRXDE for exploration and debugging, not for making permanent changes.

Use the Query Console in CRXDE to test JCR queries before writing them in code.

When exploring Core Components, use CRXDE to understand their node structure before extending them.

Capture findings from CRXDE as code or content packages so fixes are reviewed, repeatable, and deployable.

🏛️ Architect's Note

Senior Architect's Perspective

CRXDE is a powerful debugging tool but a governance risk. In enterprise projects, establish clear rules: CRXDE is for development environments only. Production changes must go through the deployment pipeline.

For AEM as a Cloud Service, embrace the immutability — it forces better engineering practices and prevents the "quick fix in production" anti-pattern that causes so many issues in AEM 6.x projects.

💬 Frequently Asked Questions

What is the difference between CRXDE Lite and CRXDE?

CRXDE Lite is the web-based browser at /crx/de. The full CRXDE was an Eclipse plugin that's no longer actively maintained. Modern AEM development uses IDE plugins (IntelliJ, VSCode) with AEM Developer Tools instead.

🎯 Key Takeaways

1CRXDE Lite = web-based JCR browser and editor at /crx/de
2Use for debugging and exploration, not production changes
3Query Console lets you test JCR-SQL2 queries
4Block CRXDE on production via Dispatcher
5Use CRXDE for local SDK or permitted development debugging, not Stage/Production fixes in AEM as a Cloud Service

🎯 Practice this topic in interviews

↗ Where this topic fits

Sources

Sources / References

Use these AEM references to verify the concept in official docs and continue into the most relevant SplashRide pages.

Related SplashRide pages

SplashRide AEM learning path

Browse the full AEM topic collection and learning order on SplashRide.

AEM Interview Prep

Practice AEM interview questions and scenario-based answers.

AEM Developer Career Path

This AEM developer career path explains how to become an AEM developer through JCR, Sling, HTL, client libraries, Dispatcher, Cloud Service delivery, project depth, and interview-ready enterprise implementation skills.

Drupal Developer Career Path

A practical route through Drupal content modeling, site building, theming, modules, configuration management, APIs, performance, deployment discipline, and interview preparation.

JCR (Java Content Repository)

Learn what the JCR is, how AEM uses it to store everything, and why understanding it is fundamental to AEM development.

AEM Architecture

Understand the full AEM architecture - Author, Publish, Dispatcher, and how they work together in enterprise deployments.