Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Bandel Laravel Package

widiu7omo/filament-bandel

Filament Bandel is a Laravel package that integrates Bandel functionality into Filament admin panels. It provides a simple, configurable way to manage Bandel records and workflows alongside your existing Filament resources, with native UI and easy installation.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: filament-bandel is a Filament admin-panel extension that supplies table actions and a shared form schema for ban/unban workflows, likely backed by laravel-ban observers on the user model. For teams already using Filament for back-office administration, it fits as a narrow, UI-level accelerator rather than a core domain dependency. v3’s runtime Filament-version abstraction (Support\FilamentVersion) and shared BanForm reduce duplication across Filament 3/4/5, which is attractive for TPMs maintaining multiple admin panels or upgrade windows.

Integration feasibility: Feasible for greenfield and active-upgrade projects on PHP 8.2+, Laravel 11.8+/12/13, and Filament 3/4/5. Laravel 10 support is dropped, so teams on older Laravel must either stay on v2 or schedule a framework upgrade first. The breaking changes are manageable but require code review: action classes are now final, make() no longer accepts a custom name, and any subclass-based customization must move to chaining after make(). Integration depends on correct laravel-ban setup and observer behaviour, since bulk correctness relies on re-reading model state from the database.

Technical risk: Moderate. The multi-major Filament support is valuable but introduces runtime version-detection complexity; TPMs should require validation on the exact Filament/Laravel combination used in production, because the release’s end-to-end verification is on Laravel 13.27 / Filament 5.7.6 while the CI matrix covers broader combinations. The final action classes reduce extension flexibility and may break existing custom subclasses. Bulk operations now run in a transaction and use fresh record reads, which improves correctness but may increase lock duration on large selections. The package is coupled to laravel-ban observer semantics; any custom observer or direct banned_at manipulation should be tested.

Key questions:

  • Which exact laravel-ban version and observer configuration is required or supported?
  • Which Filament and Laravel versions are in production, and has that exact combination been exercised beyond CI?
  • Do existing customisations subclass the action classes or pass custom action names via make()?
  • Are authorization policies, tenancy, localization, and audit logging handled by the host app or expected from the package?
  • What is the expected bulk-selection size, and does the database/transaction strategy tolerate that volume?
  • Is there a documented v2-to-v3 migration guide beyond the changelog?

Integration Approach

Stack fit: Best fit is a Laravel 11.8+/12/13 application with PHP 8.2+ and Filament 3, 4, or 5. Teams on Laravel 10, PHP 8.1, or older Filament majors should not force v3; they should remain on v2 until the platform upgrade is complete. The single-branch Filament 3/4/5 support simplifies Composer constraints at the portfolio level, but each application still needs version-specific smoke testing.

Migration path: Upgrade PHP and Laravel first, then adopt v3. Replace any action subclasses with post-make() chaining. Remove custom name arguments from make() calls and re-register actions if the previous names were relied on in tests, policies, or UI references. Confirm the shared BanForm covers existing form fields and validation expectations, especially the new expired_at past-date rule. Re-test single and bulk ban/unban flows against real laravel-ban observers.

Compatibility: The package’s runtime namespace resolution must match the installed Filament major. Validate table action registration in the actual admin panel, not only through unit tests. Ensure laravel-ban migrations, traits, and observers are present and that the database supports transactions for the bulk path. If the application uses custom user models, soft deletes, teams/tenancy, or non-standard auth guards, add targeted integration tests.

Sequencing:

  1. Audit current PHP, Laravel, Filament, and laravel-ban constraints.
  2. Decide whether the project is a v2 hold or v3 upgrade.
  3. Upgrade PHP/Laravel/Filament prerequisites.
  4. Update package constraint and resolve breaking API changes.
  5. Run single ban/unban and bulk ban/unban tests in a staging admin panel.
  6. Verify transaction rollback behaviour and expired_at validation.
  7. Deploy with a rollback plan to the prior package version if action registration or bulk behaviour regresses.

Operational Impact

Maintenance: Positive. The rebuilt Pest/testbench suite, CI matrix across Filament 3/4/5 × Laravel 11/12/13 × PHP 8.2–8.5, and Dependabot coverage reduce the risk of silent regressions. However, supporting three Filament majors from one branch means the maintainer must track upstream namespace and API changes continuously; TPMs should monitor releases before major Filament upgrades.

Support: Clearer requirements improve supportability, but the Laravel 10 drop creates a support boundary. Teams on older stacks need a documented “stay on v2” path. The final classes and removed custom-name argument should be called out in internal upgrade notes, because they change the supported customization pattern from subclassing to fluent configuration.

Scaling: Admin ban/unban actions are typically low-volume, so scaling risk is limited. Bulk operations inside a transaction with fresh reads improve correctness but can hold locks longer for large selections. If operators routinely bulk-process thousands of users, introduce selection limits, batching, or background jobs rather than relying on a single synchronous admin action.

Failure modes: Main risks are version-detection mismatch with the installed Filament major, broken custom subclasses or action names after upgrade, transaction rollback on bulk operations, stale-state issues if laravel-ban observers behave unexpectedly, and rejection of expired_at values that were previously accepted. The fresh-read fix specifically addresses skipped or duplicated bans caused by stale in-memory models, so bulk flows should be regression-tested with observers active.

Ramp-up: Low to moderate for Laravel/Filament developers. Greenfield adoption is straightforward once dependencies match. Existing v2 users need a short migration effort focused on action registration, customization chaining, and bulk-flow QA. TPMs should budget for staging verification on the exact production version combination rather than relying solely on the package’s CI matrix.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource