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 Media Field

Nova Media Field Laravel Package

stepanenko3/nova-media-field

Laravel Nova field for adding media uploads and management to Nova resources. Attach and preview images or files directly in the admin panel, with a simple, customizable field that streamlines media handling in Laravel apps.

View on GitHub
Deep Wiki
Context7

A Laravel Nova field for laravel-medilibrary.

Frequently asked questions about Nova Media Field
How do I install stepanenko3/nova-media-field?
Run composer require stepanenko3/nova-media-field, then declare the field on a Nova resource and point it at a collection name you have already registered with registerMediaCollections(). There is no schema change, queue worker, or extra service to configure. Because the package is a thin field adapter, spatie/laravel-medialibrary must be installed and working on the model first.
Does this package support Nova 5 and medialibrary 11?
The package is a thin adapter over Nova's field API and ships a single release (2024-03-28), so the explicit support matrix for Nova 4.x/5.x and medialibrary 10.x/11.x is not documented here. Nova 4 to 5 involved Vite/Tooling and field API changes, and medialibrary 10 to 11 changed namespaces, config, and conversion APIs, so neither jump is safe to assume. Read the composer.json constraints, pin all four pieces (Nova, medialibrary, PHP, this field) together, and spike it on a scratch resource before upgrading anything.
Do I need to register a media collection before adding the field to a Nova resource?
Yes. The field displays a medialibrary collection, so the model must implement registerMediaCollections() and define a matching collection name first. Typical wiring is: install medialibrary, register the collection, then declare the field pointing at that name. If the names do not match, the field has nothing to show or write to.
Can the field handle multiple collections, single-file collections, and custom properties?
Those are medialibrary features, but whether this specific field surfaces them cleanly is unconfirmed and the small install base means such edge cases are unlikely to be battle-tested. Treat them as explicit spike items: exercise a singleFile collection, a resource with two collections, and a replace/delete flow. If any of them misbehave, you are looking at a fork rather than a config tweak.
Does it respect my S3 or other non-local filesystem disk?
Medialibrary owns disk configuration, so the field should follow whatever disk you set on the collection, but non-local disks are unverified for this package. Add an S3 disk to your spike covering upload, preview, and delete. If the field assumes local paths you will see broken or missing previews even though the media row saved correctly.
Are conversions and responsive images generated when I upload through this field?
Conversions are medialibrary's job; the field is a UI layer for uploading and displaying media. Whether a conversion is triggered on upload or merely rendered from files that already exist is one of the questions to confirm with the maintainer. Verify by uploading an image and checking that the conversion files actually land on the disk.
How should I test media uploads with this Nova field?
Test the media pipeline at the medialibrary layer with PHPUnit or Pest using a fake disk, then do a manual pass in the Nova panel for the Vue field itself. The package has a low test signal, so its own suite is weak evidence that your configuration works. Cover single-file, multi-file, non-image MIME types, S3, and delete/replace flows in a one to two day spike.
Is stepanenko3/nova-media-field safe to use in production?
The signals are thin: roughly 18 stars, a single maintainer, one release in March 2024, and no evident security policy or governance. That does not make it unusable, but it means pinning it aggressively, wrapping it behind an internal field factory or base resource trait, and keeping a fork plan. Roll it out behind one low-risk admin resource, observe for a release cycle, then expand.
What are the alternatives to this Nova media field?
Commonly referenced options include ebess/advanced-nova-media-library and similar community media fields, or a small custom Nova field built directly over medialibrary, plus Nova's built-in File field for simple uploads. If you are on Nova without medialibrary, adopt medialibrary first and confirm it solves your media pipeline before choosing a field. A field package should never be the reason you pick an admin panel.
What happens if Nova or medialibrary ships a breaking major version?
You own the fork. Nova is commercial and closed-source, so your team cannot patch its field API, and a low-adoption field is likely to lag a Nova major; medialibrary majors carry similar risk. The mitigation is a small internal factory or base resource trait that instantiates the field with your standard collection, disk, and conversion config, so a fork or replacement is a one-file change instead of an audit of every Nova resource.
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.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo