feat: required guided tours per user group #251

Open
opened 2026-06-23 16:49:57 +00:00 by jmiller · 1 comment
Owner

Required Guided Tours per User Group

Overview

Allow administrators to assign specific guided tours as mandatory for user groups. Users in those groups must complete the tour before accessing the relevant admin pages.

Features

  • Tour-to-group mapping — assign tours as required for specific Joomla user groups
  • Completion tracking — track which users have completed required tours via #__user_profiles
  • Enforcement — on page load, if user has incomplete required tours, auto-launch the tour
  • Admin UI — subform table in component config or DevTools to map tours → user groups
  • Skip option — configurable whether tours can be skipped or must be completed
  • Re-assignment — changing group mappings triggers tours for users who haven't completed them

Database

No new tables — uses existing #__user_profiles for completion tracking and component params for tour-group mappings.

Architecture

  • System plugin checks on onAfterRoute if current user has pending required tours
  • Injects tour launch script if tour is required and not yet completed
  • Completion recorded via Joomla's native guided tour completion mechanism
  • Config stored in component params as JSON map: {tour_id: [group_id, ...]}

Related

  • Guided tours (#249)
  • Reset tour prompts (#250)
## Required Guided Tours per User Group ### Overview Allow administrators to assign specific guided tours as mandatory for user groups. Users in those groups must complete the tour before accessing the relevant admin pages. ### Features - **Tour-to-group mapping** — assign tours as required for specific Joomla user groups - **Completion tracking** — track which users have completed required tours via `#__user_profiles` - **Enforcement** — on page load, if user has incomplete required tours, auto-launch the tour - **Admin UI** — subform table in component config or DevTools to map tours → user groups - **Skip option** — configurable whether tours can be skipped or must be completed - **Re-assignment** — changing group mappings triggers tours for users who haven't completed them ### Database No new tables — uses existing `#__user_profiles` for completion tracking and component params for tour-group mappings. ### Architecture - System plugin checks on `onAfterRoute` if current user has pending required tours - Injects tour launch script if tour is required and not yet completed - Completion recorded via Joomla's native guided tour completion mechanism - Config stored in component params as JSON map: `{tour_id: [group_id, ...]}` ### Related - Guided tours (#249) - Reset tour prompts (#250)
jmiller added this to the v03.00.00 milestone 2026-06-23 16:49:57 +00:00
Author
Owner

Branch created: feature/251-feat-required-guided-tours-per-user-grou

git fetch origin
git checkout feature/251-feat-required-guided-tours-per-user-grou
Branch created: [`feature/251-feat-required-guided-tours-per-user-grou`](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteClient/src/branch/feature/251-feat-required-guided-tours-per-user-grou) ```bash git fetch origin git checkout feature/251-feat-required-guided-tours-per-user-grou ```
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteClient#251