Version: 26.4.0 Status: Production Ready - Quality & Security Sprint Complete Type: WordPress Plugin for German Hegegemeinschaften Management
The Abschussplan HGMH plugin is a comprehensive WordPress solution for digital management of hunting reports in German hunting districts. Version 3.0 represents a complete architectural refactoring from prototype to production-grade software with enterprise features.
- โ Digital Hunting Reports - Advanced web forms with validation and permission-based preselection
- โ 3-Level Permission System - Besucher, Obmann, Vorstand with wildart-specific assignments
- โ Comprehensive Admin Panel - Modern tabbed interface with full CRUD operations and obmann management
- โ Master-Detail Wildart Configuration - Intuitive wildart-specific category and meldegruppe management with full CRUD operations
- โ Flexible Limits Management - Dual-mode system: Meldegruppen-specific vs. Hegegemeinschaft-total limits
- โ Advanced Export System - Configurable CSV exports with admin interface and public URLs
- โ Obmann Management - Complete user assignment system with wildart-specific meldegruppe assignments
- โ Category Management - Full CRUD for species and categories with integrated limit controls
- โ Status Tracking - Real-time status badges (๐ข ๐ก ๐ด ๐ฅ) based on limit compliance
- โ Date Range Operations - Delete submissions by custom date ranges
- โ Responsive Design - Mobile-optimized Bootstrap 5.3 interface
- โ Multi-Database - WordPress MySQL, SQLite, PostgreSQL support
- โ Shortcode Integration - 5 powerful shortcodes with permission-based access control and cross-component data consistency
- โ Real-time Table Updates - AJAX-powered data refreshing
- โ Complete Internationalization - German translation with POT file for additional languages
- โ WordPress.org Compliance - Security hardened, coding standards compliant, production ready
- โ Security Hardening - 15+ vulnerabilities fixed (SQL injection, missing nonce checks, unsanitized input, unauthenticated export)
- โ Admin UX Overhaul - Restructured menu (7 pages), WordPress-native UI components, no Bootstrap in admin
- โ WCAG 2.1 AA Accessibility - ARIA labels, focus management, keyboard navigation, screen reader support, 44px touch targets
- โ Code Quality - Dead code removed (11 files), WPCS formatting, i18n consistency, error handling improvements
- โ Frontend Improvements - Responsive card layouts, eliminated alert() dialogs, fixed HTML entity escaping
Phase 1: Foundation
- โ Feature Flags System - Safe, gradual rollout of new features with admin UI
- โ Migration Manager - Versioned database schema management with automated migrations
- โ Data Migration v1 โ v2 - Seamless migration of existing data to new normalized schema
Phase 2: Architecture
- โ Repository Pattern - Clean data abstraction layer with Submission Repository
- โ Moderation Service - Centralized business logic for approve/reject/edit workflows
- โ Email Service - Unified email notification system with templating
Phase 3: Advanced Features
- โ Table Moderation Interface - Direct approve/edit/reject actions in [abschuss_table] shortcode
- โ Public Form with Verification - Anonymous submissions with email verification workflow
- โ Activity Logging - Comprehensive user activity tracking for analytics and compliance
- โ Enhanced Wildarten Management - Repository-based CRUD with drag & drop sorting
Technical Improvements:
- ๐๏ธ Clean Architecture - Service layer, repository pattern, separation of concerns
- ๐ Enhanced Security - Rate limiting, verification tokens, moderation workflows
- ๐ Audit Trail - Complete activity and moderation history logging
- ๐ง Email System - Transactional emails for verification, approval, rejection
- ๐ฏ Feature Toggles - Safe deployment with feature flags
- ๐๏ธ Normalized Schema - 6 new tables with semantic columns replacing generic field1-6
- Upload
wp-content/plugins/abschussplan-hgmh/to your WordPress installation - Activate plugin in WordPress Admin Panel
- Database migrations run automatically on activation
- Configure feature flags in Admin โ Feature Flags (if needed)
- Use shortcodes in pages/posts (see Shortcode Reference)
- WordPress: 5.0+
- PHP: 7.4+
- Database: MySQL 5.6+ (default), SQLite, or PostgreSQL 9.0+
New Tables (v3.0):
wp_ahgmh_submissions- Enhanced with status tracking, verification, moderation fieldswp_ahgmh_moderation_history- Complete audit trail for moderation actionswp_ahgmh_email_log- Email sending history for debugging and compliancewp_ahgmh_activity_log- User activity tracking for analyticswp_ahgmh_meldegruppen_config- Enhanced meldegruppen configurationwp_ahgmh_jagdbezirke- Hunting district management
- Moderation Service - Business logic for submission workflows
- Email Service - Centralized email notifications with templates
- Verification Service - Token-based email verification
- Activity Logger - User action tracking with GDPR-compliant cleanup
- Submission Repository - Data access abstraction for submissions
- Wildart Repository - CRUD operations for wildarten
- Meldegruppe Repository - CRUD operations for meldegruppen
Access CSV exports via WordPress AJAX endpoints with extensive configuration:
Base URL:
https://your-domain.com/wp-admin/admin-ajax.php?action=ahgmh_export_csv
Parameters:
species- Filter by game species (e.g., "Rotwild", "Rehwild")meldegruppe- Filter by specific meldegruppecategory- Filter by categorystart_date- Start date (YYYY-MM-DD)end_date- End date (YYYY-MM-DD)filename- Custom filename pattern (supports {species}, {date}, {meldegruppe} placeholders)
Example URLs:
# All Rotwild submissions
/wp-admin/admin-ajax.php?action=ahgmh_export_csv&species=Rotwild
# Specific meldegruppe with date range
/wp-admin/admin-ajax.php?action=ahgmh_export_csv&species=Rehwild&meldegruppe=Gruppe_A&start_date=2024-01-01&end_date=2024-12-31
# Custom filename
/wp-admin/admin-ajax.php?action=ahgmh_export_csv&species=Rotwild&filename=Abschuss_{species}_{date}.csvDigital submission form for hunters
- Auto-detects user role and pre-selects meldegruppe (for Obmรคnner)
- Full validation with real-time feedback
- Responsive Bootstrap 5 design
Parameters: None Permissions: Logged-in users only
Interactive data table with moderation (v3.0 NEW)
- Real-time AJAX updates
- Direct approve/edit/reject actions for Obmรคnner
- Sorting, filtering by species/meldegruppe
- Export to CSV functionality
Parameters:
species(optional) - Filter by speciesmeldegruppe(optional) - Filter by meldegruppe
Permissions:
- Vorstand: Full access to all data
- Obmann: Access to assigned meldegruppen only
Example:
[abschuss_table species="Rotwild" meldegruppe="Gruppe_A"]
Comprehensive admin interface
- Multi-tab navigation (Dashboard, Data, Obmรคnner, Categories, Wildarten)
- Full CRUD operations
- Obmann assignment management
- CSV export configuration
Parameters: None
Permissions: Administrators only (manage_options capability)
Public statistics display
- Aggregate data by species and meldegruppe
- No authentication required (public access)
- Real-time status indicators
Parameters:
show_meldegruppen(optional, default: false) - Show meldegruppe breakdown
Example:
[abschuss_summary show_meldegruppen="true"]
Limits configuration interface
- Dual-mode: Meldegruppen-specific vs. Total limits
- Visual limit/current comparison
- Real-time updates via AJAX
Parameters: None Permissions: Administrators only
Anonymous submission form with email verification
- No login required
- Email verification workflow
- Rate limiting for abuse prevention
- Captcha integration
Parameters: None Permissions: Public access
- WP nonce verification for all AJAX requests
- User capability checks (
manage_options, role-based) - WordPress sanitization/escaping functions
- Rate Limiting - Prevent abuse of public forms
- Email Verification - Token-based verification for anonymous submissions
- Moderation Workflow - Multi-stage approval process
- Activity Logging - Complete audit trail for compliance
- Input Validation - Enhanced server-side validation for all inputs
The plugin automatically migrates your data on first activation of v3.0:
- Backup performed automatically
- New schema tables created
- Existing data migrated to new structure
- Feature flags initialized (all OFF by default)
# Check migration status
wp eval 'echo get_option("ahgmh_db_version");'
# Force migration
wp eval 'do_action("ahgmh_run_migrations");'# Deactivate plugin
wp plugin deactivate abschussplan-hgmh
# Restore database backup
mysql -u user -p database < backup.sql
# Reinstall v2.xAccess via Admin โ Feature Flags
Available Flags:
use_new_db_schema- Enable new database schema (required for v3.0 features)use_public_form- Enable anonymous submissionsuse_moderation- Enable moderation workflowuse_activity_log- Enable activity tracking
Best Practice: Enable flags gradually to test each feature independently.
- User logins
- Submission creation/editing
- Moderation actions (approve/reject)
- Configuration changes
- Export operations
- Automatic cleanup after 90 days
- IP addresses hashed (SHA-256)
- User consent integration
// In your theme/plugin
$logger = new AHGMH_Activity_Logger();
$stats = $logger->get_stats('user', $user_id);- Activate plugin in test environment
- Run migrations (automatic)
- Test each shortcode
- Verify permissions (Besucher/Obmann/Vorstand)
- Test moderation workflow
- Verify email notifications
Located in wp-content/plugins/abschussplan-hgmh/tests/
- Moderation service tests
- Public form integration tests
- Email service tests
- AGENT.md - Technical architecture and development guide
- ANFORDERUNGEN.md - Complete requirements documentation (German)
- CHANGELOG.md - Version history and release notes
- wordpress_plugin_konzept.md - Original concept document
Migration fails:
# Check PHP version
php -v # Must be 7.4+
# Check database permissions
SHOW GRANTS FOR 'your_user'@'localhost';
# Enable WordPress debug
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);Feature flags not working:
- Clear WordPress object cache
- Verify admin permissions (
manage_options) - Check
.auto-claude-security.jsonexists
Emails not sending:
- Verify WordPress email configuration
- Check
wp_ahgmh_email_logtable for errors - Test with WP Mail SMTP plugin
This plugin follows WordPress Coding Standards:
- PSR-4 autoloading
- WPCS formatting
- Security best practices
- Comprehensive documentation
GPLv3 or later https://www.gnu.org/licenses/gpl-3.0.html
Developer: Johannes (Fรถrster & Software Engineer) Auto-Claude Integration: AI-powered development workflow WordPress Community: For excellent documentation and standards
Version 26.4.0 - Quality & Security Sprint: Critical security fixes, admin UX overhaul, WCAG 2.1 AA accessibility, code quality improvements (April 2026) Version 3.0.0 - Major release with complete architectural refactoring (January 2026) Version 2.5.2 - Enhanced Meldegruppen Management System (September 2025)