Plugin Architecture
Plugin Location
public/plugin/
├── Bbb/ # BigBlueButton integration
├── Zoom/ # Zoom integration
├── Onlyoffice/ # OnlyOffice document editing
├── XApi/ # xAPI/Tin Can
├── ... # bundled plugins ship under public/plugin/Plugin Structure
public/plugin/MyPlugin/
├── plugin.php # REQUIRED — assigns $plugin_info
├── install.php # Installation script
├── uninstall.php # Uninstallation script
├── index.php # Region rendering entry point (if applicable)
├── admin.php # Admin interface (optional)
├── lang/ # Translation files (locale codes: en_US.php, fr_FR.php, …)
├── src/
│ ├── MyPluginPlugin.php # Main plugin class (extends Plugin)
│ ├── Entity/ # Doctrine entities (auto-discovered)
│ ├── Repository/ # Doctrine repositories
│ └── EventSubscriber/ # Symfony event subscribers (auto-registered)
├── templates/ # Twig templates
└── resources/ # CSS/JS assetsPlugin Class
Key Class Properties
Property
Type
Effect
Plugin Lifecycle
Display Regions
Symfony Integration
Event Subscribers
Doctrine Entities
PluginHelper Service
Method
Purpose
Core File References
File
Purpose
Last updated
Was this helpful?