104 lines
3.3 KiB
Markdown
104 lines
3.3 KiB
Markdown
# MaplePress Plugin Changelog
|
|
|
|
## [1.0.0] - 2024-10-27
|
|
|
|
### Added - API Key Authentication Flow
|
|
|
|
#### Activation Experience
|
|
- Plugin now redirects to settings page upon activation
|
|
- Setup wizard shows welcome message with step-by-step instructions
|
|
- Admin notice appears on all pages until API key is configured
|
|
- Links to external MaplePress dashboard for account creation
|
|
|
|
#### Settings Page Enhancements
|
|
- **Welcome Screen**: First-time users see detailed setup instructions
|
|
- **External Dashboard Links**:
|
|
- Sign Up button: `https://getmaplepress.com/register`
|
|
- Login button: `https://getmaplepress.com/login`
|
|
- Dashboard link: `https://getmaplepress.com/dashboard`
|
|
- **API Key Validation**:
|
|
- Validates key with backend on save
|
|
- Shows clear success/error messages
|
|
- Displays site details after successful connection
|
|
- **Connection Status Display**:
|
|
- Site ID
|
|
- Tenant ID
|
|
- Domain
|
|
- Plan tier
|
|
- Active/Inactive status indicator
|
|
|
|
#### API Integration
|
|
- Enhanced API client error handling
|
|
- Stores site details from `/api/v1/plugin/status` response:
|
|
- `site_id`
|
|
- `tenant_id`
|
|
- `domain`
|
|
- `plan_tier`
|
|
- `is_verified`
|
|
- Validates API key on every settings save
|
|
- Clear error messages for connection failures
|
|
|
|
#### Admin Experience
|
|
- **Admin Notice**: Persistent warning banner when setup is incomplete
|
|
- **Auto-redirect**: Redirects to settings page after activation
|
|
- **Smart Display**: Notices don't show on settings page itself
|
|
- **Status Indicators**: Visual feedback (✓/✗ and colored dots)
|
|
|
|
### Technical Changes
|
|
|
|
#### New Fields in Settings
|
|
- `tenant_id` - Tenant UUID from API
|
|
- `domain` - Site domain from API
|
|
- `plan_tier` - User's subscription plan
|
|
- `is_verified` - Boolean flag for valid API key
|
|
- `needs_setup` - Boolean flag to trigger setup notices
|
|
|
|
#### Modified Files
|
|
- `includes/class-maplepress-activator.php`
|
|
- Added new settings fields
|
|
- Default API URL set to `http://localhost:8000`
|
|
- Added activation redirect transient
|
|
|
|
- `includes/class-maplepress-admin.php`
|
|
- Added `display_admin_notices()` method
|
|
- Added `activation_redirect()` method
|
|
- Enhanced `validate_settings()` with site details storage
|
|
- Better error handling and user feedback
|
|
|
|
- `includes/admin-settings-display.php`
|
|
- Complete redesign of settings page
|
|
- Conditional display based on connection status
|
|
- Welcome wizard for first-time setup
|
|
- Site details table for connected sites
|
|
|
|
### User Workflow
|
|
|
|
1. **Install & Activate**
|
|
- Plugin activates → redirects to settings page
|
|
- Sees welcome message with instructions
|
|
|
|
2. **Get API Key**
|
|
- Clicks "Sign Up at MaplePress.io"
|
|
- Creates account and site in external dashboard
|
|
- Copies API key (shown only once)
|
|
|
|
3. **Configure Plugin**
|
|
- Pastes API key in settings
|
|
- Clicks "Save Settings & Verify Connection"
|
|
- Plugin validates key with backend
|
|
- Success: Shows site details and status
|
|
- Failure: Shows error message
|
|
|
|
4. **Ongoing Use**
|
|
- If not configured: Admin notice appears on all pages
|
|
- If configured: Status shows in settings page
|
|
- Can manage sites from external dashboard
|
|
|
|
### API Endpoints Used
|
|
- `GET /api/v1/plugin/status` - Verify API key and get site details
|
|
|
|
### Security
|
|
- API keys stored in WordPress options table
|
|
- All user input sanitized and escaped
|
|
- API communication over HTTPS (production)
|
|
- WordPress nonces for form submissions
|