el-schneider/statamic-simple-address
A lightweight Statamic addon that adds a simple address fieldtype for capturing postal addresses in your content. Store structured address details without a heavyweight CRM or geocoding dependency, with straightforward templating and control panel editing.
Architecture fit
This is a Statamic addon (Composer package installed into a Laravel app) that adds an address fieldtype/component with a map preview. Architecturally it follows the conventional and correct Statamic pattern: an addon service provider registers the fieldtype and views, behaviour is driven by a published config/simple-address.php, and the map layer is rendered client-side against a configurable tile endpoint. v0.2.4 hardens that boundary by removing the hard dependency on CARTO's basemap and making tile sources provider-neutral config (light layer, optional dark layer, fallback). That is the right direction for a TPM to see: presentation concerns are now configuration rather than baked-in vendor coupling, which reduces the chance that a provider change forces a package upgrade or a code fork. The package remains small in scope — a fieldtype, a config, and a JS map — so it integrates at the edge of the stack rather than into domain logic, which keeps blast radius low.
Integration feasibility
Friction drops materially with this release. Previously the default CARTO tiles introduced a visible API-key watermark, which is a poor production look and often a support-ticket generator for content editors. Defaulting to OpenStreetMap means a fresh install renders a usable map with no key provisioning, no billing relationship, and no secrets to manage — a same-day evaluation is realistic. Integration is the standard composer require, php artisan vendor:publish for the config, and clearing config/view caches.
Technical risk
Key questions
composer.json?connect-src or img-src allowlist update?Stack fit Fits any Laravel application running a supported Statamic version where address capture with a visual sanity-check is needed — editorial content types, store locators, directory listings, property records. It is not a geocoding or validation service; it renders a map for a human-readable address field. If the requirement is address autocomplete, coordinate storage, or normalisation, this package is one component and the rest must come from elsewhere. Confirm that assumption before scoping.
Migration path
Upgrading from v0.2.3 is low-risk: the release explicitly preserves existing published configs, so no fatal config-key errors are expected. The real work is intentional rather than forced — decide whether to (a) accept the new OSM default, (b) re-publish the config and explicitly pin light and dark tile URLs, or (c) keep a custom CARTO setup if a contract already exists. If no config/simple-address.php was ever published, the new defaults apply silently; that is the case to watch, because appearance changes with no visible action taken.
Compatibility
Verify the config file diff between v0.2.3 and v0.2.4 — "compatible" here means old keys keep working, and new keys fall back gracefully. Check that config:cache picks up the new keys in each environment, since a stale cached config is the most common cause of "the dark layer isn't applying." Also verify that asset publishing does not collide with previously published views or JS.
Sequencing
composer.json and upgrade in a development environment first.tile.openstreetmap.org by default).Maintenance Low code footprint, but pre-1.0 with a single-maintainer risk profile. Budget a light quarterly review: watch the repository for releases, re-read changelogs before bumping, and pin exact versions rather than using floating constraints. Because the package now depends on external tile infrastructure, maintenance is not purely "does the PHP still run" — it also includes "is our tile provider still appropriate, licensed, and up."
Support Community/GitHub support, no vendor SLA. Internal ownership should sit with the team that owns the Statamic site, with an explicit note in the runbook covering: which tile provider is configured, where the config lives, and what to change if tiles go blank. That single documented decision prevents most future incidents.
Scaling The critical scaling axis is not PHP — rendering a fieldtype is trivial — but tile egress and provider terms. OpenStreetMap is appropriate for low-to-moderate traffic and internal/editorial use; for a high-traffic public site, plan to move to a paid provider or self-hosted tiles via the new config, which v0.2.4 now makes a config change instead of a code change. Also consider privacy: client browsers will request tiles directly from the provider, disclosing visitor IPs to a third party. If that is a concern, a self-hosted or proxied tile source is the answer, and the same config hook supports it.
Failure modes
config:clear resolution.Ramp-up Low. A developer familiar with Statamic can integrate and theme this in well under a day: install, publish, edit two tile URLs, verify attribution. The genuinely new knowledge required by this release is not Laravel or Statamic — it is tile-provider literacy (usage policies, attribution, licensing, cost curves). Assign that decision explicitly to one person rather than letting it default, because v0.2.4 correctly stopped making it for us.
How can I help you explore Laravel packages today?