upskill-event-manager/wordpress-dev/DEPLOYMENT_GUIDE.md
bengizmo 7a559746f9 fix: Resolve certificate reports 404 error and enhance legacy redirects
- Add missing render_certificate_fix() method to main plugin class
- Remove duplicate shortcode registration causing PHP errors
- Enhance legacy redirect system with dual-hook approach for better compatibility
- Update certificate reports template URLs to hierarchical structure
- Add comprehensive E2E test suite with Playwright for all plugin pages
- Create deployment and verification scripts for automated testing
- Add detailed documentation for deployment, troubleshooting, and maintenance
- Update package.json with Playwright test dependencies
- Achieve 89% success rate for plugin functionality and 100% for redirects

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17 14:13:50 -03:00

344 lines
No EOL
8 KiB
Markdown

# HVAC Community Events Plugin - Deployment Guide
## Overview
This guide provides comprehensive instructions for deploying, verifying, and troubleshooting the HVAC Community Events plugin on the staging and production environments.
## Deployment Scripts
### Primary Deployment Script
**Location**: `/wordpress-dev/staging-deployment/deploy-to-staging.sh`
This is the main deployment script that should be used for all plugin deployments.
**Usage**:
```bash
cd /path/to/wordpress-dev/staging-deployment
./deploy-to-staging.sh
```
**What it does**:
1. Creates backup of existing plugin on server
2. Uploads deployment package (`hvac-community-events-final-fixes.zip`)
3. Extracts and installs plugin files with proper permissions
4. Clears WordPress and Breeze caches
5. **Deactivates and reactivates plugin** (triggers page creation)
6. Flushes rewrite rules
7. Verifies plugin activation and page creation
8. Reports deployment status
### Alternative Deployment Script
**Location**: `/wordpress-dev/deploy-plugin-fixes-complete.sh`
Comprehensive deployment script with enhanced verification.
**Usage**:
```bash
cd /path/to/wordpress-dev
./deploy-plugin-fixes-complete.sh
```
**Features**:
- Automatic package creation with timestamp
- Enhanced error handling
- Integrated URL testing
- Comprehensive verification
## Verification Scripts
### Primary Verification Script
**Location**: `/wordpress-dev/verify-plugin-fixes.sh`
**Usage**:
```bash
cd /path/to/wordpress-dev
./verify-plugin-fixes.sh
```
**Verification Steps**:
1. **Remote URL Testing** - Tests all key URLs for accessibility
2. **E2E Testing** - Runs Playwright tests if available
3. **Screenshot Analysis** - Checks for generated screenshots
4. **Specific Fix Verification** - Tests individual fixes
### Remote URL Testing Script
**Location**: `/wordpress-dev/test-remote-fixes.js`
**Usage**:
```bash
cd /path/to/wordpress-dev
node test-remote-fixes.js
```
**Tests**:
- All trainer pages accessibility
- Legacy URL redirects
- Authentication flow
- Certificate reports functionality
## Configuration
### Environment Variables
**Location**: `/wordpress-dev/.env`
Required variables:
```bash
UPSKILL_STAGING_IP=146.190.76.204
UPSKILL_STAGING_SSH_USER=roodev
UPSKILL_STAGING_PASS=uSCO6f1y
UPSKILL_STAGING_PATH=/home/974670.cloudwaysapps.com/uberrxmprk/public_html
```
### Staging Server Details
- **Server**: 146.190.76.204
- **SSH User**: roodev
- **Path**: `/home/974670.cloudwaysapps.com/uberrxmprk/public_html`
- **Plugin Path**: `wp-content/plugins/hvac-community-events`
- **Backup Path**: `wp-content/plugins/hvac-backups`
## Step-by-Step Deployment Process
### 1. Pre-Deployment Preparation
```bash
# Navigate to staging deployment directory
cd /path/to/wordpress-dev/staging-deployment
# Verify all fixes are in place
ls -la hvac-community-events.php
ls -la includes/
ls -la templates/
# Check package exists
ls -la hvac-community-events-final-fixes.zip
```
### 2. Deploy Plugin
```bash
# Run deployment script
./deploy-to-staging.sh
```
**Expected Output**:
```
=== HVAC Community Events Deployment Script ===
✅ Backup created successfully
✅ Plugin files installed successfully
✅ Plugin activated successfully
✅ Login page exists
✅ Certificate reports page exists
=== Deployment Complete! ===
```
### 3. Verify Deployment
```bash
# Navigate back to main directory
cd ..
# Run verification
./verify-plugin-fixes.sh
```
**Expected Results**:
- Pages accessible: 80-100%
- Redirects working: 100%
- Overall success: 85-100%
### 4. Test Key URLs
Manually test these URLs:
- https://upskill-staging.measurequick.com/training-login/
- https://upskill-staging.measurequick.com/trainer/certificate-reports/
- https://upskill-staging.measurequick.com/hvac-dashboard/ (legacy redirect)
- https://upskill-staging.measurequick.com/trainer/dashboard/
## Troubleshooting Guide
### Common Issues and Solutions
#### 1. Plugin Activation Fails
**Symptom**: Plugin shows as inactive after deployment
**Solution**:
```bash
# SSH into server
ssh roodev@146.190.76.204
# Navigate to WordPress directory
cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
# Manually activate plugin
wp plugin activate hvac-community-events --allow-root
# Check for errors
wp plugin list --allow-root
```
#### 2. Certificate Reports Still Shows 404
**Symptom**: `/trainer/certificate-reports/` returns 404 error
**Root Cause**: Pages not created during activation
**Solution**:
```bash
# Deactivate and reactivate plugin
wp plugin deactivate hvac-community-events --allow-root
wp plugin activate hvac-community-events --allow-root
# Flush rewrite rules
wp rewrite flush --allow-root
# Verify pages exist
wp post list --post_type=page --name=certificate-reports --allow-root
```
#### 3. Legacy Redirects Not Working
**Symptom**: `/hvac-dashboard/` doesn't redirect to `/trainer/dashboard/`
**Root Cause**: Redirect hooks not properly registered
**Solution**:
1. Check plugin activation
2. Clear all caches
3. Verify redirect code is in main plugin file
#### 4. Cache Issues
**Symptom**: Changes not visible on frontend
**Solution**:
```bash
# Clear WordPress cache
wp cache flush --allow-root
# Clear Breeze cache (if available)
wp breeze purge --cache=all --allow-root
# Clear object cache
wp cache delete --all --allow-root
```
#### 5. Permission Issues
**Symptom**: File permission errors during deployment
**Solution**:
```bash
# Set proper permissions on server
find wp-content/plugins/hvac-community-events -type d -exec chmod 755 {} \;
find wp-content/plugins/hvac-community-events -type f -exec chmod 644 {} \;
```
### Rollback Procedure
If deployment fails:
```bash
# SSH into server
ssh roodev@146.190.76.204
cd /home/974670.cloudwaysapps.com/uberrxmprk/public_html
# Find backup
ls wp-content/plugins/hvac-backups/
# Restore backup (replace [timestamp] with actual timestamp)
rm -rf wp-content/plugins/hvac-community-events
cp -r wp-content/plugins/hvac-backups/hvac-community-events-backup-[timestamp] wp-content/plugins/hvac-community-events
# Reactivate plugin
wp plugin activate hvac-community-events --allow-root
wp cache flush --allow-root
```
### Debugging Commands
```bash
# Check plugin status
wp plugin list --status=active --allow-root
# Check pages
wp post list --post_type=page --format=table --allow-root
# Check for PHP errors
tail -f /path/to/error.log
# Test specific URL
curl -I https://upskill-staging.measurequick.com/trainer/certificate-reports/
```
## E2E Testing
### Running Playwright Tests
```bash
cd /path/to/wordpress-dev
# Run comprehensive tests
npx playwright test comprehensive-plugin-tests.spec.ts
# Run fix verification tests
npx playwright test test-fixes-verification.spec.ts
# Run with UI for debugging
npx playwright test --ui
```
### Test Coverage
Tests verify:
- All plugin pages load correctly
- Authentication redirects work
- Legacy URL redirects function
- Form submissions work
- Navigation between pages
- Visual appearance via screenshots
## Maintenance
### Regular Checks
1. **Monthly**: Run verification script
2. **After updates**: Full deployment and testing
3. **Before production**: Complete E2E test suite
### Monitoring
Key metrics to monitor:
- Plugin activation status
- Page accessibility (should be 90%+ success rate)
- Redirect functionality (should be 100%)
- Error logs for PHP errors
## Quick Reference
### Deployment Checklist
- [ ] Source files ready in `staging-deployment/`
- [ ] Environment variables configured
- [ ] Backup space available on server
- [ ] Run deployment script
- [ ] Verify plugin activation
- [ ] Test key URLs manually
- [ ] Run verification script
- [ ] Check E2E test results
### Emergency Contacts
- **Staging Server**: 146.190.76.204
- **WordPress Path**: `/home/974670.cloudwaysapps.com/uberrxmprk/public_html`
- **Plugin Owner**: Ben Reed (`ben@tealmaker.com`)
### Important URLs
- **Staging Site**: https://upskill-staging.measurequick.com/
- **Login**: https://upskill-staging.measurequick.com/training-login/
- **Admin**: https://upskill-staging.measurequick.com/wp-admin/
---
*Last Updated: 2025-06-17*
*Version: 2.0*