feat: management UI at /manage for ingestion and sync#77
Merged
turban merged 3 commits intofeat/maps-viewerfrom May 8, 2026
Merged
feat: management UI at /manage for ingestion and sync#77turban merged 3 commits intofeat/maps-viewerfrom
turban merged 3 commits intofeat/maps-viewerfrom
Conversation
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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #72.
Summary
GET /manage— server-rendered management page with an ingest form and a per-dataset sync tablePOST /manage/ingest— handles the ingest form; callscreate_artifact()internally and redirects back to/managewith a success or error flash messagePOST /manage/sync— handles the sync form; callssync_dataset()internally and redirects back to/manageDetails
The ingest form shows:
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 /manageloads without error when extent is configuredGET /manageshows a "no extent configured" notice when extent is absent🤖 Generated with Claude Code