Tenant Platform
Tenant Platform
TesseraCMS er multi-tenant — én Next.js-app hoster mange sites. Hver tenant er fuldt isoleret med egen URL-slug, eget tema, egne brugere og eget indhold.
Hvad er en tenant
En tenant er et selvstændigt site med:
- Slug-baseret URL —
/palle_jacobsen,/nyborg_rideklub,/tesseracmsosv. - Egen LayoutPackage — fastlægger site-shell, default-moduler og page-block-overrides (læs mere)
- Egne roller + invitationer — Platform Admin styres på platform-niveau, Tenant Owner / Editor pr. tenant
- Egne content-items — adskilt på PartitionKey i Azure Table Storage
- Eget tema — preset + per-var overrides (læs mere)
- Optional custom domain — peget direkte på Azure Container Apps
Tenant-isolation
Al storage-adgang scopes på tenantSlug via PartitionKey-konvention:
// Et content-item kan ALDRIG læses uden tenant-slug
await getContentItem(tenantSlug, "Page", pageId);
Det betyder en programmeringsfejl ikke kan lække data mellem tenants — selv hvis API-route'en glemmer at filtrere, peger PartitionKey'en kun på ét tenant's data.
Roller
| Rolle | Scope | Hvem |
|---|---|---|
| Platform Admin | Hele platformen | Operations-team, kan onboarde nye tenants |
| Tenant Owner | Én tenant | Site-ejeren, inviterer Editors, styrer tema/domæne |
| Editor | Én tenant | Daglige content-opdateringer |
Læs hvordan du tildeler roller og inviterer brugere.
Onboarding
Nye tenants oprettes via /admin/tenants/ny-wizarden. Wizarden vælger sitetype + LayoutPackage og kalder seedTenantFromPackage() så ApplicationPages og default-menus tilføjes konsekvent.
Læs den fulde Platform Admin onboarding-guide.
Backup + export
Hver tenant kan eksporteres som ZIP-arkiv med content + media. Brug /admin/backup på den enkelte tenant. Læs backup-guiden.
Cross-references
- Site Types — hvilke tenant-templates der findes
- Azure Runtime — hvor data og kode kører
- Platform Admin manual — fuld operations-guide
- Tenant Owner manual — daglig brug