- 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>
		
			
				
	
	
		
			134 lines
		
	
	
		
			No EOL
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			No EOL
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # HVAC Trainer Import Instructions
 | |
| 
 | |
| ## Overview
 | |
| This guide walks you through importing trainer data from the Formidable Forms CSV export into your WordPress database.
 | |
| 
 | |
| ## Files Created
 | |
| 1. `admin-import-trainers.php` - Web-based import tool for server execution
 | |
| 2. `scripts/import-trainer-csv.php` - Command-line import script (if server has CLI access)
 | |
| 3. `scripts/README-import.md` - Detailed technical documentation
 | |
| 
 | |
| ## 🚨 IMPORTANT SECURITY NOTES
 | |
| - **Remove `admin-import-trainers.php` immediately after import**
 | |
| - Only run this on production with admin access
 | |
| - Always backup your database first
 | |
| 
 | |
| ## Method 1: Web-Based Import (Recommended)
 | |
| 
 | |
| ### Step 1: Deploy to Server
 | |
| 1. Upload `admin-import-trainers.php` to your WordPress root directory
 | |
| 2. Ensure you have WordPress admin access
 | |
| 
 | |
| ### Step 2: Download CSV File
 | |
| Download the trainer data CSV:
 | |
| ```
 | |
| https://upskill-staging.measurequick.com/wp-content/uploads/2025/06/250618120131_user-registration_formidable_entries.csv
 | |
| ```
 | |
| 
 | |
| ### Step 3: Access Import Tool
 | |
| Visit: `https://yoursite.com/admin-import-trainers.php`
 | |
| 
 | |
| ### Step 4: Run Import
 | |
| 1. **First**: Upload CSV and check "Dry Run" to preview changes
 | |
| 2. **Review**: Check the dry-run output for any issues
 | |
| 3. **Import**: Uncheck "Dry Run" and run actual import
 | |
| 4. **Verify**: Check that users were created correctly
 | |
| 
 | |
| ### Step 5: Cleanup
 | |
| **IMMEDIATELY** delete `admin-import-trainers.php` from your server for security!
 | |
| 
 | |
| ## Method 2: Command Line (If Available)
 | |
| 
 | |
| If your server has SSH/CLI access:
 | |
| 
 | |
| ```bash
 | |
| # Upload script to server
 | |
| scp scripts/import-trainer-csv.php user@yourserver:/path/to/wordpress/
 | |
| 
 | |
| # Download CSV
 | |
| curl -O "https://upskill-staging.measurequick.com/wp-content/uploads/2025/06/250618120131_user-registration_formidable_entries.csv"
 | |
| 
 | |
| # Run dry-run
 | |
| php import-trainer-csv.php 250618120131_user-registration_formidable_entries.csv --dry-run
 | |
| 
 | |
| # Run actual import
 | |
| php import-trainer-csv.php 250618120131_user-registration_formidable_entries.csv
 | |
| ```
 | |
| 
 | |
| ## What Gets Imported
 | |
| 
 | |
| ### User Data
 | |
| - Creates WordPress users with `hvac_trainer` role
 | |
| - Maps personal and business information to user meta
 | |
| - Sets all imported users as `approved` (pre-approved)
 | |
| - Generates secure passwords and sends welcome emails
 | |
| 
 | |
| ### Field Mappings
 | |
| | CSV Field | WordPress Field | Notes |
 | |
| |-----------|----------------|-------|
 | |
| | Name/Last Name | first_name, last_name | User profile |
 | |
| | Work Email | user_email, user_login | Primary identifier |
 | |
| | Company Name | business_name | Business info |
 | |
| | Phone Number | business_phone | Contact info |
 | |
| | Personal Accreditations | personal_accreditation | Certifications |
 | |
| | Training Target | training_audience | Converted to array |
 | |
| | Profile Picture | profile_image_id | URL mapped to attachment |
 | |
| 
 | |
| ### Events Calendar Integration
 | |
| - Creates organizer profiles for each trainer
 | |
| - Creates venue profiles for businesses
 | |
| - Links profiles to user accounts
 | |
| 
 | |
| ## Image Handling
 | |
| - **No image downloads** - assumes images exist on current server
 | |
| - Maps staging URLs to production URLs automatically
 | |
| - Logs warnings for missing images
 | |
| 
 | |
| ## Verification Steps
 | |
| 
 | |
| After import, verify:
 | |
| 
 | |
| 1. **User Creation**: Check Users → All Users in WordPress admin
 | |
| 2. **Role Assignment**: Ensure users have `hvac_trainer` role
 | |
| 3. **Meta Data**: Check user profiles for complete information
 | |
| 4. **Email Delivery**: Confirm welcome emails were sent
 | |
| 5. **Events Integration**: Verify organizer/venue profiles created
 | |
| 
 | |
| ## Troubleshooting
 | |
| 
 | |
| ### Common Issues
 | |
| - **Missing images**: Check if profile images exist on your server
 | |
| - **Duplicate emails**: Script handles duplicates by updating existing users
 | |
| - **Role errors**: Ensure `hvac_trainer` role exists in your system
 | |
| - **Email failures**: Check WordPress mail configuration
 | |
| 
 | |
| ### Support
 | |
| - Check `scripts/README-import.md` for detailed technical info
 | |
| - Review error messages in import output
 | |
| - Verify WordPress permissions and plugins
 | |
| 
 | |
| ## Sample Output
 | |
| ```
 | |
| Starting import from uploaded CSV
 | |
| DRY RUN MODE - No data will be modified
 | |
| ----------------------------------------
 | |
| Creating new user: trainer1@example.com
 | |
| Creating new user: trainer2@example.com
 | |
| Warning: Could not find attachment for URL: https://...
 | |
| 
 | |
| ========================================
 | |
| Import Complete!
 | |
| ========================================
 | |
| Processed: 25
 | |
| Created: 23
 | |
| Updated: 2
 | |
| Skipped: 0
 | |
| Errors: 0
 | |
| ```
 | |
| 
 | |
| ## Post-Import Tasks
 | |
| 1. **Remove import files** for security
 | |
| 2. **Test user logins** with password reset
 | |
| 3. **Verify trainer dashboards** work correctly
 | |
| 4. **Check event creation** permissions
 | |
| 5. **Update documentation** with new user count |