Implements automatic creation of required plugin pages (Community Login, Trainer Registration, Trainer Dashboard) upon plugin activation. This addresses E2E test failures caused by missing pages in the test environment. - Adds activation hook in `hvac-community-events.php` to call `hvac_ce_create_required_pages`. - The callback function checks for existing pages by slug and creates them using `wp_insert_post` if missing. Includes debug logging. Also fixes issues identified during E2E test debugging: - Corrects fatal error in `includes/community/class-login-handler.php` by replacing undefined constant `HVAC_COMMUNITY_EVENTS_PATH` with `HVAC_CE_PLUGIN_DIR`. - Updates `tests/e2e/tests/login.spec.ts` to use the correct selector `#wp-submit` for the login form submit button instead of `button[type="submit"]`. Documentation updates: - Adds `docs/automatic-page-creation-plan.md`. - Updates `README.md` regarding automatic page creation. - Updates Memory Bank files (`decisionLog.md`, `progress.md`, `activeContext.md`). Note: Activation hook logging did not appear during WP-CLI activation, requiring further investigation if page creation issues persist. E2E test confirmation pending.
170 lines
No EOL
3.9 KiB
Markdown
170 lines
No EOL
3.9 KiB
Markdown
# Deployment Guide
|
|
|
|
This guide covers deploying the HVAC Trainer Network Events plugin to development and production environments.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Deploy to development
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/deploy.sh --config deploy-config.sh
|
|
|
|
# Deploy and run tests
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/deploy.sh --config deploy-config.sh --run-tests
|
|
|
|
# Deploy to production
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/deploy.sh --config deploy-config-production.sh
|
|
```
|
|
|
|
## Plugin Dependencies
|
|
|
|
The HVAC Trainer Network Events plugin requires the following plugins:
|
|
|
|
1. The Events Calendar (6.10.2 or higher)
|
|
2. The Events Calendar Pro (7.4.2 or higher)
|
|
3. Event Tickets (5.19.3 or higher)
|
|
4. Event Tickets Plus (6.2.0 or higher)
|
|
5. The Events Calendar: Community Events (latest version)
|
|
6. Spectra Pro (2.0.0 or higher)
|
|
7. Premium Starter Templates (4.4.14 or higher)
|
|
8. Essential Blocks (5.3.2 or higher)
|
|
|
|
**Important Notes:**
|
|
- Plugin versions are managed separately from deployment
|
|
- Do not update plugins as part of deployment or testing
|
|
- Plugin updates should be tested separately in a staging environment
|
|
- Use the plugin management system of your hosting environment for updates
|
|
|
|
## Configuration Files
|
|
|
|
### Development Configuration
|
|
File: `deploy-config.sh`
|
|
```bash
|
|
REMOTE_HOST="upskill_wordpress"
|
|
REMOTE_USER="root"
|
|
WP_PATH="/var/www/html/"
|
|
PLUGIN_SLUG="network-events"
|
|
WP_CLI_PATH="wp"
|
|
PURGE_BREEZE_CACHE=false
|
|
USE_ROOT=true
|
|
```
|
|
|
|
### Production Configuration
|
|
File: `deploy-config-production.sh`
|
|
- Contains production-specific settings
|
|
- Includes additional security measures
|
|
- Requires SSH key configuration
|
|
|
|
## Deployment Process
|
|
|
|
1. **Pre-deployment Checks**
|
|
- Verify dependencies
|
|
- Run tests
|
|
- Check file permissions
|
|
|
|
2. **Deployment Steps**
|
|
- Package plugin files
|
|
- Transfer to target environment
|
|
- Update WordPress configuration
|
|
- Clear caches
|
|
|
|
3. **Post-deployment Verification**
|
|
- Check plugin activation
|
|
- Verify functionality
|
|
- Monitor error logs
|
|
|
|
## Development Environment
|
|
|
|
### Setup
|
|
```bash
|
|
# Start development environment
|
|
cd /Users/ben/dev/upskill-event-manager/wordpress-dev
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/manage-env.sh start
|
|
|
|
# Stop development environment
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/manage-env.sh stop
|
|
|
|
# Reset development environment
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/manage-env.sh reset
|
|
```
|
|
|
|
### Access Points
|
|
- WordPress site: http://localhost:8080
|
|
- WordPress admin: http://localhost:8080/wp-admin
|
|
- phpMyAdmin: http://localhost:8081
|
|
|
|
## Production Environment
|
|
|
|
### Requirements
|
|
- SSH access to production server
|
|
- WordPress admin credentials
|
|
- Appropriate file permissions
|
|
|
|
### Deployment Steps
|
|
1. Configure SSH access
|
|
2. Update production configuration
|
|
3. Run deployment script
|
|
4. Verify deployment
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **Permission Errors**
|
|
```bash
|
|
# Fix permissions
|
|
./Users/ben/dev/upskill-event-manager/manage-env.sh fix-permissions
|
|
```
|
|
|
|
2. **Cache Issues**
|
|
```bash
|
|
# Clear WordPress cache
|
|
wp cache flush
|
|
```
|
|
|
|
3. **Plugin Activation Issues**
|
|
```bash
|
|
# Check plugin status
|
|
wp plugin list
|
|
```
|
|
|
|
## Rollback Procedure
|
|
|
|
If deployment fails:
|
|
1. Restore from backup
|
|
2. Revert plugin files
|
|
3. Clear caches
|
|
4. Verify functionality
|
|
|
|
## Maintenance
|
|
|
|
### Regular Tasks
|
|
1. Update dependencies
|
|
2. Run tests
|
|
3. Monitor error logs
|
|
4. Backup data
|
|
|
|
### Backup Management
|
|
```bash
|
|
# Create backup
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/manage-env.sh backup
|
|
|
|
# Restore from backup
|
|
./Users/ben/dev/upskill-event-manager/wordpress-dev/manage-env.sh restore
|
|
```
|
|
|
|
## Security Considerations
|
|
|
|
1. **Configuration Security**
|
|
- Use environment variables
|
|
- Secure sensitive data
|
|
- Restrict file permissions
|
|
|
|
2. **Access Control**
|
|
- Limit SSH access
|
|
- Use strong passwords
|
|
- Enable two-factor authentication
|
|
|
|
3. **Monitoring**
|
|
- Check error logs
|
|
- Monitor file changes
|
|
- Track plugin activity |