Module Development Guide

Modules extend Alpha-Omega CMS without altering its core. This guide explains the structure, lifecycle, and accessibility requirements of installable modules.

Module Structure

/modules/
  └── example/
      ├── install.php
      ├── uninstall.php
      ├── Controllers/
      ├── Models/
      └── Views/

Each module is self-contained, registering its own tables and routes. Installation and removal scripts handle schema creation and cleanup.

Security & Accessibility

All module views must comply with WCAG 2.1 AA standards and include aria-label, keyboard navigation, and sufficient color contrast. Forms must include CSRF tokens via App\Core\CSRF::token().

Best Practices

Use Session::requireAdmin() for administrative access, sanitize input with htmlspecialchars(), and structure all output through View::render().