Weave Code
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 Types Laravel Package

tomatophp/filament-types

Filament Types Manager lets you define and manage reusable “types” in your Laravel app database. Includes a ready-to-use Filament resource with filtering, icons, colors, and labels, plus a simple plugin config to register type groups for your models.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture Fit

  • FilamentPHP Alignment: Remains purpose-built for FilamentPHP v3.x, extending its resource system for dynamic database types (enums, JSON, polymorphic relations). No architectural changes in this release.
  • Laravel Ecosystem Synergy: Continues to leverage Eloquent and Filament’s resource architecture without disruption.
  • Domain-Specific Use Cases: Still ideal for CMS plugins, multi-tenant configs, or extensible data models where traditional Eloquent falls short.

Integration Feasibility

  • Low Friction for Filament Users: No breaking changes; integration remains via resource macros or custom type definitions.
  • Database Agnostic: Unchanged compatibility with MySQL, PostgreSQL, SQLite, etc.
  • Type System Flexibility: Supports same types as before (Json, Array, Boolean, Enum, polymorphic relations).

Technical Risk

  • Filament Version Lock: Still tightly coupled to FilamentPHP v3.x. Major version mismatches (e.g., v4.0.0+) could introduce risks.
    • Mitigation: Pin Filament to 3.x in composer.json (no change).
  • Performance Overhead: No new performance-related changes; prior mitigations (indexing, benchmarking) still apply.
  • Schema Evolution: Unchanged; custom types may still complicate migrations.
    • Mitigation: Use Laravel’s schema builders or custom logic.

Key Questions

  1. Filament Dependency: (Unchanged) Is FilamentPHP already in use, or would this require a framework-wide migration?
  2. Type Complexity: (Unchanged) What percentage of models will use dynamic types?
  3. Database Schema: (Unchanged) Are there existing constraints (e.g., JSON columns, enums) that conflict?
  4. Testing Strategy: (Unchanged) How will dynamic types be tested in CI/CD?
  5. Long-Term Maintenance: (Updated) With v4.x looming, should we:
    • Fork the package now for preemptive maintenance?
    • Monitor FilamentPHP’s v4.0.0 release for compatibility?
  6. UI Bug Fixes: (New) Does the Table Type Column icon fix impact our use case? (Only relevant if using table views with empty icons.)

Integration Approach

Stack Fit

  • Primary Stack: (Unchanged) Laravel + FilamentPHP (v3.x).
  • Secondary Stack: (Unchanged) Works with Eloquent, Filament Resources, and Laravel-supported databases.
  • Anti-Patterns: (Unchanged) Avoid for high-write-throughput systems.

Migration Path

  1. Assessment Phase: (Unchanged) Audit resources and profile queries.
  2. Incremental Adoption: (Unchanged) Start with non-critical resources.
  3. Refactoring: (Updated)
    • New: Test the Table Type Column fix if using table views with empty icons:
      // Example: Ensure icon handling works in Filament tables
      FilamentTypes::macro('tableColumn', function (string $column) {
          return new FilamentTypes\Columns\TableColumn($column);
      });
      
  4. Validation Layer: (Unchanged) Implement custom validation for dynamic types.

Compatibility

  • FilamentPHP: (Updated) v3.x only. v4.0.0+ may break compatibility (monitor Filament’s roadmap).
  • Laravel: (Unchanged) Compatible with LTS (10.x, 11.x).
  • Dependencies: (Updated) Now includes stefanzweifel/git-auto-commit-action@7 (CI/CD tooling; no impact on runtime).
  • Conflicts: (Unchanged) Potential with packages overriding Filament’s resource system.

Sequencing

  1. Phase 1: (Unchanged) Integrate basic types into existing resources.
  2. Phase 2: (Unchanged) Migrate legacy tables.
  3. Phase 3: (Updated) Test the Table Type Column fix in staging before rolling out to production tables.
  4. Phase 4: (Unchanged) Extend with custom types.

Operational Impact

Maintenance

  • Proactive Updates: (Updated)
    • Monitor FilamentPHP v4.0.0 for breaking changes.
    • Watch for v4.x compatibility announcements from tomatophp/filament-types.
  • Custom Type Lifecycle: (Unchanged) Document custom types in TYPES.md.
  • Deprecation Strategy: (Unchanged) Use Laravel’s shouldBeRemoved() for phased removals.

Support

  • Debugging Dynamic Types: (Unchanged) Enable Filament debug mode and log resolution failures.
  • Community Resources: (Unchanged) Leverage Filament’s Discord/forum.
  • New: (Updated) Report Table Type Column icon issues to the package maintainers if encountered.

Scaling

  • Performance Bottlenecks: (Unchanged) JSON columns and polymorphic types still require optimization.
  • Caching: (Unchanged) Cache resolved types in memory.
  • Horizontal Scaling: (Unchanged) Dynamic types are stateless.

Failure Modes

Failure Scenario Impact Mitigation
FilamentPHP v4.0.0 release Breaking changes Fork the package or wait for v4.x support.
Table Type Column icon rendering UI glitches in tables Update to v4.0.2; test in staging.
Corrupted JSON data Resource UI breaks Add try-catch in type resolvers.
Database index missing Slow queries Add indexes via migrations.
Package abandonment Security/feature gaps Fork and maintain locally.

Ramp-Up

  • Onboarding: (Unchanged) 1-hour workshop and cheat sheets.
  • Documentation Gaps: (Updated) Add runbook for:
    • Debugging Table Type Column icon issues.
    • Preparing for FilamentPHP v4.0.0 migration.
  • Training: (Unchanged) Pair new hires with a "type champion."
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.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours