upskill-event-manager/ROLE_MIGRATION_GUIDE.md
bengizmo 993a820a84 feat: Add comprehensive development artifacts to repository
- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation
- Include 3 CSV data files for trainer imports and user registration tracking
- Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing
- Include 18 PHP utility files for debugging, geocoding, and data analysis
- Add 12 shell scripts for deployment verification, user management, and database operations
- Update .gitignore with whitelist patterns for development files, documentation, and CSV data

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 12:26:11 -03:00

3.7 KiB

HVAC Trainer Role Migration Guide

Date: July 23, 2025
Issue: Master dashboard not showing all HVAC trainers
Resolution: Legacy role migration from event_trainer to hvac_trainer


Problem Description

The master dashboard was only showing 4 out of 15 HVAC trainer users. Investigation revealed that 11 users had the legacy event_trainer role instead of the current hvac_trainer role.

Root Cause

  • Master dashboard code only queries for users with hvac_trainer and hvac_master_trainer roles
  • 11 users had legacy event_trainer role from previous development
  • These users were invisible to the master dashboard analytics

Solution Summary

Migration Process: Convert all event_trainer users to hvac_trainer role

Users Migrated:

  1. andys@genzryan.com
  2. ben@tealmaker.com
  3. david@hvacinstituteinc.com
  4. dpetz@johnstonenjpa.com
  5. eric.energy@gmail.com
  6. Greg.a.kula@gmail.com
  7. hhr.handc@gmail.com
  8. janderson@sila.com
  9. mnantel@republicsupplyco.com
  10. rigobertohugo19 (info103@noreply0.com)
  11. thoffmaster@hoffmastermechanical.com

Migration Script

The migration was performed using migrate-event-trainers.sh:

#!/bin/bash
# Migration script: migrate-event-trainers.sh

# For each event_trainer user:
wp user remove-role "$username" event_trainer
wp user add-role "$username" hvac_trainer

Verification Commands

# Check role counts before migration
wp user list --role=event_trainer --format=count
wp user list --role=hvac_trainer --format=count

# Perform migration
./migrate-event-trainers.sh

# Verify migration completed
wp user list --role=event_trainer --format=count  # Should be 0
wp user list --role=hvac_trainer --format=count   # Should be 14

Results

Before Migration

  • HVAC Trainers: 3 users
  • Event Trainers: 11 users (invisible to master dashboard)
  • Master Dashboard: Showed 4 total trainers

After Migration

  • HVAC Trainers: 14 users
  • HVAC Master Trainers: 3 users
  • Event Trainers: 0 users
  • Master Dashboard: Shows 15 total trainers

Master Dashboard Statistics

  • Total Trainers: 15 (increased from 4)
  • Total Events: 16 events across all trainers
  • Complete Analytics: All trainer data now visible
  • Legacy Cleanup: All event_trainer role artifacts removed

Prevention

To prevent similar issues in the future:

  1. Consistent Role Naming: Always use hvac_trainer for trainer users
  2. Role Verification: Check user roles during testing
  3. Master Dashboard Testing: Verify all trainers appear in analytics
  4. Migration Scripts: Keep role migration scripts for future use

Testing Verification

Master Dashboard Query Test:

$trainer_users = get_users(array(
    'role__in' => array('hvac_trainer', 'hvac_master_trainer'),
    'fields' => 'ID'
));
// Should return 15 users after migration

Master Dashboard Access:

  • Login as master trainer: joe@measurequick.com
  • Navigate to: /master-trainer/dashboard/
  • Verify: 15 trainers visible in analytics
  • Confirm: All trainer statistics display correctly

Files Modified

  1. Migration Script: migrate-event-trainers.sh (created)
  2. Verification Script: verify-master-dashboard-data.sh (created)
  3. Documentation: CLAUDE.md (updated with fix details)
  4. Documentation: README.md (updated user counts)

Deployment Notes

  • Code Changes: No code changes required (only data migration)
  • Database Changes: User role metadata updated
  • Cache Clearing: Automatic via deployment script
  • Verification: Master dashboard functionality confirmed

The migration resolved the issue completely and all HVAC trainers are now properly visible in the master dashboard analytics.