Payload CMS - Multi-Tenant Architectuur
Gedeeld Payload CMS met multi-tenant plugin: collecties, tenants en API configuratie.
Payload CMS v3 draait als gedeelde service op cms.seanvermond.com. Via de multi-tenant plugin bedient het meerdere websites vanuit één installatie.
Tenants
- Tenant 1: seanvermond.com (SVM Digital)
- Tenant 3: tijdvooroeteldonk.nl
- Tenant 4: docs.seanvermond.com (SVM Docs)
Collecties
Payload CMS bevat de volgende collecties:
- pages — Website pagina's per tenant
- media — Afbeeldingen en bestanden
- docs — Kennisbank artikelen (nieuw)
- navigations — Menu structuren
- footers — Footer content
- form-submissions — Formulier inzendingen
- reusable-content — Herbruikbare content blokken
- redirects — URL redirects
- search — Zoekindex
- users — Gebruikers en API keys
- tenants — Tenant configuratie
Multi-Tenant Plugin
De @payloadcms/plugin-multi-tenant plugin voegt automatisch een tenant field toe aan geconfigureerde collecties. Elke API request filtert automatisch op de juiste tenant via baseFilter en tenantAccess.
API Configuratie
- Base URL:
https://cms.seanvermond.com/api/ - Auth:
Authorization: users API-Key <key> - Elke tenant heeft een eigen API key user
Revalidatie
Elke tenant heeft een geconfigureerde revalidatie URL. Bij content wijzigingen stuurt Payload een POST request naar de frontend om de ISR cache te verversen.
Lexical Editor
Alle rich text velden gebruiken de Lexical editor. Content wordt opgeslagen als Lexical JSON en geconverteerd naar HTML door de frontend via een custom lexical-html.ts converter.