Introducing the New Plugin Architecture
We’ve been working on something big for the upcoming 0.9 release — a fully modular plugin architecture that will allow developers to extend web-cp without modifying core code.
Why Plugins?
Over the years, we’ve received countless requests for features that don’t quite fit into the core product. Email marketing tools, billing integration, advanced monitoring, custom DNS providers — these are all valuable features, but including them in core would bloat the system and go against our philosophy of simplicity.
The plugin system solves this by providing a clean API for third-party developers to hook into web-cp’s functionality.
How It Works
Plugins are PHP packages that follow a simple structure:
plugins/
my-plugin/
plugin.json
src/
MyPlugin.php
templates/
admin.tpl
The plugin.json file declares the plugin’s metadata, required permissions, and which hooks it uses. The main class extends WebCP\Plugin\Base and implements event handlers.
Available Hooks
The initial release will include hooks for:
- Domain events — creation, deletion, suspension
- User events — login, password change, creation
- Email events — account creation, forwarding changes
- Cron hooks — run periodic tasks
- Panel hooks — add custom pages and menu items to any control panel level
Timeline
We expect the plugin system to be ready for beta testing in Q3 2026 as part of the 0.9-rc1 release. If you’re interested in developing plugins, join the discussion on the mailing list.