Academy LMSProduct documentation
2026.07
Administrators and developers

Deploy, verify, and roll out the product system without changing the LMS domain.

Academy LMS remains Laravel and Blade based. The product release flags change presentation coverage only; existing URLs, tenancy, policies, database records, payments, notifications, calendar sources, and content access rules stay compatible.

Deployment sequence

composer install --no-dev --optimize-autoloader
npm ci
npm run build
php artisan migrate --force
php artisan view:cache
php artisan test

Run the database migration before enabling the new access model in a deployment. It adds course catalog/enrollment policy fields, invitations, and observer links. Existing public pricing-type courses are backfilled to public catalog behavior; other existing courses default to private access.

Product release flags

LMS_UI_V2 is the immediate global presentation rollback. Route families can also be controlled independently while retaining their underlying route and domain behavior.

FlagCoverage
LMS_UI_V2Global product-shell switch. Set false to turn off the product presentation layer.
LMS_UI_V2_PUBLICAcademy storefront and public invitation presentation.
LMS_UI_V2_AUTHAuthentication/account-state presentation.
LMS_UI_V2_OPERATIONSOperations dashboards, libraries, and academy work.
LMS_UI_V2_AUTHORINGCourse Studio, curriculum, planning calendar/board, and assessment authoring.
LMS_UI_V2_LEARNINGStudent, calendar, assessment, and companion learning experiences.
LMS_UI_V2_INTELLIGENCEReports, automations, AI, analytics, and commerce administration.
LMS_UI_V2_ADMINISTRATIONSettings, roles, permissions, notifications, SaaS, and security administration.

Safe rollout

Check schema and assetsRun migrations, compiled views, production Vite build, and the full automated suite.
Enable a route familyEnable only the release whose routes have complete product coverage for its intended users.
Validate role journeysCheck navigation, academy scope, empty states, permission denial, mobile layout, and no legacy mix.
Rollback presentation if neededTurn off the release flag or global switch; do not roll back domain migrations merely to change UI.

Security and tenancy checks

Academy boundaries
  • Validate academy visibility on courses, invitations, observer links, boards, calendar records, and enrollment operations.
  • Validate relation ownership before mutating a course, learner, lesson, card, or event.
  • Keep staff records, private attachments, protected media, and learner data behind existing authorization.
Branding boundaries
  • Academies may control their logo and sanitized primary accent.
  • Semantic colors, surfaces, focus treatment, contrast, and interaction states remain system controlled.
  • Do not add tenant-supplied CSS, scripts, or unvalidated color values.

Release verification

  • Run php artisan test, php artisan view:cache, and npm run build.
  • Confirm public catalog visibility, free enrollment, checkout handoff, private invitation acceptance, and learner calendar scope.
  • Confirm Course Studio ordering, planning board/calendar permissions, assessment access, and observer portal isolation.
  • Check 1440px, 1024px, and 390px with keyboard focus, reduced motion, and no horizontal overflow before enabling a new release group.