N
Naveenr.dev
← Back to topics

component architecture

Showing 6 posts that match this topic across all categories.

Dialog Show/Hide Widgets and Conditional Multifields

AEM
How Granite UI's dropdown-driven show/hide widget works inside a dialog and inside a multifield, why "hidden" fields aren't the same as "deleted" fields, and how dead hidden fields quietly pile up in real dialogs after a redesign.
12 min read2026-08-28

Extending a Core Component's Dialog and Hiding Inherited Fields

AEM
How sling:resourceSuperType merges your component's dialog with a Core Component's own dialog, how sling:hideResource suppresses a specific inherited field, and why hiding a Core Component's built-in structure editor without replacing what it does can quietly break the component's own client-side behavior.
11 min read2026-08-28

Inherited Page Properties and Site-Wide Feature Toggles

AEM
How Sling's HierarchyNodeInheritanceValueMap lets a page property cascade down from a site root unless a descendant page overrides it, why "not set" and "set to false" produce the same visible result, and why that makes changing a toggle's default a much bigger change than it looks.
12 min read2026-08-28

Policy-Driven Field Visibility and Node-Level Dialog Subtree Reuse

AEM
Two dialog-authoring techniques beyond dropdown show/hide: tying a field's visibility to a component's design/policy properties with Granite Expression Language, and reusing a specific tab or field from an unrelated component's dialog via a node-level sling:resourceSuperType or a foundation/include — with full, working examples of each.
14 min read2026-08-28

Sitemap Generation Edge Cases: Multi-Value Properties, Vanity URLs, and Template-Aware Alternates

AEM
Three real edge cases that break a custom Sling sitemap generator in ways code review rarely catches — an untyped multi-value property read that silently defeats a noindex check, alternate-language links that point at vanity paths instead of real content paths, and hreflang links added between pages that don't actually share a template family.
11 min read2026-08-28

Experience Fragment Property Propagation: When a ResourceChangeListener Copies Instead of Inherits

AEM
A ResourceChangeListener that stamps theme and config properties onto a newly created Experience Fragment by copying them from the nearest matching site page — a write-once-at-creation pattern that looks like inheritance but is actually a snapshot, and silently diverges from its source the moment that source page changes.
11 min read2026-08-28