Getting Started

Installation

Configure environment settings, register extensions, and run the core installation workflow.

Prerequisites

  • HTTPS is required. The base configuration exits early without SSL.
  • A MySQL database is required. Core schema creation uses a MySQL PDO connection.
  • SMTP credentials and encryption keys must be set before boot.

1. Configure the environment

Paradigm CMS loads environment variables from a .env file at the CMS root. The loader requires the file to exist, validates that the extension is .env, and enforces strict file permissions.

Required values:

# Database
DB_HOST=localhost
DB_NAME=your_database
DB_USER=your_username
DB_PASS=your_password
DB_PREFIX=paradigm

# SMTP
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=noreply@example.com
SMTP_PASS=your_smtp_password

# Encryption
ENCRYPTION_KEY=your_encryption_key

# Environment
APP_ENV=production

The bootstrap will exit if required values are missing.

2. Review site configuration

The default configuration is assembled in siteConfig.php and enriched in config.php. Key settings:

$siteConfig = array(
    'SITEURL' => 'https://yourdomain.com',
    'APIURL'  => 'https://yourdomain.com/API',
    'ACTIVE_TEMPLATE' => 'your_template',
    'extensions' => array(
        'core'               => array('version' => '1.0.0'),
        'users'              => array('version' => '1.0.0'),
        'organizations'      => array('version' => '1.0.0'),
        'communication'      => array('version' => '1.0.0'),
        'event_registration' => array('version' => '1.0.0'),
        // ... additional extensions
    )
);

3. Global constants

After boot, these constants are available everywhere in the system:

Constant Description
SITEURL Base site URL (e.g. https://yourdomain.com)
ROOT_DIR Filesystem root path
APIURL API base URL
CURRENT_USER Authenticated user data array (available after login)

In JavaScript, SITEURL is also available as a global for building API URLs.

4. Run core install

The install screen lives under includes/<version>/install.php. It calls the core:install request to activate required extensions and initialize the system.

  • Required extensions include core, users, organizations, and communication.
  • The installer also attempts to activate event_registration when present.
  • Core activation seeds default pages such as home, login, dashboard, and 404.

5. Confirm templates and routing

The runtime resolves the active template by reading ACTIVE_TEMPLATE, then loads the template config.php and header, layout, and footer lists. If the template or its config file does not exist, the request fails early.

AI deployment checklist

  • Provide the AI agent with the configured extension list and versions.
  • Include the path to the active template folder and any custom layouts.
  • Confirm the CMS version to match the correct includes/<version> directory.
  • Share the siteConfig.php extension registry so AI knows which extensions are available.