Skip to content

CONCEPT Cited by 1 source

CMS entry-type modular composition

Definition

Entry-type modular composition is a CMS content-model pattern where a top-level entry (a "page") is a thin container holding a list of references to module entries, each module entry being an instance of a pre-declared type (banner, text block, product carousel, certificate list, …) with its own schema, validation rules, and authoring form. The page's layout is an ordered list of references; rearranging the layout is a list reorder, not a content rewrite.

Properties

  • Per-module schema. Each module type has its own declared fields and validation. A banner has headline + image + CTA; a certificate module has title + subtitle + intro + certificate-ID list. Authors get a focused form per module instead of a generic free-form editor.
  • Layout edits preserve content. Because modules are referenced, not embedded, moving or removing a module does not delete its content. In Zalando's legacy tool, layout changes reset the entire page's uploaded content — the canonical failure mode this pattern is designed to eliminate (Source: sources/2022-09-28-zalando-more-editorial-content-please).
  • Drag-and-drop UX maps naturally. Authors rearrange modules via a drag-and-drop list; the UI does not need to understand page-rendering semantics to be correct (patterns/drag-and-drop-cms-layout).
  • Extensibility is additive. A new module type adds a new entry-type to the schema, a new form to the authoring UI, and a new renderer on the delivery side — without touching existing module types. This is the load-bearing property for inner-sourced extensibility.

Canonical wiki instance

Zalando's Landing Pages stack on Contentful:

  • The landing page entry has a title, URL path, SEO metadata, and a reference list to module entries.
  • Modules are banners, text blocks, product carousels, sustainability-certificate lists, etc.
  • Content Managers drag-and-drop modules in the Contentful UI to change layout.
  • New module types — e.g. the Sustainability Certificate module — are contributed by teams outside the original Landing Pages team.
Last updated · 550 distilled / 1,221 read