- What is wsmallnews/filament-nestedset used for?
- It is a Filament plugin for managing hierarchical records such as menus, categories, organizational units, and help-center sections. It ships a NestedsetPage and a reusable Livewire tree component on top of kalnoy/nestedset rather than a standard Filament Resource. Your Eloquent model remains yours and needs the nested-set columns such as lft, rgt, parent_id, and depth.
- How do I install wsmallnews/filament-nestedset in a Laravel app?
- Install it with Composer using composer require wsmallnews/filament-nestedset, then publish the package config and optionally views or translations. Add the nested-set migration columns to your table, add kalnoy/nestedset's NodeTrait to your model, and scaffold a NestedsetPage in your Filament panel. Use a ^3.0.1 constraint or an exact pin and avoid 3.0.0.
- Which Laravel and Filament versions does filament-nestedset support?
- The README states Filament v4 and v5 support, and Filament v3 users are directed to the v1 branch. The release notes and CI matrix mention Laravel 12 and 13 for the newer test suite. The Filament ceiling for the v3.x package line is not stated in the provided notes, so confirm compatibility before a panel upgrade.
- Does filament-nestedset support multi-tenancy?
- Yes, it supports tenant-scoped nested-set trees, with multi-tenancy and tabs handled through scope configuration such as getScopeAttributes(). Treat tenant scoping as a data-leak risk class: a misconfigured scope can expose another tenant's records. Test scoped queries, page access, and ParentSelect options per tenant before production.
- Can I limit how many levels a Filament nested set tree has?
- Yes. The package allows unlimited nesting by default and optional level limits when you want to constrain the tree depth. Configure the limit on the tree page according to the package documentation so the UI and model writes enforce the same rule. If depth limits are business-critical, validate them server-side as well.
- What is the ParentSelect field and which package does it depend on?
- ParentSelect is the parent-selection field used in the package's create and edit forms. It is powered by codewithdennis/filament-select-tree, so that package becomes a transitive dependency. Review it as part of your supply-chain and upgrade planning, especially if you pin Filament or Livewire versions.
- How do tabs work in filament-nestedset tree pages?
- Tree pages support listing-style tabs, consistent with Filament listing records, so users can switch between different nested datasets on the same page. Tabs are an extension point through getTabs() and are often combined with tenant scoping. Make sure each tab's query is scoped correctly and test empty, large, and cross-tenant datasets.
- Is filament-nestedset tested and ready for production?
- It now has a Testbench-based test suite with 63 cases and a CI matrix upgraded to Laravel 12 and 13, which lowers the cost of patching or forking. That does not by itself prove coverage for multi-tenant scoping or concurrent tree writes. Treat it as early-adopter software with limited third-party production validation and add your own tests for concurrency, tenant isolation, and delete guards.
- Why should I avoid wsmallnews/filament-nestedset 3.0.0?
- Packagist's 3.0.0 tag points to early or incorrect code, and published tags are immutable, so the release notes direct users to 3.0.1 or later. Do not install 3.0.0, and audit lockfiles or ^3.0 constraints that may have resolved to it. Use ^3.0.1 or an exact pin and review the 2.x to 3.x upgrade as a major change.
- What are alternatives to filament-nestedset for Filament tree management?
- Alternatives include building a standard Filament Resource around kalnoy/nestedset, or using packages such as 15web/filament-tree, from which some features were borrowed. A Resource gives you policy auto-discovery, table filters, bulk actions, export, and global search by default, while this package trades those for a dedicated tree page. Weigh the single-maintainer maintenance risk and the extra dependency on codewithdennis/filament-select-tree when choosing.