Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plans/events-legacy-backfill.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ of schedule segments. Under the data model each is a **series** whose days
are events: carry them into the `event-series` and `events` sheets so
`/events/past` has history and the old URLs keep resolving.

**In:** one `event-series` record per laddr event (slug = laddr handle,
title and description from the program), one `events` record per calendar
**In:** one `event-series` record per laddr event (slug = laddr handle in
slug form, title and description from the program), one `events` record per calendar
day of segments (slug `<YYYY-MM-DD>-<a few words of the day's title>`,
venue from the day's first segment, span from the day's first start to its
last end, the day's segments as `agenda` items — except a first segment
Expand Down
2 changes: 1 addition & 1 deletion specs/behaviors/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ The form is a convenience, not the only door. `POST /api/events` is the same wri

## Legacy URLs

Laddr served `/events`, `/events/*past`, `/events/*upcoming`, `/events/*all`, `/events/<handle>`, and `/events/<handle>/segments/<segHandle>`. A laddr "event" was a whole program, so each of the four becomes a **series** whose slug is the laddr handle, with one event per day of segments and that day's segments as its agenda. The rewrite answers the old URLs per [legacy-id-mapping.md](legacy-id-mapping.md#legacy-url-forms-we-accept): the starred list views 301 to `/events/past` or `/events`; `/events/<handle>` and its segment URLs 301 to `/events/series/<handle>`.
Laddr served `/events`, `/events/*past`, `/events/*upcoming`, `/events/*all`, `/events/<handle>`, and `/events/<handle>/segments/<segHandle>`. A laddr "event" was a whole program, so each of the four becomes a **series** whose slug is the laddr handle in slug form — `launchpad-2018`, `launchpad-2019`, `data-hack-2020`, `launchpad-2023` — with one event per day of segments and that day's segments as its agenda. The rewrite answers the old URLs per [legacy-id-mapping.md](legacy-id-mapping.md#legacy-url-forms-we-accept): the starred list views 301 to `/events/past` or `/events`; `/events/<handle>` and its segment URLs 301 to the series page. The four handles are a closed set, so they map statically rather than through [legacy handle normalization](slug-handles.md#legacy-handle-normalization), which would keep laddr's underscores: `launchpad-2018` → `launchpad-2018`, `launchpad_2019` → `launchpad-2019`, `datahack2020` → `data-hack-2020`, `launchpad-2023` → `launchpad-2023`.

## Principles

Expand Down
4 changes: 2 additions & 2 deletions specs/behaviors/legacy-id-mapping.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ The web layer catches these patterns and 301s to the canonical URL:
| `/tags/<handle>` | `/tags/<namespace>/<slug>` | split on `.` |
| `/events/*past` | `/events/past` | static rewrite |
| `/events/*upcoming`, `/events/*all` | `/events` | static rewrite |
| `/events/<handle>` | `/events/series/<handle>` | a laddr event was a whole program; each is backfilled as a series with its handle as slug ([events.md](events.md#legacy-urls)) |
| `/events/<handle>/segments/<segHandle>` | `/events/series/<handle>` | segments became that series' per-day events and their agenda items; no page per segment |
| `/events/<handle>` | `/events/series/<slug>` | a laddr event was a whole program; each is backfilled as a series, and the four handles map statically to their series slugs ([events.md](events.md#legacy-urls)) |
| `/events/<handle>/segments/<segHandle>` | `/events/series/<slug>` | segments became that series' per-day events and their agenda items; no page per segment |
| `/calendar` | `/events` | static rewrite (not a laddr URL; the issue asked for the alias) |

Patterns not listed (e.g., `/checkin`, `/bigscreen`) return 410 Gone with an explanation page (see [deferred.md](../deferred.md) for why those URLs no longer exist).
Expand Down
Loading