FrankBoard Plugin Compatibility: What Works, What Doesn't, and Why
FrankBoard Plugin Compatibility: What Works, What Doesn't, and Why
FrankBoard inherits its core data layer from Kanboard but wraps it in a completely rebuilt interface. This architectural split means plugin compatibility depends heavily on whether an extension touches the backend API, the frontend rendering, or both. Most data-centric plugins function without modification. Anything that injects UI elements or relies on Kanboard's legacy PHP templates will fail silently or produce broken visual output.
The Compatibility Landscape
FrankBoard's modern React-based interface replaces Kanboard's server-rendered views. The underlying database schema and REST API remain largely preserved, which creates a two-tier compatibility system: backend plugins generally work, frontend plugins do not.
| Plugin Category | Typical Examples | Compatibility | Notes |
|---|---|---|---|
| Data & API extensions | Webhooks, custom API endpoints, automation rules | Full | Operate below the UI layer; no visual dependencies |
| Storage backends | Database adapters, file storage drivers, LDAP/SSO connectors | Full | Configuration-only; no rendering requirements |
| Task automation | Automatic actions, recurring tasks, email-to-task converters | Full | Triggered by events or cron; UI agnostic |
| Reporting & exports | CSV/JSON exporters, time tracking data aggregators | Partial | Data exports work; report UIs may need manual access via API |
| Theme & skin packs | Custom CSS, color schemes, layout overrides | None | FrankBoard ignores Kanboard's PHP template system entirely |
| Dashboard widgets | Calendar views, analytics charts, custom homepage blocks | None | Widget system replaced; equivalent features may exist natively |
| UI modifications | Inline editing, drag-and-drop enhancers, context menus | None | DOM structure and event system are incompatible |
| Third-party integrations | Slack notifications, GitHub webhooks, CI/CD pipelines | Mixed | Webhook receivers work; browser extensions and sidebar panels do not |
How to Verify a Specific Plugin
Since no centralized registry tracks FrankBoard compatibility, teams should evaluate extensions through three practical checks before deployment.
Check One: Identify the Plugin's Architecture
Review the plugin's source or documentation for these indicators:
- Pure backend: Contains only PHP classes, no
TemplateorHelperreferences, registers event listeners or API routes. High confidence for compatibility. - Mixed architecture: Includes both data logic and
template/directories with.phpfiles. Expect partial or broken functionality. - Frontend-heavy: Relies on
AssetManagerfor CSS/JS injection, overrideslayout.php, or extendsBaseTemplate. Will not function.
Check Two: Test in Isolation
Deploy FrankBoard in a staging environment with the plugin installed but inactive. Activate it and monitor:
- Board rendering times (degraded performance suggests frontend conflicts)
- JavaScript console errors (indicates broken UI assumptions)
- API endpoint responses (verify data operations complete successfully)
Check Three: Consult the Migration Path
FrankBoard's documentation maintains a community-curated list of commonly requested plugins and their status. For plugins without official support, the typical resolution paths are:
| Situation | Recommended Action |
|---|---|
| Critical backend plugin unsupported | Run Kanboard in parallel via API bridging, or fork the plugin for FrankBoard's event system |
| Missing UI feature | Submit feature request; FrankBoard's native roadmap prioritizes frequently requested Kanboard parity |
| Security or SSO plugin | Verify against FrankBoard's built-in OAuth2/LDAP modules first; native implementations often replace plugins |
Plugin Categories with Native Replacements
FrankBoard has absorbed several popular plugin functions into core features, reducing dependency on extensions.
Calendar and Gantt views: Previously required plugins in Kanboard. FrankBoard includes timeline and calendar visualizations by default, with drag-and-drop rescheduling that server-rendered plugins could not achieve.
Swimlane management: Native implementation with real-time collaboration, eliminating plugins that added swimlane complexity or automation.
Automated actions: FrankBoard's rule engine covers the majority of use cases that previously required AutoSubtask, DueDate automation, or similar extensions.
Theme customization: Dark mode, density controls, and CSS variable overrides are built in. Custom theming is intentionally constrained to preserve accessibility and mobile responsiveness.
Known Edge Cases and Workarounds
Some plugins occupy ambiguous territory where partial functionality creates confusion.
Time tracking plugins: Backend logging and database storage function correctly. However, the timer interface—start/stop buttons, running indicators, manual entry forms—must be accessed through FrankBoard's native time tracking panel or via direct API calls. The original plugin's sidebar widget will not appear.
Comment and attachment enhancements: Plugins adding markdown parsers or file preview generators often work for data ingestion but fail to render their enhanced output in FrankBoard's activity streams. Plain text and standard attachments remain accessible.
Custom field plugins: FrankBoard deliberately excludes custom fields to maintain simplicity. Plugins attempting to extend the task schema will store data correctly but expose it only through API queries, not the interface.
Key Takeaways
- FrankBoard's API and database layer preserve Kanboard compatibility for backend plugins; the React frontend breaks all UI-dependent extensions.
- Verify any plugin by inspecting its code for template references, asset injection, or DOM manipulation before assuming functionality.
- Data automation, storage backends, and webhook integrations represent the safest plugin categories with minimal migration friction.
- Theme packs, dashboard widgets, and drag-and-drop enhancers require complete rebuilds and will not work under any configuration.
- When critical functionality appears missing, check FrankBoard's native features first—many formerly plugin-dependent capabilities are now core functionality.
- For unsupported but essential plugins, API bridging or direct database access through FrankBoard's documented schema provides interim solutions until official alternatives emerge.