Governed Release Channels (Live/Beta)

RAD implements Governed Release Channels. to enable safe development, testing, and controlled promotion of application changes without disrupting production traffic.

This mechanism embeds DevSecOps principles—explicit promotion, isolation, auditability, and access control—directly into the RAD runtime.

Channel Overview

  • Live (Stable) — Production channel for all end users
  • Beta (Staging) — Isolated channel for admin-led development

Access Control

Only System Admins or Access Admins may enter the beta channel. End users always remain on live.

Use:
?branch=beta

Channel Resolution Rules

  • Live is the default channel.
  • Beta must be explicitly requested.
  • Branch is stored per session.
  • Cache keys include the channel identifier.
  • No runtime artifacts are shared.

Assets Covered

  • Routes
  • Controllers / Business Classes
  • Content Blocks
  • Data Model Schema

How It Works (Implementation Summary)

Routes & Controllers (code)
  • Live files stay in place (e.g., rad/ms/{ms}/route.{id}.php).
  • Beta files live under rad/ms/{ms}/_beta/.
  • Version history is kept separately for live and beta.
Data Model Schema (s_data_field + DDL)
  • Beta schema is stored under s_mscontroller.s_definition.schema_branch_beta.
  • Beta field IDs are negative until merged.
  • Merge applies DDL (add/update/delete) to a_* tables.
  • No live DDL runs while working in beta.
Content Blocks
  • Live uses s_content fields directly.
  • Beta is stored inside s_content.s_additional_info.branch_beta.
  • Merge moves beta payload into live fields.
Branch Events & Audit
  • All branch actions are logged in s_branch.
  • Events include create, merge, discard, and schema changes.
  • DevSecOps reports can filter on branch events.

Promotion Model

Changes move from Beta to Live only through an explicit Promote (Beta → Live) action. Beta may also be discarded without affecting live.

Audit and Compliance

All channel actions are logged and available for audit, DevSecOps reporting, and compliance review.

Where to Manage

  • Routes: https://www.batoi.com/rad-admin/route/edit/{uid}?branch=beta
  • Controllers: https://www.batoi.com/rad-admin/controller/code/{ms}/{controller}?branch=beta
  • Content Blocks: https://www.batoi.com/rad-admin/content/edit/{uid}?branch=beta
  • Schema: https://www.batoi.com/rad-admin/controller/viewschema/{controller_uid}/{ms_uid}?branch=beta