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 Url Field Laravel Package

inspheric/nova-url-field

A URL field for Laravel Nova that displays URLs as clickable, copyable links in index, detail, and form views. Customize link text, target, and styling while storing values as plain strings, keeping long URLs readable and letting users open or copy them with one click.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin tooling velocity: This package is a narrow accelerator for Laravel Nova admin panels. Where a resource already needs a website, homepage, docs_url, vendor_portal, repo link, or callback endpoint column, it replaces hand-rolled Text::make(...)->displayUsing(fn () => '<a href=...>') markup with a maintained field class. The value is time saved on internal tooling, not a new user-facing capability.

  • Build vs. buy (buy the small thing): Adopt rather than build when the requirement is exactly "store, validate, display, click through a URL" with nullable values and Nova's own validation rules. Build in-house — or move to a separate service — the moment the requirement grows to link previews, favicons, redirects, metadata extraction, click analytics, approval workflows, or domain-specific validation. This package deliberately does none of those, and stretching it is the wrong instinct.

  • Roadmap sequencing around Nova 5: v3.0 adds Nova 5 support, so this removes a small but real migration blocker for admin resources that depend on a URL field. Treat it as an enabler attached to an already-scheduled Nova upgrade, not as a roadmap item in its own right. On Nova 4, pin v2.0.2 and defer.

  • Backlog prioritization: Pull this in opportunistically as engineers touch each resource. Do not schedule a dedicated "convert all Text fields to URL fields" refactor — the field is too small to justify its own initiative, and conversion is a one-line diff per resource.

  • Dependency governance: Approve as a small, MIT-licensed, admin-only dependency with low blast radius but weak ecosystem validation: ~102 stars, zero dependents, single primary maintainer. Decision rule: keep it strictly in admin surfaces, never in a request path serving end users, and treat it as "owned by us in all but name."

When to Consider This Package

Consider it when:

  • The product already runs Laravel Nova — this is a hard prerequisite, not a preference. It is irrelevant to Filament, Livewire, Blade-only, or custom admin panels.
  • The requirement is narrow: store, validate, display as a clickable link, and round-trip a URL in an admin resource.
  • The Nova major matches the package major: v3.x for Nova 5, v2.0.2 for Nova 4. Pin explicitly; do not float across the major.
  • A Nova 5 upgrade is planned or underway and the team wants to avoid carrying a forked URL field through the migration.
  • The team can review the source, commit the lockfile, verify PHP/Nova constraints, and fork or vendor the class if it becomes load-bearing.
  • Low adoption signals are acceptable because the blast radius is confined to internal admin screens.

Look elsewhere when:

  • The application is not on Laravel Nova.
  • You are on Nova 4 and cannot move yet — pin v2.x or defer, but do not force v3.0 as a drop-in upgrade.
  • The need is customer-facing link management, redirects, previews, metadata, analytics, or complex validation. That is a custom field or a separate service.
  • You require enterprise support, an SLA, security certifications, or a maintainer community. This has none of those.
  • URL display is business-critical and cannot tolerate a single-maintainer dependency.
  • Nova's native field already satisfies the requirement — in which case the correct decision is no new dependency.

How to Pitch It (Stakeholders)

For executives: This is a small, MIT-licensed add-on for Laravel Nova admin screens. It lets editors work with website and reference links as clickable URLs without us writing and maintaining custom field code. Its latest release adds Nova 5 support, so it will not block a Nova platform upgrade. Cost is negligible and blast radius is low because it only touches internal admin tooling — but it should be time-boxed and reviewed like any small open-source dependency, not framed as a strategic platform choice.

For engineering: One field class, no service provider, no migrations, no assets, no config to publish. Integration surface is the resource's fields() method: import Inspheric\NovaUrlField\Url and swap out the existing Text field. Pin the major to the Nova major — ^3.0 on Nova 5, ^2.0.2 on Nova 4 — and read the composer.json diff between them, because the v3.0 release notes announce what was added but not what was dropped or whether the PHP floor moved. Run a short spike on one non-critical resource in staging and verify index rendering, detail rendering, the edit round-trip, and especially null-vs-empty-string behavior, which is the most plausible regression in a major bump. Note that Nova is closed-source, so CI needs license credentials configured or composer install fails before tests run. Validation stays with us — pair the field with ->rules('url'), ->rules('max:255'), and ->nullable(); and if the column ever accepts untrusted input, treat URL scheme handling as a security review item (javascript: and data: can pass shape-only URL rules), and confirm rel="noopener noreferrer" on target="_blank" anchors. Finally, document the subclass path — if we need scheme sanitizing or custom anchor markup, we extend Url ourselves and turn a future upstream stall into a two-hour task rather than a rewrite.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log