How flarum/framework works
Flarum is extensible discussion-forum software. A visitor uses the forum to participate in a community; its framework supplies request, user, and extension foundations, while extensions add capabilities such as AI, moderation, privacy, audit, and integrations. The tree exposes only a subset of the core forum runtime, so the graph emphasizes supported extension-management and realtime relationships rather than inventing a complete discussion API flow. Several product branches are represented by their exact enclosing directories because their implementation files were not sampled.
Main entry points: Manager.php Channel manager · Websocket.php WebSocket connection handler · Filesystem.php Filesystem extender · ExtensionManager.php Extension manager
Components 22
Forum framework
- Discussion platform
- User accounts
framework/core/src/User/User.php - Request utilities
framework/core/src/Http/RequestUtil.php - Settings
framework/core/src/Settings/SettingsRepositoryInterface.php - Installation paths
framework/core/src/Foundation/Paths.php - Filesystem extender
framework/core/src/Extend/Filesystem.php - Extension manager
framework/core/src/Extension/ExtensionManager.php - Extension runtime
framework/core/src/Extension/Extension.php
Realtime messaging
- Realtime extension API
extensions/realtime/src/Extend/Realtime.php - WebSocket connection
extensions/realtime/src/Websocket/Connection/Controller.php - Channel manager
extensions/realtime/src/Websocket/Channel/Manager.php - Channel
extensions/realtime/src/Websocket/Channel/Channel.php - WebSocket messages
extensions/realtime/src/Websocket/Message/Message.php - WebSocket connection handler
extensions/realtime/src/Websocket/Connection/Websocket.php
Community extensions
- AI features
extensions/ai/src - Audit logging
extensions/audit/src - Post flags
extensions/flags/src - Privacy workflows
extensions/gdpr/src
Platform extensions
- MCP integration
extensions/mcp/src - OAuth provider
extensions/oauth-provider/src - Extension management
extensions/package-manager/src
Other components
- Forum visitor
Connections 18
- Forum visitor → Discussion platform: participates in
- Discussion platform → User accounts: supports accounts
- Extension manager → Extension runtime: enables and disables
framework/core/src/Extension/ExtensionManager.php - Extension runtime → Filesystem extender: applies extenders
framework/core/src/Extension/Extension.php - Filesystem extender → Installation paths: configures disks
framework/core/src/Extend/Filesystem.php - WebSocket connection → Channel manager: manages channels
extensions/realtime/src/Websocket/Connection/Controller.php - Channel manager → Channel: subscribes and broadcasts
extensions/realtime/src/Websocket/Channel/Manager.php - WebSocket connection handler → Channel manager: cleans subscriptions
extensions/realtime/src/Websocket/Connection/Websocket.php - WebSocket connection handler → WebSocket messages: dispatches messages
extensions/realtime/src/Websocket/Connection/Websocket.php - WebSocket messages → Channel manager: checks channel identity
extensions/realtime/src/Websocket/Message/Message.php - Realtime extension API → Channel manager: configures realtime
extensions/realtime/src/Websocket/Channel/Manager.php - AI features → Discussion platform: adds AI capabilities
- Audit logging → Discussion platform: records activity
- Post flags → Discussion platform: adds moderation flags
- Privacy workflows → Discussion platform: provides privacy actions
- MCP integration → Discussion platform: exposes capabilities
- OAuth provider → Discussion platform: provides authorization
- Extension management → Extension manager: manages installed extensions
extensions/package-manager/src/Host/StorageDir.php