media24si/nova-youtube-field
A Laravel Nova field for attaching YouTube videos to your resources. It offers a searchable picker for YouTube URLs or video IDs, displays a thumbnail preview in the form, and saves the selected video so you can easily embed it in your application's frontend.
string column with accessor/parsing logic (portable, no lock-in) versus a field-specific storage format (convenient, but couples your schema to a Nova package). The package implicitly pushes toward the former, which is the safer long-term call.Consider it when:
Look elsewhere (or build) when:
Practical recommendation: do not adopt as a runtime dependency. Budget a short spike to fork the field's parsing/preview logic into your own Nova\Fields\Field subclass, store the raw URL plus a derived video ID, and pin tests around URL formats you care about.
For executives: This is a small, MIT-licensed admin-panel add-on that lets editors paste a YouTube link and see it rendered inline instead of as a raw URL. The capability is genuinely useful for content-heavy admin screens, but the package itself was last released in 2018 and is archived — meaning no maintenance, no security updates, and likely incompatibility with our current Nova version. Recommendation: do not take it as a dependency. Treat it as a free reference design and spend roughly one to two engineering days building the equivalent in-house. Cost is negligible; the benefit is avoiding a dead dependency that will complicate our next admin upgrade.
For engineering: The field's substance is YouTube URL parsing, video ID extraction, and a thumbnail/embed preview — plus Nova field plumbing. The repo is a reasonable prior-art read under MIT, but it predates Nova 3 and will not drop into a modern install. Proposed approach: vendor a small custom field, store the canonical URL as a plain string column with a derived video_id accessor (portable, no Nova coupling in the schema), and add validation for the URL shapes we actually accept. If we later need oEmbed metadata, thumbnails caching, or playlist support, that is a separate, scoped piece of work — the package offers no head start there.
For product/QA: Success looks like editors entering valid video references on the first attempt and catching mistakes before publish. Acceptance criteria should cover: accepted URL formats (watch, short links, with/without timestamps), rejection messaging for invalid input, and preview behavior when a video is deleted or made private.
How can I help you explore Laravel packages today?