Repository navigation
Description
Originally scoped in transformstudios/zakat.org#2329; moved here since all the work is in this repo.
Agreed approach. Blocking dependency: transformstudios/prime#834. Targets main (7.0); 6.x maintenance continues on the 6.x branch.
Context
Events needs two independent things: an online URL (Zoom, livestream) and a physical place (plain description or address), optionally together for hybrid events.
Through 6.x the addon mostly read undeclared handles and sniffed meaning (link, string/URL location, address, top-level coordinates). 6.2 added declared online_url (non-breaking) and fixed ICS decoration. 7.0 finishes the contract.
Decisions
| Release | 7.0 breaking, with an update script. Ship Events 7 and the Prime cutover together. |
| Physical place | Declared location group: name (text, localizable — ICS LOCATION) + nested coordinates (latitude / longitude floats). |
| Online | Declared online_url sibling (already on 6.2). Stays outside the place group. |
| Removed in 7.0 | Top-level address, link, URL-sniff on string location, and reading top-level coordinates / string location / address for ICS. |
| Why nest | Logical CP grouping, clean raw data, matches how Prime already nests coords. Declaring top-level coords on 6.x would force a migration for anyone who filled them then jumped to 7 — so coords wait for 7. |
Foreign location shapes |
Runtime: if location is not the expected group (or name isn't a string), skip — never fatal. Events never rewrites Prime/Simple array-shaped location; that's prime#834. |
ICS mapping (7.0)
| Event | LOCATION: |
URL: |
GEO: |
|---|---|---|---|
| Physical only | location.name |
— | location.coordinates |
| Online only | online_url |
online_url |
— |
| Hybrid | location.name |
online_url |
location.coordinates |
Online-only still puts the join link in LOCATION: so Apple Calendar / Fantastical stay useful without vendor props.
Work
Done on 6.x (v6.2.0), forward-merged to main
- Reconcile the contradicting ICS field docs #191 — Reconcile ICS field docs
- Multi-day ICS downloads drop location, URL, description and coordinates #192 — Multi-day ICS decoration + coords guard
- Add
online_urlfor Zoom and livestream links #193 —online_url(keepeventUrl()name on 6.x)
Still to do on main (7.0)
- Add nested location group; remove address, link, and sniffing #195 — Nested
locationgroup + resolution cutover (includes nested coords; Declarecoordinatesin the fieldset #194 closed as superseded) - Add update script migrating location fields to 7.0 #196 — Update script
- transformstudios/prime#834 — Rename Prime's
locationgroup; ship with Events 7
Dependency — Prime must rename its location group
7.0 cannot ship into a Prime site until prime#834 is done. Statamic collapses duplicate handles silently (keyBy->handle()). Today Events declares no location, so Prime owns it. Once Events declares a location group, blueprints importing both collide.
Prime keeps its richer UI (details, etc.) under a new handle and migrates its own data. Events' migrator never touches non-string / foreign-shaped location.
Deliberately out of scope
venue/ spatieaddressName()— would unlockX-APPLE-STRUCTURED-LOCATION; new scope.descriptionas a declared field — still documented-but-undeclared.
Steps
- Reconcile the contradicting ICS field docs #191 — Reconcile ICS field docs ·
6.x - Multi-day ICS downloads drop location, URL, description and coordinates #192 — Multi-day ICS decoration ·
6.x - Add
online_urlfor Zoom and livestream links #193 —online_url·6.x→ v6.2.0 - Declare
coordinatesin the fieldset #194 —Declare top-level· superseded (nested undercoordinateson 6.xlocationin Add nested location group; remove address, link, and sniffing #195) - Add nested location group; remove address, link, and sniffing #195 — Nested
locationgroup, removeaddress/link/ sniff / top-level coords reads ·main, blocked on prime#834 for Prime sites - Add update script migrating location fields to 7.0 #196 — Migrator ·
main - Release Events 7 + Prime cutover together
Activity
edalzell commentedon Sep 9, 2026
Plan update
online_url(Add online_url for Zoom and livestream links #209) + ICS fixes. Nocoordinatesfieldset declaration on 6.x.main): nestedlocationgroup (logical place fields +coordinates), dropaddress/link/URL sniff, migrator, Prime cutover with Events 7.main.edalzell commentedon Sep 9, 2026
Plan rewritten for the nested
locationgroup decision:#193shipped; top-level coords on 6.x cancelled (#194closed)locationgroup (name+ nestedcoordinates),online_urlsibling;#195+#196; ship with prime#834adnankussair commentedon Oct 15, 2026
@edalzell Please track time to wrap this up here on this issue, original linked ZF issue was closed in favor of this one.