Bright Platform Summary

Introduction

The Bright Platform is a multi-system e-learning stack made up of:

  • A Rails application (<code>rails-52-cap3-v2</code>) that serves as the Bright API, data model, reporting engine, and sync orchestration layer.
  • The core WordPress plugin (<code>bright-wordpress</code>) that embeds Bright content into WordPress, authenticates users to Bright, renders templates/shortcodes, and exposes admin tooling.
  • Project-specific customizations, typically encapsulated in a plugin or in the theme functions.php file.

Customization Items

  • Storage for any custom templates created during the integration.
  • Storage for any custom hooks or actions used to implement custom business rules.
  • Delivery of any custom CSS or JavaScript required in the implementation.

Together, these components support course delivery, learner registration tracking, learning-path progression, certificate workflows, analytics/reporting, and enterprise integration hooks.

Overview of Features

  • Course and Registration APIs (Rails)

    • Versioned Bright APIs (<code>/bright/api/v2</code> and <code>/bright/api/v3</code>) for courses, registrations, learners, invitations, templates, learning paths, and utility endpoints.
    • Supports autocomplete/search endpoints, CRUD-style resource access, and API-key based integration patterns.
  • Learning Path Management and Progression

    • Rails models for <code>LearningPath</code>, <code>LearningPathStep</code>, and <code>LearningPathStatus</code> support ordered steps, status rollups, session-key aware tracking, and active/inactive lifecycle behavior.
    • WordPress integration computes path status, completion counts, average scores, and path URLs; supports sequencing and certificate gating in template rendering.
    • Dashboard customizations provide branded path overview/grid rendering and prerequisite handling behavior.
  • Embedded Learning Experience in WordPress

    • <code>[bright]</code> shortcode expansion and Bright template rendering for course lists, single courses, and learning-path displays.
    • Front-end script/style loading for Bright runtime (<code>bright.js</code>) and optional learning-path JS/CSS packages.
    • Admin menu surfaces Bright tools, sync controls, and embedded admin consoles.
  • Admin and Operations Tooling

    • Legacy embedded admin UI plus React-based “Admin 2.0 Beta” page in WordPress.
    • Rails reporting endpoints/controllers for registration summaries, response analytics, launch history, and activity trends.
    • Bootstrap tasks for initializing or rebuilding Rails database environments.
  • Sync and Integration

    • Rails <code>SyncTarget</code> framework (including registration and learning-path sync target types) prepares sync detail queues and pushes incremental updates.
    • WordPress Bright sync modules and hooks support metadata synchronization and custom post-sync actions.
    • VSI customization plugin forwards learning-path status payloads to external systems via authenticated JSON POST.
  • Commerce/LMS Extensions

    • Optional WooCommerce integration modules for course purchase/license workflows.
    • Optional LearnDash integration and Bright course-id resolution from WordPress metadata.

Use Cases

  • Learner takes courses through WordPress

    • Learner signs in, launches Bright courses from WordPress pages, and progress is tracked in Rails registration data.
  • Structured certification paths

    • Organizations define multi-step learning paths and enforce sequential progression, then issue certificates when completion criteria are met.
  • Branded e-learning dashboards

    • Site-specific plugins (like VSI customizations) replace default dashboard sections with custom catalog, path cards, progression messaging, and status views.
  • SSO-driven enrollment and redirection

    • External systems can pass signed URL parameters (email/username/hash/path/session metadata) to auto-authenticate users, update profile/session fields, and land users directly on target learning-path pages.
  • Operational reporting and QA

    • Admin users generate registration summaries, response analyses, launch-history reports, and trend views for compliance and program monitoring.
  • Partner/system data exchange

    • Registration and learning-path status changes can be synchronized to remote systems via sync targets and plugin-level webhook-style hooks.

Components

  • Rails Application (<code>rails-52-cap3-v2</code>)

    • Domain model: <code>CourseProvider</code>, <code>Course</code>, <code>Registration</code>, <code>RealmUser</code>, <code>LearningPath</code>, <code>LearningPathStep</code>, <code>LearningPathStatus</code>, and related billing/policy entities.
    • API surface: Versioned REST-style controllers under <code>api/</code> and <code>api/v3/</code> for platform entities.
    • Reporting layer: <code>ReportController</code> and SQL-backed reporting workflows for registrations, interactions, and launch analytics.
    • Sync engine: <code>SyncTarget</code>, <code>RegistrationSyncTarget</code>, <code>LearningPathSyncTarget</code>, <code>SyncDetail</code>, and recurring job integration.
    • Admin/UI: ActiveScaffold-backed management resources and realm/provider management routes.
  • WordPress Core Plugin (<code>bright-wordpress</code>)

    • Bootstrap/initialization: plugin registration, updates, option-driven module loading, and auth token/header/footer wiring.
    • WordPress connector: <code>Bright\Wordpress</code> integration class for user mapping, metadata export, shortcode expansion, template handling, and admin menu/tooling.
    • Learning path support: integration-base logic to assemble path/course/registration views from Bright API data, including scoring/status/path URL behavior.
    • Admin experience: classic embedded admin tools and React Admin 2.0 page.
    • Optional modules: WooCommerce, LearnDash, ACF, template packs, and sync utilities.
  • Bright E-Learning Dashboard Customizations (<code>vsi-bright-customizations</code>)

    • Dashboard UI overrides: removes default dashboard actions and injects custom overview/path-grid/catalog renderers.
    • Learning-path behavior: locale-aware path key mapping, prerequisite gating, custom launch controls, and certificate display rules.
    • Session-aware filtering: limits displayed registrations to path/session metadata stored in user and registration custom fields.
    • SSO entrypoint: hash-based login bootstrap, user creation/update, metadata persistence (PIN/session/expiration), and path/certificate redirect flow.
    • External sync hook: listens to Bright learning-path status sync events and forwards transformed payloads to partner APIs.