Document the trip publish-toggle cache-invalidation finding: an in-place trip.md `published` edit under cache.check.method: folder + APCu driver stays stale because the folder checksum is unchanged AND the web APCu store is unreachable by a CLI clearcache — fixed with apcu_clear_cache() from the web request. Cross-link the sibling grav-deleteall doc (the create/delete case) as necessary-but-not-sufficient here, and add the Published/Draft trip status concept to CONCEPTS.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mpdu3Dt1iVoozHwAMyjrbn
2.7 KiB
Concepts
Shared domain vocabulary for this project — entities, named processes, and status concepts with project-specific meaning. Seeded with core domain vocabulary, then accretes as ce-compound and ce-compound-refresh process learnings; direct edits are fine. Glossary only, not a spec or catch-all.
Relationships
A Trip owns its Entries and Stories. Exactly one Trip is the Active Trip at a time; it is the one surfaced on the home page and the target for new posts. Entries and Stories are always scoped to a Trip — they do not exist independently.
Trip
Trip
A single journey the blog is organised around — the top-level content entity. A Trip aggregates its Entries and Stories and carries its own metadata (title, start/end dates, cover image, route GPX files). Each Trip renders as one consolidated Trip page showing an inline map, a filtered feed, and inline stats; the journal, map, stats, and story views are not separate pages.
Active Trip
The one Trip currently featured — set in site config and read by the home page and the post form. Switching the Active Trip is a deliberate, multi-file change; if the post form's target and the featured Trip fall out of sync, new posts land under the wrong Trip.
Published / Draft
A Trip's visibility state. A Published Trip is listed publicly and reachable by anyone; a Draft Trip is hidden from anonymous visitors in the public trip list, while the signed-in owner still sees it (marked "Draft") and can flip it back. The owner toggles this per Trip from the trip list.
Unpublishing the Active Trip additionally drops it from the public home page, which falls back to its between-trips landing. The toggle is owner-only; a Draft is a visibility control, not privacy — a Draft Trip's Entries, Stories, and media stay reachable by direct link.
Entry
A single dated journal post within a Trip — the atomic unit of the day-to-day travel log. Avoid: daily, journal post
The Trip's journal section is labelled "Journal" and lives in the Trip's dailies container, so an Entry is colloquially "a daily"; in templates and page metadata the same thing is called an entry. Entries carry a date, optional location and coordinates, weather, and photos, and are ordered by date within a Trip.
Story
A long-form, designed narrative piece within a Trip — hero image plus scrollytelling/gallery sections — distinct from the short, dated Entry. Stories are curated set pieces; Entries are the running log.
Flagged ambiguities
- "daily" / "entry" / "journal post" all refer to the same concept (a dated journal post). Canonical term: Entry. The section/folder is named "dailies" and the nav label is "Journal" — these name the collection, not a different entity.