Skip to content

feat: management UI at /manage for ingestion and sync#77

Merged
turban merged 3 commits intofeat/maps-viewerfrom
feat/manage-ui
May 8, 2026
Merged

feat: management UI at /manage for ingestion and sync#77
turban merged 3 commits intofeat/maps-viewerfrom
feat/manage-ui

Conversation

@turban
Copy link
Copy Markdown
Contributor

@turban turban commented May 7, 2026

Closes #72.

Summary

  • GET /manage — server-rendered management page with an ingest form and a per-dataset sync table
  • POST /manage/ingest — handles the ingest form; calls create_artifact() internally and redirects back to /manage with a success or error flash message
  • POST /manage/sync — handles the sync form; calls sync_dataset() internally and redirects back to /manage
  • Landing page — new "Available dataset templates" card listing all YAML registry templates; Manage link added to the Explore section

Details

The ingest form shows:

  • Dropdown of all registered dataset templates (id + name + period type)
  • Start / end date fields, pre-populated with today and one year ago
  • Extent pre-filled from the configured instance extent (read-only)
  • Publish and Overwrite checkboxes

The status table shows each ingested dataset's temporal coverage and publication status, with a Sync button per row.

No JavaScript, no new dependencies — Jinja2 templates and Starlette form handling only.

Test plan

  • GET /manage loads without error when extent is configured
  • GET /manage shows a "no extent configured" notice when extent is absent
  • Ingest form submits and redirects with a success message
  • Invalid dataset id or upstream error shows an error flash
  • Sync button for an ingested dataset completes and redirects with a success message
  • Landing page shows the templates card and the Manage link

🤖 Generated with Claude Code

Implements issue #72. Adds a server-rendered management page at GET /manage
that lets operators ingest and sync datasets without needing to know API
endpoint details or dataset template IDs.

- GET /manage renders a Jinja2 page with an ingest form (template dropdown,
  start/end dates, extent pre-filled) and a status table with per-dataset
  Sync buttons; flash messages show success or error after each operation
- POST /manage/ingest handles the ingest form and redirects back to /manage
- POST /manage/sync handles the sync form and redirects back to /manage
- Landing page gains an "Available dataset templates" card listing all
  registered templates and a Manage link in the Explore section
@turban turban marked this pull request as draft May 7, 2026 23:47
@turban turban changed the base branch from main to feat/maps-viewer May 7, 2026 23:47
turban added 2 commits May 8, 2026 02:29
Replaces the OSM raster style with OpenFreeMap's positron vector style.
The data layer is inserted before the first symbol layer so country
borders, road labels, and place names always render on top of the
climate data.
@turban turban merged commit 059dc13 into feat/maps-viewer May 8, 2026
@turban turban deleted the feat/manage-ui branch May 8, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: management UI at /manage for ingestion and sync

1 participant