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

Nova Sortable 5 Laravel Package

almirhodzic/nova-sortable-5

A Laravel Nova 5 package that adds drag-and-drop sorting to resource index tables. Reorder rows directly in Nova, persist positions through a configurable sort column, and keep listings organized with minimal setup. Ideal for menus, categories, FAQs, and other ordered content.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: The package is a Laravel Nova 5 custom field that adds drag-and-drop sorting to resource index views. It integrates into Nova’s resource layer via a Vue component and a backend indexQuery override, fitting naturally into Nova-based admin panels.
  • Integration feasibility: Feasible for projects already on Nova 5. The v1.0.4 fixes address critical contract mismatches (indexQuery signature) and front-end binding issues (DependentFormField mixin, hiding the field on forms), reducing integration friction. However, it remains a third-party package with a narrow scope.
  • Technical risk: Moderate. The fixes indicate prior versions had breaking issues with Nova 5 forms and contracts. While v1.0.4 resolves these, reliance on Nova internals (e.g., DependentFormField mixin) means future Nova updates could introduce regressions. No evidence of automated tests or official support.
  • Key questions: What is the package’s maintenance cadence and bus factor? Does it support all Nova 5 field types and Laravel/PHP versions? Are there tests covering the indexQuery contract and Vue binding? What is the upgrade path from older Nova versions? Is there a fallback if the package becomes unmaintained?

Integration Approach

  • Stack fit: Laravel + Nova 5. If the project uses Nova for administration and requires manual ordering of resources, this package avoids custom field development. Requires Vue.js familiarity for any customization.
  • Migration path: For new installations, install v1.0.4 directly. For existing installations, upgrade from prior versions and verify the indexQuery signature, form field hiding, and Vue mixin binding. If migrating from Nova 4, confirm Nova 5 compatibility and test thoroughly.
  • Compatibility: Targets Nova 5 specifically. Verify PHP and Laravel version constraints in composer.json. The use of DependentFormField mixin and Options API suggests compatibility with Nova’s Vue setup (likely Vue 2/3 depending on Nova 5). Test against the exact Nova version in use.
  • Sequencing: 1) Install package via Composer. 2) Add the field to a test resource. 3) Verify drag-and-drop ordering on index view. 4) Confirm the field is hidden on create/update forms. 5) Validate detail view rendering. 6) Run regression tests on resource CRUD and ordering persistence.

Operational Impact

  • Maintenance: Active maintenance is indicated by the v1.0.4 bug fixes. However, as a community package, it requires monitoring releases and Nova compatibility. Budget time for periodic upgrades.
  • Support: Likely community-driven (GitHub issues). No official SLA. TPM should identify internal owners or consider a support contract if business-critical.
  • Scaling: The drag-and-drop UI may become cumbersome with large datasets. Ensure server-side pagination and efficient ordering queries. Test performance with expected record volumes and concurrent reordering.
  • Failure modes: Nova updates could break the DependentFormField mixin or indexQuery contract. Form submission errors could reappear if the field is not hidden correctly. Data integrity risks include race conditions during concurrent reordering and incorrect order persistence. Plan for monitoring and rollback.
  • Ramp-up: Developers need familiarity with Nova custom fields and Vue. The Options API approach in v1.0.4 is standard, but documentation may be sparse. Allocate time for a spike, testing, and knowledge transfer.
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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle