API - Completed Features
These capabilities from the Next-Generation CMS Solution Draft Proposal (v0.2) are already implemented. Overall API coverage: ~35-40% of v1.0 scope.
Coverage by Domain
| Domain | Coverage | Key implementations |
|---|---|---|
| Pages CRUD + versioning | ~70% | Entity, draft/publish/schedule/archive, auto-versioning with diffs, preview tokens |
| Articles + taxonomies | ~65% | Full CRUD, categories, tags, featured image |
| Dynamic blocks | ~50% | 7 block types, zone-based assignment, reusable cross-pages |
| Multi-tenancy | ~60% | Master/Tenant DB split, dynamic connection switching, multi-site with X-Site-Id |
| Editorial workflows | ~80% | Draft/Scheduled/Published/Archived + audit trail + version history (exceeds v1.0 target) |
| Media upload | ~55% | 3-step presigned S3 upload, thumbnails, quotas, deduplication |
| Redirects | ~75% | CRUD + auto-redirect on slug change + hit tracking |
| Performance | ~40% | Rate limiting, ETag, Redis caching, capped pagination |
Detailed Breakdown
Pages & Versioning (~70%)
Page entity & CRUD
Page entity & CRUD
Status: DoneFull Page entity with
title, slug, body_html (JSON multilingual), body_json (JSON multilingual), meta_title, meta_description, featured_image.Admin CRUD endpoints with API Platform. Public read endpoints with preview token support.Content versioning
Content versioning
Status: Done
ContentVersioningSubscriber automatically creates ContentVersion records on save with full diff tracking. Version history and rollback support.Preview system
Preview system
Status: Done64-character hex preview tokens.
PreviewController for token-based access. Global refonte preview support.Articles & Taxonomies (~65%)
Article entity & CRUD
Article entity & CRUD
Status: DoneFull Article entity with categories, tags, featured image. Admin CRUD and public read endpoints.Missing: Article subtypes (news/announcement/publication), secondary categories (ManyToMany).
Categories & Tags
Categories & Tags
Editorial Workflows (~80%)
Content status workflow
Content status workflow
Status: Done (exceeds v1.0 target)
ContentStatus enum: draft, scheduled, published, archived. WorkflowService with transitions. ScheduledContentPublisher for automatic publishing.Audit trail with ContentAuditLog. Version history with diffs.Multi-tenancy (~60%)
Master/Tenant database split
Master/Tenant database split
Status: DoneMaster DB (
cms_master) with Tenant, Site, User entities. Tenant DBs (cms_tenant_*) with content entities. TenantSubscriber for dynamic connection switching.Multi-site with X-Site-Id
Multi-site with X-Site-Id
Status: Done
X-Site-Id header for site context. SiteFilterExtension for automatic query filtering. Site-scoped content.Missing: Sub-sites, domain mapping, content sharing, channels.Media Upload (~55%)
Presigned S3 upload
Presigned S3 upload
Status: Done3-step presigned upload to S3/MinIO via
MinioStorageAdapter. Thumbnail generation, quotas, deduplication by hash.Missing: On-the-fly resize, rich metadata (title i18n, credit, rights), focal point, media collections.Dynamic Blocks (~50%)
Block types & zones
Block types & zones
Status: Done7 block types: hero, cta, gallery, testimonials, faq, text, contact_form. Zone-based assignment. Reusable blocks across pages.Missing: Plugin-provided block types, conditional rendering.
Redirects (~75%)
Redirect management
Redirect management
Status: DoneRedirect entity with CRUD. Auto-redirect on slug change. Hit tracking and counting.Missing: Bulk import/export, wildcard rules, hreflang.
Performance (~40%)
Caching & rate limiting
Caching & rate limiting
Status: PartialRedis caching, ETag headers, rate limiting, capped pagination.Missing: CDN Cache-Control/Surrogate headers, image optimization pipeline, Elasticsearch (using PostgreSQL LIKE).
What’s Next
The remaining ~60% is tracked in the current and upcoming phases:For the full gap analysis per proposal section, see
.context/global/proposal-coverage.md. Last update: February 16, 2026.