Files
bmp-website-2026/docs/payload-field-inventory.md
2026-07-31 16:41:02 +02:00

5.8 KiB

Payload field-to-consumer inventory

This inventory records the frontend or platform owner for every retained Pages field group and relevant Global. Nested scalar, upload, relationship, and array fields belong to the consumer named for their parent group unless an exception is listed.

Shared Pages fields

Field path Consumer or contract
title, slug, spaPath, publishedAt, _status Route lookup, preview URLs, publication access, sitemap generation, and generic-page headings in src/app/(frontend)/[[...slug]]/page.tsx, the sitemap routes, and src/spa/pages/CmsGenericPage.tsx.
hero, layout Non-SPA pages through src/heros/RenderHero.tsx, src/blocks/RenderBlocks.tsx, and src/spa/pages/CmsGenericPage.tsx.
meta.* @payloadcms/plugin-seo, route metadata generation, and generic-page title fallback.

Page-specific fields

Page field path Retained consumer
home.hero.* src/spa/pages/Home.tsx; partner relationship records remain authoritative and the names array is presentation fallback only.
home.winners.* src/spa/components/HomeWinnersSection.tsx and src/spa/homeWinnerSelection.ts; also reused by /der-bmp.
home.quickCheck.*, home.intro.*, home.benefits.* src/spa/pages/Home.tsx.
home.testimonials.* src/spa/pages/Home.tsx through src/spa/components/TestimonialsSection.tsx.
home.videoModal.* Homepage video action and modal in src/spa/pages/Home.tsx.
participation.hero.*, participation.eligibility.*, participation.applicationWays.*, participation.datesBanner.* src/spa/pages/Participation.tsx.
participation.process.* src/spa/pages/Participation.tsx through src/spa/components/WegZurAuszeichnungSection.tsx.
participation.awardsGrid.* src/spa/pages/Participation.tsx through src/spa/components/AwardsGridSection.tsx.
about.hero.*, about.prize.*, about.mittelstand.*, about.history.*, about.goals.*, about.values.*, about.cta.* src/spa/pages/About.tsx.
about.testimonials.* src/spa/pages/About.tsx through src/spa/components/TestimonialsSection.tsx.
contact.* src/spa/pages/Contact.tsx and src/spa/components/forms/KontaktForm.tsx.
datenschutz.*, impressum.* src/spa/components/legal/LegalPage.tsx via the respective route component.
formUpload.* src/spa/pages/FormularUpload.tsx.
mitgliedWerden.* src/spa/pages/MitgliedWerden.tsx and src/spa/components/membership/MembershipWizard.tsx.
preistraegerIndex.* src/spa/pages/Preistraeger.tsx; winner records remain collection-owned.
pressIndex.hero.*, pressIndex.events.*, pressIndex.news.*, pressIndex.downloads.* src/spa/pages/Press.tsx; event/article records remain collection-owned, while missing-field labels and images are presentation fallbacks only. pressIndex.downloads.contactImage and contactImageAlt own the optional Presse contact visual; an empty relationship renders the same copy in a compact copy-only layout without a static image fallback.
netzwerk.hero.*, netzwerk.patronage.*, netzwerk.juryIntro.*, netzwerk.expertise.*, netzwerk.sponsoring.* src/spa/pages/Netzwerk.tsx. The page-owned netzwerk.patronage.greetingVideo Media relationship and its adjacent button/modal copy control only the Ilse Aigner greeting on /netzwerk; they never inherit home.videoModal.*.
netzwerk.jury.{eyebrow,heading,description,chairBadge,members} Jury heading and authoritative rendered relationship selection in src/spa/pages/Netzwerk.tsx.
netzwerk.partners.{eyebrow,heading,description,detailLabel,tiers[].{label,note},modal} All visible sponsor-section editorial copy, including each rendered tier heading/note and the shared card CTA, in src/spa/pages/Netzwerk.tsx; partner names, descriptions, links, logos, tier assignment, and ordering remain Partner collection-owned. Counts are derived and are not separately editable.
netzwerk.sponsoringForm.* The two visible form steps, validation, success state, and footer copy in src/spa/components/forms/SponsoringForm.tsx.

Global ownership

Global Consumer or contract
application-form Single source for the application section and form on both / and /teilnahme, hydrated by the frontend route and consumed by ApplicationFormSection / BewerbungsForm.
application-phase Shared phase state and phase-specific site copy used by Home, shared layout CTAs, the application/newsletter form switch, and sponsoring submissions.
newsletter-form Evaluation/completed newsletter variants shared by / and /teilnahme.
header, footer Site-wide navigation, branding, links, social entries, and footer partner marks rendered by src/spa/components/layout/Layout.tsx.
site-settings Shared skyline, Preisträger placeholder, and generic-page fallback copy.

Task 4 removals

The audit found no frontend, metadata, SEO, seed-only contract, or explicit Global purpose for these fields: home.application, home.form, participation.applicationForm, participation.form, the hidden participation CTA controls (eligibility.secondaryCta, eligibility.nudgeCta, applicationWays.recommendedLabel, applicationWays.fallbackCta, applicationWays.ways[].featured, and applicationWays.ways[].cta), about.highlights, the five pressIndex.downloads.kit* controls, pressIndex.accreditation, the old event/news CTA labels, netzwerk.jury.note, netzwerk.partners.premiumLabel, netzwerk.partners.defaultLogoColor, the four non-rendered netzwerk.sponsoring footnote/form-eyebrow controls, and the obsolete sponsoring package step (packages, step1Eyebrow, step1Heading, requiredPackageError). They are intentionally absent from the retained inventory.