to navigate
to select
esc to close
Core Concepts Advanced

Architecture Overview

Understand the system architecture, data model, and design decisions

System Overview

Airogel CMS is a multi-tenant content management system built on Ruby on Rails with flexible schema-based content modeling, Liquid templating, a REST API, and a constituent identity layer for CRM and member portals.

Multi-Tenancy

Uses account-based multi-tenancy powered by the acts_as_tenant gem. Accounts are isolated workspaces containing all CMS content.

Core Entity Relationships

  • Account - Tenant workspace
  • Collections - Content groupings
  • Blueprints - Schema definitions
  • Entries - Content items
  • Blueprint Values - Field data
  • Events - Attendable events with tickets and registrations
  • Constituents - CRM records for donors, members, volunteers, and attendees

Constituent Identity

Staff User authentication and public constituent authentication are distinct systems. A shared, non-tenant-scoped platform layer (Principal and verified identifiers) handles login once via a central auth origin; each account then resolves that login to its own tenant-scoped Constituent record, which carries CRM data, consent, and role edges like registrations, memberships, and donations. See Constituents & CRM for details.

Request Flow

Public website requests are handled by ContentController which finds content paths, loads entries, and renders Liquid templates.