The Instructor Frontend Builder turns selected structures into instructor-manageable frontend trees with separate dashboard, manager, and editor routes. The current runtime owner is src/Modules/InstructorFrontendBuilder/InstructorFrontendBuilderSystem.php.
Module Gate and Entry Points
- Module flag:
brm_enable_instructor_frontend_builder - Bootstrap path:
src/Bootstrap/BootstrapCoordinator.php→InstructorFrontendBuilderSystem::boot() - Admin page:
admin.php?page=brm_instructor_builder - Access owner:
src/Modules/InstructorFrontendBuilder/InstructorAccessService.php - Read owner:
src/Modules/InstructorFrontendBuilder/InstructorReadService.php
Query Vars and Routing
The runtime registers these query vars for scope-aware frontend routes:
brm_scopebrm_modebrm_structurebrm_levelbrm_parentbrm_item
InstructorPageGate validates the request context and routes the user into the assigned dashboard, manager, or editor page layouts.
Key Options
brm_instructor_builder_rolesbrm_instructor_builder_structuresbrm_instructor_builder_allow_publishbrm_instructor_builder_dashboard_page_idbrm_instructor_builder_manager_page_idbrm_instructor_builder_editor_page_id
Ownership Split
InstructorFrontendBuilderSystemowns runtime boot and query-var registration.InstructorAccessServiceowns enabled-structure selection, allowed roles, page assignment reads, and write/publish capability checks.InstructorReadServiceowns validated scope-tree reads for frontend rendering.InstructorFrontendBatchRuntimeowns batch-backed refresh behavior for larger trees.
Transport Adapters
- Admin settings page:
InstructorFrontendBuilderPage - Bricks Forms action pack:
InstructorBuilderFormIntegration - Scope assignment meta box:
InstructorScopeAssignmentMetaBox
Edit Guidance
- Start in
InstructorFrontendBuilderSystemfor bootstrap and route questions. - Start in
InstructorAccessServicefor permissions and configuration logic. - Start in
InstructorReadServicewhen the frontend needs a different scope-tree read model.