New features: - ContentBackup class with ZIP backup/restore and git versioning - Admin backup & restore page (content-backup.twig) with git init/commit/log/restore - Plugin type system: system (blue) vs content (green) with visual badges - PluginAPIInterface + AdminPluginAPI for plugin architecture - Essential plugin flag (cannot edit/deactivate/delete) Improvements: - Consolidated enabled_plugins config (removed plugins.enabled) - Removed Analytics/Logging toggles from admin config page - Fixed Dashboard plugin Twig comments rendered as text - Updated 20 guide files (NL+EN): configuratie, plugins, plugin-development, core-classes, theme-json, layouts, scss-styling, admin-beheerder, nieuw-thema, architectuur - Improved accessibility test script (grep -E, min/max checks) Cleanup: - Removed unused classes: ARIAComponents, AccessibilityManager, ContentSecurityPolicy, etc. - Removed vendor packages: mustache/mustache, php-mqtt/client - Removed old templates: logs.twig, statistics.twig (now plugins) - Moved language files to language/ directory Tests: - Pentest: 30/30 passed, 0 vulnerabilities - WCAG 2.1 AA: 25/25 passed, 100% compliance
30 lines
922 B
Markdown
30 lines
922 B
Markdown
# Plugins
|
|
|
|
## Plugin types
|
|
|
|
There are two types of plugins:
|
|
|
|
- **System plugins** (blue badge) - Manage CMS functionality such as Dashboard, Logs and Statistics
|
|
- **Content plugins** (green badge) - Display content on the front-end such as HTMLBlock and Navigation
|
|
|
|
## Essential plugins
|
|
|
|
Essential plugins (with a shield icon) cannot be edited, deactivated, or deleted. This applies to the Navigation plugin for example.
|
|
|
|
## Managing plugins
|
|
|
|
- **Enable/Disable** - Turn plugins on/off
|
|
- **Edit** - Modify plugin code
|
|
- **Configuration** - Plugin settings (only for plugins with a Config button)
|
|
- **Delete** - Remove plugin
|
|
|
|
Only active plugins are shown in the admin sidebar.
|
|
|
|
## New plugin
|
|
|
|
1. Go to **Plugins** → **New plugin**
|
|
2. Enter a name (e.g. `MyPlugin`)
|
|
3. Edit the PHP file
|
|
4. Enable the plugin
|
|
|
|
New plugins are content-plugins by default. To create a system plugin, add `"type": "system"` to `plugin.json`. |