MIP - AutoRefresh Plugin – Automatic Layer Refresh for MapStore
Overview
This proposal introduces a new MapStore plugin named AutoRefresh, designed to automatically refresh selected map layers at a defined interval.
The plugin allows map publishers to configure which layers are refreshed and at which frequency, while end users can easily enable or disable the auto-refresh functionality through a persistent UI control.
Proposed By
Julien Longchamp - arx iT
Assigned to Release
This proposal is for MapStore .
State
Motivation
Many MapStore use cases rely on near real-time or frequently updated data sources (e.g. monitoring dashboards, operational maps).
Currently, MapStore does not provide a native, map-level mechanism to automatically refresh layers without manual interaction.
The AutoRefresh plugin addresses this limitation by providing:
- Automatic refresh of selected layers
- Non-intrusive refresh behavior
- Clear and always-visible UI feedback
Proposal
The AutoRefresh plugin introduces a UI element always visible in the map viewer, positioned in the bottom-right corner (similar to CRS selector or scale selector plugins).
The plugin provides:
- A toggle button to activate or deactivate auto-refresh
- A settings button (visible to publishers only)
- A last refresh timestamp indicator when active
- a tooltip indicating current autorefresh map settings
Viewer Mode
- Plugin is always visible (injected in the MapFooter using the plugin containers approach)
- Users can just enable or disable auto-refresh
- Users can see the last automatic refresh date/time + current configuration
- The toggle itself acts as the visual indicator of activation
Publisher Mode
- Additional Settings button available
- Settings panel allows selection of layers to refresh and configuration of a refresh interval per layer (in seconds)
Layer selection
- Layer list retrieved from the TOC
- Only layers already supporting refresh capabilities are displayed (i.e those providing a specific refresh URL)
- Layers are listed in a flat structure
- Layers list is updated when adding/removing a layer to/from the map
- Some maps could have hundreds of layers so the panel should be able to limit its own height
Data Model Changes
AutoRefresh settings are stored per map, not per context.
The MapStore map > layers object will be extended to include auto-refresh configuration:
AutoRefreshInterval is set in ms in config.
Refresh Behavior
- Only layers currently visible + selected in the settings are refreshed
- Smooth refresh with no visual flickering
- Most user interactions remain uninterrupted
- Autorefresh of a specific layer will also update potential other widgets showing layer data : Counter, Chart, Table, Dashboard Map, Dashboard Legend
For this last point, it is proposed to introduce a proper action to set the refresh option to widgets. So, the implementation will require:
- An action to set the refresh property inside the widgets based on the layer name they are connected with
- Needed logic to initialize a refresh interval inside the widgets component for each type
- The list of layers inside the Autorefresh plugin should list unique layers available in the map or dashboard
Plugin configuration (when adding to context)
- Default refresh interval
- Minimum refresh interval
Backwards Compatibility
No impact on existing maps, the new AutoRefreshInterval property is optional
Maps without this property remain fully compatible even id AutoRefresh plugin is added.
Note : potential conflict with #7289
Future evolution
NA
Feedback
Update this section with relevant feedbacks, if any.
Voting
Project Steering Committee:
Links
Remove unused links below.
MIP - AutoRefresh Plugin – Automatic Layer Refresh for MapStore
Overview
This proposal introduces a new MapStore plugin named AutoRefresh, designed to automatically refresh selected map layers at a defined interval.
The plugin allows map publishers to configure which layers are refreshed and at which frequency, while end users can easily enable or disable the auto-refresh functionality through a persistent UI control.
Proposed By
Julien Longchamp - arx iT
Assigned to Release
This proposal is for MapStore .
State
Motivation
Many MapStore use cases rely on near real-time or frequently updated data sources (e.g. monitoring dashboards, operational maps).
Currently, MapStore does not provide a native, map-level mechanism to automatically refresh layers without manual interaction.
The AutoRefresh plugin addresses this limitation by providing:
Proposal
The AutoRefresh plugin introduces a UI element always visible in the map viewer, positioned in the bottom-right corner (similar to CRS selector or scale selector plugins).
The plugin provides:
Viewer Mode
Publisher Mode
Layer selection
Data Model Changes
AutoRefresh settings are stored per map, not per context.
The MapStore map > layers object will be extended to include auto-refresh configuration:
AutoRefreshInterval is set in ms in config.
Refresh Behavior
For this last point, it is proposed to introduce a proper action to set the refresh option to widgets. So, the implementation will require:
Plugin configuration (when adding to context)
Backwards Compatibility
No impact on existing maps, the new AutoRefreshInterval property is optional
Maps without this property remain fully compatible even id AutoRefresh plugin is added.
Note : potential conflict with #7289
Future evolution
NA
Feedback
Update this section with relevant feedbacks, if any.
Voting
Project Steering Committee:
Links
Remove unused links below.