digital-creative/resource-navigation-link
A Laravel Nova package that adds configurable navigation links to your resources, letting you jump quickly between related records or external destinations from a resource's index and detail views with minimal setup.
Architecture fit. digital-creative/resource-navigation-link is a Laravel Nova field package — a presentation-layer component that renders a link to an internal Nova resource or an external URL. It carries no domain logic, no schema ownership beyond referencing an existing column, and no runtime services. For a team already running Nova, it slots into the admin layer without touching application architecture. For a team not on Nova, it is irrelevant. That binary is the first gate.
Integration feasibility. Low effort: Composer install, Laravel package auto-discovery, register the field on a Nova resource, configure the target (resource class + ID, route, or absolute URL). Realistic estimate is a half-day spike and one to three days to standardize across resources, including review of authorization behavior. The friction is not the install; it is the version matrix (PHP 8.x, Nova 4 vs. 5) and confirming the field behaves in both index and detail contexts.
Technical risk.
Key questions to resolve before adoption.
composer.json?authorizedToView / policy checks when linking to internal resources?target="_blank", rel="noopener noreferrer") and support display customization (icon, label, open-in-new-tab)?Stack fit. Native fit for a Laravel + Nova stack: standard service provider, standard field registration, no queue, cache, or storage dependencies. It composes with other Nova fields rather than competing with them. If we are not on Nova, stop here.
Migration path. The realistic incumbent is an ad-hoc workaround — Text::make()->asHtml() with hand-built anchors, a custom Field subclass, or a Blade partial in a detail view. Migration is per-resource and incremental: swap the workaround for the package field, delete the custom class once the resource is verified. No data migration, no downtime, no coordination with application releases. Reversal is a one-line revert per resource.
Compatibility. Treat the Nova version as the binding constraint. Confirm the field renders correctly on index, detail, and (if used) inline-relation views, and that sorting/filtering behavior on the underlying column is unchanged. Check that the field degrades gracefully when the target record is missing or soft-deleted — a dangling link in an admin table is a support ticket, not a bug report.
Sequencing.
composer.json.Maintenance. Near-zero runtime maintenance and a non-trivial governance tail. Pin the exact version, add it to the dependency-review list, and assign an owner. The realistic long-term state is "upstream goes quiet, we carry a vendored copy." Budget a few hours per Nova major upgrade to re-verify rendering and authorization.
Support. No vendor SLA, no paid support tier, no meaningful issue-tracker throughput at this adoption level. Internal support burden is limited to admin-panel users and is easily absorbed by whoever owns the Nova instance. Do not let it become a shadow dependency that no one owns.
Scaling. Commercially irrelevant at scale — the field renders a handful of links per admin page and adds no query, memory, or latency profile worth modeling. The scaling concern is organizational: a Nova-heavy admin surface with dozens of resources will want a consistent linking convention, and an unmaintained package is a poor foundation for a convention.
Failure modes.
Ramp-up. Low. A developer fluent in Nova reads the README and ships in under an hour. The real ramp-up cost is institutional knowledge: which resources use the field, why, and what the fallback is if it breaks. Write that down at standardization time — it is a one-page document that prevents a future "why is this column empty" investigation.
How can I help you explore Laravel packages today?