- How do I install marshmallow/nova-advanced-image in a Laravel Nova app?
- Install it with Composer using composer require marshmallow/nova-advanced-image, then let Laravel package auto-discovery register the service provider. Publish the package config and assets if the README instructs it, and attach the field to a Nova resource definition. Validate the storage disk and image driver requirements in staging before rolling it out.
- Which Laravel, PHP, and Nova versions does this image field support?
- The package is a custom Laravel Nova field, so support depends on the Nova major version its frontend component targets, plus the Laravel and PHP versions Nova itself supports. The repository README and composer.json are the authoritative source for the tested version matrix. Because Nova is proprietary and versioned, confirm compatibility with your exact Nova release before adopting it.
- Does marshmallow/nova-advanced-image require intervention/image, GD, or Imagick?
- The field crops and resizes images, so an image driver such as GD or Imagick is typically required somewhere in the stack. Check composer.json and the README to see whether it pulls in intervention/image and which major version. Align that with the drivers your servers already have enabled to avoid surprises in production.
- What does the field store in the database: path, crop coordinates, or focal point?
- At minimum the field persists the image path, and crop-style fields usually also store crop coordinates or metadata so the front end can render the right region. The exact columns depend on the package's migrations and field configuration, so confirm in the source or README. Decide early whether that metadata must survive model updates and API serialization.
- Can I configure the storage disk per field, for example local disk or S3?
- Nova file fields normally let you set the disk, and this package is expected to follow the same pattern with a configurable filesystem disk. Confirm the available option in the field definition and test against your actual setup, whether local, S3-compatible, or CDN-backed. Path assumptions are a common cause of broken images after deployment.
- How does it handle existing images and image replacement?
- In practice the field applies cropping and resizing to new uploads, while previously stored paths stay untouched unless you backfill them. Keep the old field definition alongside the new one during rollout and treat existing images as pass-through. Test nullable fields and image replacement explicitly, since those are the usual failure points.
- Do I need to rebuild frontend assets for this Nova field?
- Nova custom fields normally ship precompiled frontend assets, so in most cases nothing needs rebuilding in your host application. If the package distributes uncompiled sources or you fork it, you will need the matching Node and Nova build toolchain. Check the published assets and the README install steps to be certain.
- Is marshmallow/nova-advanced-image safe to use in production?
- The main risk is maintainability rather than complexity: a three-star package with zero dependents has a small user base and a high bus factor. Nova's frontend field contract can change between major versions, which can break the field even when the package code is unchanged. Pilot it on one non-critical Nova resource and isolate it behind a wrapper so it can be swapped out if needed.
- Is this a replacement for Spatie Media Library or a full image pipeline?
- No. It is a Nova field for UI-level cropping and resizing, not a media library or a general-purpose image pipeline. If you need conversions, responsive variants, and model-agnostic media handling, Spatie Media Library is the better fit. This package layers on top of existing storage and image-processing conventions rather than replacing them.
- How should I test the crop and resize behavior, and can I swap it out later?
- Run it against a staging Nova resource with a real upload, assert the stored path and crop metadata, then cover replacement and nullable cases. Wrap the field in your own field class so switching to another Nova image field is a one-line change in resource definitions. There is no documented upgrade path for Nova field API changes, so budget a small spike on each Nova upgrade.