CMS Engine
Block-based, headless content management engine — bilingual page authoring, media library, emergency banners, and approval workflows powering every public-facing municipal website and portal.
Page Load
Editor Load
Versioning
Availability
Purpose-Built for Canadian Municipalities
Purpose & Scope
What this module owns
Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.
Owns
9Delegated to
4Accessibility compliance checking
User authentication & authorization
Content approval routing logic
AI-powered translation suggestions
These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.
Core Capabilities
What it does
3 capability groups comprising 6 discrete capabilities — each with API surface, business rules, and data ownership.
Drag-and-drop blocks: text, image, video, accordion, tabs, cards, callout, table, map embed, form embed, event listing, service directory; responsive preview.
Block Types
Text, image, video, accordion, tabs, cards, callout, table, map embed, form embed, event listing, and service directory blocks.
Drag-and-Drop
Visual drag-and-drop editor for block arrangement; reorder, nest, and configure blocks without code.
Responsive Preview
Preview pages at desktop, tablet, and mobile breakpoints before publishing to ensure responsive layout.
Headless Architecture
Content stored as structured JSON block tree; decoupled from presentation layer for multi-channel delivery.
Side-by-side EN/FR editing; translation status tracking; incomplete translation flagging; automated translation suggestions (via ai-ml-engine).
Side-by-Side Editor
EN/FR content authored in parallel with side-by-side editing view; changes in one language flagged for translation in the other.
Translation Status
Per-page and per-block translation completeness tracking; incomplete translations flagged before publication.
AI Translation Suggestions
Automated translation suggestions via ai-ml-engine; staff review and approve before publishing.
Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.
Krutik Parikh
Creator of Civic
Data Model
Entity Architecture
3 entities with 2 relationships — the authoritative schema for this bounded context.
Entities
Select an entity to explore its fields and relationships
API Surface
Integration Endpoints
10 RESTful endpoints across 4 resource groups — plus 4 domain events for async integration.
/api/v1/cms/pages
List pages (filter: status, parent, author)
/api/v1/cms/pages/{slug}
Get page by slug (published)
/api/v1/cms/pages
Create page
/api/v1/cms/pages/{id}
Update page content
/api/v1/cms/pages/{id}/publish
Publish page
Ecosystem
Products that depend on this module
4 Civic products consume CMS Engine — making it one of the most critical platform services in the ecosystem.
Technical Specifications
Performance, Compliance & Configuration
Page Load (published)
Editor Load
Media Upload
Content Versioning
WCAG 2.1 AA
Availability
FAQ
Frequently Asked Questions
Ready to Integrate
Build on CMS Engine
Request an architecture brief, integration guide, or live demo environment for your team.