# Filament Plugin Integration Notes

TemseeEdu is now on Laravel 12 and Filament 4. Plugin choices must stay compatible with PHP 8.2, 8.3, and 8.4, and must not weaken tenant isolation or expose server tooling inside school dashboards.

## Integrated

| Plugin | Package | Scope | Use |
| --- | --- | --- | --- |
| Search Spotlight | `wezlo/filament-search-spotlight` | Admin, Temsee, Teacher, Parent, Student | Compact command palette with Ctrl/Cmd+K for pages, resources, actions, and global-searchable records. |
| Workspace Tabs | `wezlo/filament-workspace-tabs` | Admin, Temsee | Browser-style workspace tabs for heavy back-office users. |
| Connection Badge | `rawand201/filament-connection-badge` | All panels | Topbar connection status and offline overlay. Auto-discovered. |
| Navigation Footer Menu | `cyberline/filament-navigation-footermenu` | Admin, Temsee | Contextual sidebar footer shortcuts for help, audit, backup, platform operations, and billing. |
| Deploy Indicator | `arnautdev/filament-deploy-indicator` | Admin, Temsee | Environment/deploy metadata in the topbar for local/support operators. |
| Guava Calendar | `guava/calendar` | Admin, Teacher, Parent, Student | Calendar widgets for events, assignments, exams, and timetables. |
| Apex Charts | `leandrocfe/filament-apex-charts` | Admin, Temsee | Dashboard analytics and revenue charts. |
| PDF Viewer | `joaopaulolndev/filament-pdf-viewer` | Available | Inline previews for letters, receipts, report cards, and uploaded documents. |
| Check SSL Widget | `joaopaulolndev/filament-check-ssl-widget` | Temsee | Certificate health for public platform domains. |
| Page with Sidebar | `aymanalhattami/filament-page-with-sidebar` | Available | Complex pages that need local page navigation. |
| Rating | `mokhosh/filament-rating` | Available | Parent feedback, service quality, programme ratings, or teacher reviews. |
| Impersonate | `stechstudio/filament-impersonate` | Admin users | Controlled troubleshooting for authorized school admins/support. |
| Lockscreen | `marjose123/filament-lockscreen` | All panels | Locks shared school-office devices without signing out. |
| Turnstile | `coderflex/filament-turnstile` | Auth-ready | Cloudflare CAPTCHA once production keys are provided. |

## Implemented In-House Instead Of Plugin

| Requested plugin | Local implementation |
| --- | --- |
| Activity Log | `AuditLogResource` and platform audit logs already provide tenant-aware audit history. |
| Remote Database Backup | `DatabaseBackup` page and `BackupManager` already keep backups tenant-isolated. |
| Knowledge Base | `KnowledgeBaseArticleResource` already provides editable school help articles. |
| Import Wizard | `Import Center` and existing Excel/CSV patterns are safer until the third-party dependency advisory clears. |
| Maintenance Switch | Custom error/maintenance views and platform controls are safer than the Filament 3-only plugin. |
| Command Palette | Replaced with Search Spotlight plugin. The old custom palette has been removed. |
| TinyEditor | Replaced with `App\Filament\Forms\Components\CmsRichEditor`, which wraps Filament 4's native rich editor and avoids the incompatible TinyEditor package. |

## Deferred

| Plugin | Reason |
| --- | --- |
| `waad/filament-import-wizard` | Composer blocks its current `phpoffice/phpspreadsheet` dependency because of active security advisories. Do not bypass the audit. |
| Devletes Timeline View / Progress Bar / Pinnable Navigation | Current plugin pages target Filament 5-only or are not appropriate for this Filament 4 branch. |
| Watchdog v5 | Filament 5/security-scanner workflow; revisit after production monitoring requirements are clearer. |
| Billing/subscription kits | Would duplicate TemseeEdu's Paystack subscription and plugin billing flows. |
| Env editor, Artisan runner, access-secret/developer-gate | Too risky for tenant panels. If ever used, limit to local development or the Temsee owner panel only. |
| Copilot/AI plugins | Need real AI credentials, data-retention rules, and school privacy policy decisions. |
| Laravel Pulse dashboards | Useful later, but it requires Pulse tables, queue/recorder tuning, and production monitoring decisions. |
