Quick note: plugin Filament che uso in ogni progetto — articolo

> Quick note: plugin Filament che uso in ogni progetto

Quick note sui plugin Filament che installo sempre: Shield, Excel, Activity Log, Media Library.

Luigi Iadicola
~6 min lettura
#Filament #Laravel #Plugin
Quick note: plugin Filament che uso in ogni progetto
Quick note: plugin Filament che uso in ogni progetto

Il kit base di plugin Filament per ogni progetto professionale

Filament ha un ecosistema di plugin che copre le esigenze piu comuni senza reinventare la ruota. Dopo diversi progetti consegnati con Filament, ho consolidato un set di plugin che installo sempre dal giorno uno. Non sono opzionali: sono le fondamenta che ogni pannello admin serio deve avere per essere considerato pronto per la produzione.

La scelta dei plugin non e casuale. Ogni plugin in questa lista risolve un problema che si presenta in tutti i progetti, indipendentemente dal dominio applicativo. Che si tratti di un e-commerce, un gestionale, una piattaforma SaaS o un CMS, queste funzionalita servono sempre.

Shield: gestione ruoli e permessi con interfaccia visuale

Shield e il plugin per la gestione di ruoli e permessi all interno del pannello Filament. Si installa con Composer, si esegue un comando di setup e automaticamente genera i permessi per ogni Resource registrata nel pannello. L interfaccia permette di creare ruoli, assegnare permessi granulari e associare ruoli agli utenti, tutto dal pannello admin senza toccare codice.

La potenza di Shield sta nell automazione: quando aggiungi una nuova Resource, Shield genera automaticamente i permessi corrispondenti (view, create, update, delete, restore, force delete). Non serve ricordare di aggiornare la matrice dei permessi ogni volta che si aggiunge una funzionalita. Il plugin se ne occupa.

Per progetti con piu livelli di accesso — amministratore, editor, viewer, moderatore — Shield elimina completamente la necessita di scrivere middleware custom o gate personalizzati. Tutto si configura dall interfaccia grafica e si applica automaticamente a ogni Resource e pagina del pannello.

Excel: export e import dati senza complessita

Excel (basato su Laravel Excel / Maatwebsite) integra funzionalita di export e import direttamente nelle tabelle Filament. Con poche righe di configurazione, ogni tabella puo esportare i dati visibili in formato Excel o CSV, rispettando i filtri e l ordinamento applicati.

L import e altrettanto importante: il plugin permette di caricare file Excel o CSV e importare i dati nel database con mapping delle colonne, validazione e gestione degli errori. Per migrazioni di dati da sistemi legacy o caricamenti massivi, questa funzionalita da sola giustifica l installazione del plugin.

Un dettaglio che fa la differenza in produzione: l export di grandi dataset avviene in background tramite job Laravel, con notifica all utente quando il file e pronto per il download. Nessun timeout del browser, nessuna pagina bloccata.

Activity Log: audit trail completo per ogni operazione

Activity Log (basato su Spatie Activity Log) traccia automaticamente ogni operazione eseguita nel pannello admin: creazione, modifica ed eliminazione di record, con dettaglio di chi ha fatto cosa, quando e quali campi sono stati modificati con i valori prima e dopo.

L audit trail non e un nice-to-have: e un requisito per qualsiasi applicazione che gestisce dati sensibili o che deve essere conforme a normative come il GDPR. Sapere chi ha modificato un record e quando e fondamentale per la sicurezza, per il debugging e per la responsabilita operativa.

Il plugin si integra con Filament mostrando la timeline delle attivita direttamente nella pagina di dettaglio di ogni risorsa. L utente apre un ordine e vede immediatamente tutta la storia delle modifiche: chi ha cambiato lo stato, chi ha aggiornato il prezzo, chi ha aggiunto una nota. Trasparenza totale.

Configurazione granulare del logging

Non tutti i campi hanno la stessa importanza. Activity Log permette di configurare quali campi vengono tracciati e quali ignorati. Campi come "ultimo accesso" o "contatore visite" non hanno senso nell audit trail, mentre campi come "prezzo", "stato" e "responsabile" devono essere tracciati con attenzione. La configurazione avviene nel model Eloquent con un array di campi da loggare.

Media Library: gestione file professionale con conversioni automatiche

Media Library (basato su Spatie Media Library) trasforma la gestione dei file in Filament da semplice upload a sistema completo di asset management. Ogni file caricato viene associato al record tramite relazione polimorfica, con metadati, conversioni automatiche e responsive images.

Le conversioni automatiche sono il punto di forza: quando un utente carica un immagine, il sistema genera automaticamente le versioni thumbnail, medium e large secondo le specifiche configurate. Non serve un servizio esterno di image processing, tutto avviene nel server con intervention/image.

Per i file non immagine — PDF, documenti, fogli di calcolo — Media Library gestisce il caricamento, lo storage (locale o cloud via filesystem Laravel) e il download con URL firmati e scadenza configurabile. La sicurezza dei file e garantita senza configurazione aggiuntiva.

Integrazione con il form builder

Nel form di Filament, il campo SpatieMediaLibraryFileUpload sostituisce il file upload standard con un componente che supporta drag and drop, upload multiplo, preview delle immagini, riordinamento dei file e rimozione con conferma. L esperienza utente e superiore rispetto al campo file nativo HTML.

Breezy: profilo utente completo con autenticazione avanzata

Breezy aggiunge al pannello Filament una pagina profilo utente completa con funzionalita di sicurezza avanzate. L utente puo aggiornare nome, email e password, attivare l autenticazione a due fattori (2FA) con app authenticator, visualizzare le sessioni attive e disconnettere i dispositivi sospetti.

La 2FA e particolarmente importante per pannelli admin che gestiscono dati sensibili: ordini, dati clienti, informazioni finanziarie. Senza Breezy, implementare la 2FA in Filament richiede sviluppo custom significativo. Con il plugin, e una configurazione da 5 minuti.

Breezy supporta anche la conferma password per azioni sensibili: prima di eliminare un record importante o modificare impostazioni critiche, l utente deve reinserire la password. Un livello di sicurezza aggiuntivo che previene errori accidentali e accessi non autorizzati.

Come questi plugin lavorano insieme

Il valore maggiore di questo kit non sta nei singoli plugin, ma nella loro interazione. Shield protegge le risorse, Activity Log traccia le operazioni, Breezy protegge l accesso, Media Library gestisce i file e Excel gestisce l import/export dei dati. Insieme formano un infrastruttura completa che copre sicurezza, audit, file management e interoperabilita.

L installazione dell intero kit richiede meno di 30 minuti: 5 plugin, 5 comandi Composer, 5 configurazioni nel PanelProvider. Il risultato e un pannello admin pronto per la produzione con funzionalita che altrimenti richiederebbero giorni di sviluppo custom.

Come sviluppatore freelance, questo kit e il mio standard. Ogni progetto parte con questi plugin installati e configurati, e il tempo risparmiato viene investito nella logica di business specifica del cliente — che e dove si crea il vero valore e dove il cliente percepisce la qualita del lavoro.

altri articoli
progetti correlati