Product Decisions This Supports
- Build vs. buy for admin map display. This is a thin custom Nova field (a Vue component wrapping Leaflet, plus a PHP field class). The real decision isn't "adopt this package" — it's "spend 1–2 dev days writing/forking ~100 lines" vs. "add a dependency." At 3 stars, 0 dependents, a single maintainer, and no release since March 2024, the honest answer is fork, don't depend.
- Map provider and cost model. Leaflet + OpenStreetMap tiles removes Google Maps API keys, metered per-map-load billing, and third-party script/data egress from your admin. That's a vendor-and-legal decision as much as an engineering one.
- Deployment topology. Because the tile layer is configurable, this unlocks self-hosted tiles for on-prem, VPN-only, or air-gapped admin panels — a scenario Google Maps effectively rules out.
- Privacy/data-residency review. Coordinates render client-side from your own database; no address data is handed to a third party. Useful when the admin contains customer addresses or site locations.
- Feature scoping. This is a detail (read-only) field: it renders a point. It does not geocode, autocomplete addresses, drag pins, draw polygons, or route. That distinction is the difference between a 2-hour task and a 2-week one — decide which feature you're actually shipping before committing.
- Nova upgrade planning. The package name pins Nova 4. If Nova 5 is on the roadmap, adopting this as a dependency adds a migration blocker; vendoring it does not.
- Roadmap triage. Low opportunity signal (27.57) plus near-zero adoption suggests this is table-stakes internal tooling, not a differentiator. Fund it as a small chore, not an initiative.
When to Consider This Package
Adopt the approach (fork the source) when:
- You are already on Laravel Nova 4 and the panel is internal-only.
- You need read-only display of a latitude/longitude pair on an asset, order, site, or customer detail screen.
- There is cost or policy pressure against a Google Maps API key (billing, ToS, data egress, procurement friction).
- The admin runs on an internal network or on-prem, where you'd point the tile URL at your own tile server.
- You have a Laravel developer comfortable reading a small Vue 3 component and a Nova field class.
Look elsewhere — or build it — when:
- You need address search, geocoding, pin-dragging to set coordinates, polygons, routes, clustering, or heatmaps. Nothing here does that.
- You are on Nova 5, or plan to upgrade within the next year.
- You need a maintained dependency with an SLA, security review sign-off, or an active contributor base. One maintainer, last release March 2024, zero dependents, low opportunity score — there is no support story.
- The surface is customer-facing, high-traffic, or compliance-critical.
- Baseline check: Nova's own field set includes a Map field. Confirm it doesn't already satisfy the requirement before introducing any third-party field at all.
Practical recommendation: treat this as a reference implementation. Read the source, copy the field into your nova-components/ namespace, own it, and add a test. Exit cost is near zero either way; the fork just makes that explicit.
How to Pitch It (Stakeholders)
For executives: Our internal admin needs to show where a site or asset is. We can deliver that without a Google Maps contract or per-load billing by using an open-source map renderer. The specific community add-on is small and unmaintained, so rather than take a dependency on it, engineering will copy the roughly 100 lines into our own codebase — about one to two developer days. The result: no vendor, no license fee, no lock-in, and no customer location data leaving our infrastructure. This is not a strategic bet; it's a cheap removal of a third-party dependency.
For engineering: It's a Nova 4 detail field — a Vue component wrapping a Leaflet map over an OSM tile layer, read-only lat/lng, no geocoding or interaction. Three stars, zero dependents, nothing merged since March 2024, pinned to Nova 4. Do not composer require it. Fork the field, make the tile URL configurable, point it at our internal tile server where required, register it under our own namespace, and cover it with a test. Verify Nova's built-in Map field first — we may not need this at all.
Risk register line: Maintenance risk high (single maintainer, stale, version-pinned). Security risk low (client-side render, no data egress). Lock-in low (forkable, ~100 LOC). Exit cost near zero.