You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend the MapStore GeoNode catalog to expose documents alongside datasets, and support adding a mixed multi-selection in a single operation where the result is N records to M layers (not the current strict one record to one layer).
Example: selecting 2 datasets + 2 documents produces 3 layers (2 dataset layers + 1 vector layer that collects both documents as point features placed at each document's extent center).
Acceptance criteria
A GeoNode catalog service can be configured (via the service Advanced settings) to include dataset and/or document resource types; at least one type stays selected.
When document is enabled, documents appear in the results list alongside datasets, distinguished by a document icon.
Selecting a mix of datasets and documents and adding them produces one layer per dataset plus a single vector layer collecting the documents as point features (at each document's extent center); documents without an extent are skipped.
The documents vector layer styles markers by subtype (video / image / file) and exposes the document on identify through the layer's rowViewer hook; when no viewer is registered for that id, the identify popup falls back to the default properties viewer.
A failed fetch of a single record is skipped without aborting the rest of the add.
A "Content type" (subtype) filter is available in the catalog filter panel, built from the service's resource types.
Multi-selection persists across search / filter / sort / pagination (resets only on catalog close or service switch).
getDocumentByPk returns all fields a document viewer needs (href, extension, ll_bbox_polygon, …) without requiring a deployment-level setApiPreset.
New/changed strings are localized in the 5 default locales (en-US, it-IT, fr-FR, de-DE, es-ES).
Unit tests cover the new API methods and the advanced-settings control.
Other useful information
New catalog API contract
Optional method on the catalog API interface (api/catalog/index.js):
processRecords(records, options) => Promise<{ layers, groups }>
When a service exposes it, the catalog passes the whole selected record set and the module decides the resulting map content (N records to M layers); takes precedence over getLayerFromRecord; always returns a Promise. groups is [] for documents (the field supports services that additionally produce groups).
Description
Extend the MapStore GeoNode catalog to expose documents alongside datasets, and support adding a mixed multi-selection in a single operation where the result is N records to M layers (not the current strict one record to one layer).
Example: selecting 2 datasets + 2 documents produces 3 layers (2 dataset layers + 1 vector layer that collects both documents as point features placed at each document's extent center).
Acceptance criteria
datasetand/ordocumentresource types; at least one type stays selected.documentis enabled, documents appear in the results list alongside datasets, distinguished by adocumenticon.rowViewerhook; when no viewer is registered for that id, the identify popup falls back to the default properties viewer.getDocumentByPkreturns all fields a document viewer needs (href,extension,ll_bbox_polygon, …) without requiring a deployment-levelsetApiPreset.en-US,it-IT,fr-FR,de-DE,es-ES).Other useful information
New catalog API contract
Optional method on the catalog API interface (
api/catalog/index.js):When a service exposes it, the catalog passes the whole selected record set and the module decides the resulting map content (N records to M layers); takes precedence over
getLayerFromRecord; always returns a Promise.groupsis[]for documents (the field supports services that additionally produce groups).