- What is marshmallow/button-field and what does it do in Laravel Nova?
- marshmallow/button-field is a Laravel Nova custom field package that adds configurable button fields to Nova resources. It is intended for triggering actions, links, or custom callbacks from resource forms and tables using fluent configuration, and the button is hidden by default when creating a resource. It is a narrow Nova-only UI convenience, not a general Laravel package or platform dependency.
- How do I install marshmallow/button-field in a Laravel Nova application?
- Install it with Composer using composer require marshmallow/button-field, then confirm the package's composer.json constraints match your PHP, Laravel, and Nova versions. Check whether the package requires publishing configuration or frontend assets, and document those steps in your deployment runbook. Test the install in a disposable Nova app before adding it to production resources.
- Which Laravel, PHP, and Nova versions does button-field support?
- The available context does not provide a clear support matrix, so validate the package's composer.json constraints against your exact PHP, Laravel, and Nova versions. Nova is commercial and version-sensitive, so a field that works in one Nova major version may break in another. The last release appears to be June 2024, so test rendering and behavior in your target Nova version before adoption.
- Why is the button field hidden by default when creating a resource?
- The package hides the button by default when creating a resource, which fits actions or links that only make sense after a resource already exists. You can configure visibility in your Nova field setup if you need the button to appear during creation. Verify the exact visibility options against the package source for the version you pin.
- Can the button field trigger server-side actions or callbacks, and how should I secure them?
- The package is positioned for buttons that trigger actions, links, or custom callbacks, but any server-side effect must be authorized and validated in your Laravel application. Use existing policies, middleware, CSRF protection, validation, and audit logging rather than relying on the field package to enforce them. Review the source for unsafe request handling and test failure cases such as unauthorized or repeated clicks.
- Does button-field persist data or is it only presentational?
- Based on the package description, the button field is primarily a UI element for triggering actions or links, not a normal Nova field for editing and persisting model data. Confirm in the source whether any callback persists data, and treat state-changing buttons as application actions with their own authorization and audit trail. If you need data editing, use standard Nova fields instead.
- Are frontend assets included, and do I need to publish or build them for Nova?
- Check the repository and composer.json to see whether frontend assets are prebuilt or must be published or compiled for Nova. If publishing or building is required, add that step to your deployment runbook and verify asset loading in the target Nova version. Confirm the assets do not conflict with existing Nova frontend assets before rolling out broadly.
- Is marshmallow/button-field safe for production given zero stars and no dependents?
- Treat it as unvetted third-party code because the repository has zero stars, zero dependents, and weak ecosystem validation. Pilot it in a sandbox or one non-critical Nova resource, pin an exact version in composer.json, and review the source before production use. Keep a fallback custom Nova field implementation so you can replace the package without rewriting every resource.
- How do I test button-field in a Laravel Nova resource before rolling it out?
- Test in a disposable Laravel Nova application that matches your production PHP, Laravel, and Nova versions. Verify rendering, button visibility on create and edit, permissions, CSRF behavior, and failure cases before using it in a real admin panel. Then pilot in a single non-critical resource, assign an explicit owner for the dependency, and expand only after the pilot passes.
- What license does marshmallow/button-field use, and is commercial use allowed?
- Confirm the license in the repository and composer.json before commercial use, since the available context does not state the license terms. If the license is compatible, pin the version and document the dependency owner and upgrade path. If the package is abandoned or the license is unclear, keep a project-owned Nova field wrapper or custom field as the fallback.