unifilemanager/filament-file-manager
A Filament file manager for browsing, uploading, organizing, and managing files and folders directly in your Laravel admin panel. Includes file previews, search, upload and delete actions, and a clean interface for everyday file operations.
Architecture fit: UniFileManager/filament-file-manager is a Filament panel plugin, not a standalone Laravel package. Its value is entirely contingent on the application already running Filament (v3 or v4 — needs confirmation against the composer constraint). For a Filament-based admin surface, this is a natural fit: it slots into the panel's navigation and resource layer rather than requiring a parallel file-management UI. For a non-Filament Laravel app, this is effectively a non-starter without adding Filament first, which is a much larger architectural decision than adopting a file manager.
Integration feasibility: v0.8.3 is a small, low-risk delta over v0.8.0: configurable storage-area labels/icons, improved page-level and "all files" selection, and folder-deletion confirmation. These are additive UX and configuration changes with no migration or schema signals in the notes. Integration effort is therefore dominated by the initial install (composer require, plugin registration on the panel, storage disk configuration, policy/authorization wiring) rather than by this release.
Technical risk: The dominant risk is version maturity, not this specific diff. A 0.x package carries no semver stability guarantee; minor bumps may break config keys or view overrides. The changelog is also thin — no explicit "no breaking changes" statement, no upgrade notes, and the PR titles are the only signal of scope. Secondary risks: filesystem abstraction assumptions (local vs. S3-compatible disks, path traversal, presigned URL behaviour), and authorization — a file manager exposes read/write/delete across a storage disk, so tenancy and per-folder ACLs must be enforced by the host app, not assumed from the package.
Key questions:
0.x releases, or is the maintainer effectively single-person with best-effort cadence?Stack fit: Suitable for Laravel 10/11+ applications already on Filament with an admin panel. The plugin is a UI layer over Laravel's filesystem abstraction, so it composes with existing disks and Flysystem adapters rather than introducing a new storage model. The new configurable storage-area labels/icons is a direct win for multi-disk setups (e.g. "Public Assets", "Client Uploads", "Archive") — it improves operator clarity at near-zero cost.
Migration path: Greenfield: add the composer dependency, register the plugin on the target panel, publish config, and point it at a dedicated disk. Brownfield (replacing an existing manager or custom CRUD): run in parallel behind a feature flag on a non-production panel first, exercise read/write/delete/move against a copy of real directory structures, and only then retire the incumbent. There is no data migration implied by this release since it adds no schema.
Compatibility: Confirm Filament major version and PHP version against the package's composer.json before committing — this is the single highest-probability blocker and it is not answerable from the release notes. Also verify that the improved selection behaviour (page-level vs. all-files selection) does not alter bulk-action semantics our operators depend on; bulk delete/move scope changing silently is the kind of thing that causes incidents.
Sequencing:
0.8.3) — never a floating ^0.8 constraint on a pre-1.0 package.0.x minors may break.Maintenance: Low code footprint but non-trivial upgrade vigilance. Pre-1.0 means every minor release deserves a changelog read and a staging deploy; the thin release notes here raise the cost of that read because scope must be inferred from PR titles. Budget a recurring line item for dependency review rather than assuming passive upkeep.
Support: Effectively single-maintainer (@samigitz) with community-driven feature requests. That is normal for Filament ecosystem plugins and acceptable for internal admin tooling, but it means no vendor SLA. There is no commercial support path indicated; escalation depends on GitHub issues. Mitigate by keeping our integration surface thin — avoid forking views or overriding internals, so we can absorb upstream churn or, if necessary, swap the plugin without a rewrite.
Scaling: The plugin is a UI over Flysystem, so scaling characteristics are those of the underlying disk. Local-disk deployments with large directories will feel listing latency; object storage handles volume better but introduces presigned-URL and eventual-consistency considerations. The improved "all files" selection is a UX improvement, but bulk operations across large trees can be expensive — verify these are chunked/queued rather than synchronous request-bound operations before enabling for large directories.
Failure modes:
0.x; contingency is replacing with a custom Filament resource over the same disks.Ramp-up: Low for developers already fluent in Filament (hours to a working panel); moderate for those who are not, since they must learn panel registration, plugin config, and Filament's authorization conventions. Operator ramp-up is minimal — the UI is conventional file-manager idiom, and the new storage-area labels/icons and safer deletion confirmations materially reduce training and misclick risk. Recommend a short written runbook covering disk layout, permission model, and restore procedure rather than relying on tribal knowledge.
How can I help you explore Laravel packages today?