Dashboard
Overview of all configured map layers.
Layer Manager
Pick a layer to edit its webmap display settings — name, visibility, zoom range and tile source.
Loading…
Layer Display
Configure how each map layer looks and behaves on the webmap. Pick a layer, then switch tabs — symbology, popup fields, search, or filters. (Edit Fields is now its own tab in the sidebar.)
Symbology
Base colour/opacity, data-driven colour rules (by value or range), and line type rules.
Loading…
Popup Fields
Choose which fields appear in the map popup. Fields loaded from the actual database table.
Loading…
Edit Fields
Per-layer field metadata used by BOTH the QGIS attribute forms and the webmap edit panel. Backed by config.layer_edit_fields. Pick a layer below, then edit its fields (add, reorder, toggle editable/required, set widget hints).
Loading…
Search Config
Control which layers are searchable and pick fields from the actual table.
Loading…
Basemaps & Overlays
Manage basemaps and reference overlays (parcel maps, ortho imagery, custom tile services). Saved here are read by the web map at startup.
Configured Basemaps
Loading…
Add Basemap
Filter Setup
Configure system filters (silent, always applied) and user filters (shown in the web map filter panel) per layer.
Loading…
Add Web Layer
Register a new pg-tileserv layer on the map.
Loading…
Map Views
Save map location bookmarks that appear in the web map's Views dropdown for quick navigation.
Saved Map Views
Loading...
New View
Views are stored in config.system_settings (key = mapviews).
Viewer Presets
Presets shown in tfm-viewer.html, the read-only map viewer. Each preset is a named map view with its own layers and filters. Separate from Map Views above (which serves the editor webmap and portal cards).
Viewer Presets
Loading...
New Preset
Presets are stored in config.system_settings (key = viewer_presets). Read by tfm-viewer.html.
Schema Tools
Audit view sync state and add columns to editable tables.
Schema sync audit
For each editable tfm.<table>, compares the base table to all three downstream surfaces:
the *_v mirror view (webmap MVT tiles), the v_* overlay-merge view (QGIS reads),
and the fn_view_dml_* trigger function (QGIS writes). A green pill means in sync; yellow means
the surface is missing one or more columns the base table has.
Add a column to a table
ALTER TABLE on the base table.
The matching _v view (used by the webmap) is updated
automatically by the existing trg_auto_sync_views
event trigger. If you set a column to NOT NULL
without a default, the operation will fail on tables that
already contain rows; allow NULL for new columns on populated
tables.
v_* and fn_view_dml_* surfaces (used by QGIS).
Phase B6 keeps the *_v webmap view synced automatically, but
the QGIS surfaces still need a manual regenerator pass — shipping in
Phase B7b. New columns added here are usable in the webmap immediately;
QGIS picks them up after B7b runs.
Style Drift
Visual comparison of how each spatial layer is styled on the
webmap (left, JSON in config.web_display_config) vs.
QGIS (right, QML XML in public.layer_styles).
Read-only — the two surfaces are intentionally independent (see CLAUDE.md
§26a + §26b). A red border / ⚠ icon flags a top-level mismatch.
QGIS Layers
Controls which layers the QGIS desktop plugin loads, and how. Each row is one layer. Edit a layer's settings inline; layer_name and source_view are read-only.
config.qgis_layer_config). The webmap is configured separately under Layer Manager / Add Web Layer.
Loading…
How to use this tab (step by step)
- Find the layer row you want to change (use the column toggles / view switch in the toolbar).
- Edit a cell inline — e.g. display name, group, sort order, min/max zoom, editable-by-role.
- Changes save per row; watch for the save confirmation on each row.
layer_nameandsource_vieware read-only (they key the layer) — adding/removing layers is done elsewhere.- Reload the QGIS plugin (reconnect) to pick up changes the next time layers load.
Registry
Read-only view of config.tfm_table_registry (35 rows). Drift badges sourced
from public.fn_admin_audit_registry_artifacts(). Convention reference: §27 of CLAUDE.md.
Loading…
New Editable Table
Create a new editable TFM table. The backend auto-generates the base table,
overlay view, audit triggers, auto-numbering, and registry entries. After
clicking Create, restart QGIS to see the new layer. Backed by
public.fn_admin_create_editable_table. Standard convention
documented in §27.14 of CLAUDE.md.
Webmap Settings
Configure the webmap URL used by the "Show on Map" buttons.
webmap-ol-edit.html if blank.
User Management
TFM logins are managed in Keycloak. A role change takes effect on the user's next sign-in.