Skip to content

Fix #11930 Catalog Refactor and integration of Geonode api in the Catalog.#12107

Open
anup39 wants to merge 44 commits intogeosolutions-it:masterfrom
anup39:fix_catalog_refactor_genode_int_11930
Open

Fix #11930 Catalog Refactor and integration of Geonode api in the Catalog.#12107
anup39 wants to merge 44 commits intogeosolutions-it:masterfrom
anup39:fix_catalog_refactor_genode_int_11930

Conversation

@anup39
Copy link
Copy Markdown
Member

@anup39 anup39 commented Mar 18, 2026

Description

This PR adds followings:

  1. Refactored Catalog core in Mapstore
  2. Integration of Geonode API in Catalog

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)

Issue

What is the current behavior?

#11930

What is the new behavior?

Now Catalog plugin has been refactored with followings changes :

  1. Added Catalog plugin to support both panel and dialog view
  2. Refactored UI elements so that catalog can be reusable with new styles
  3. For context, dashboard and geostory also same catalog component can be used instead of using CompactCatalog
  4. Added necessary utils and api services to support integration of Geonode api in the catalog
  5. Additional support for resource card to be used as layer card .
  6. Multiple selection of layers to be added in the map.
  7. New pagination component introduced for catalog.
  8. Support of Filter and Orderby in the catalog.

Some of the screenshots :

Screenshot 2026-03-18 at 09 04 38 Screenshot 2026-03-18 at 09 04 52 Screenshot 2026-03-18 at 09 05 42 Screenshot 2026-03-18 at 09 06 04 Screenshot 2026-03-18 at 09 06 04 Screenshot 2026-03-18 at 09 06 28 Screenshot 2026-03-18 at 09 06 38

Breaking change

Does this PR introduce a breaking change? (check one with "x", remove the other)

  • No

Other useful information

@anup39 anup39 added this to the 2026.02.00 milestone Mar 18, 2026
@anup39 anup39 added the Epic label Mar 18, 2026
@cla-bot cla-bot bot added the CLA Ready label Mar 18, 2026
@anup39 anup39 linked an issue Mar 18, 2026 that may be closed by this pull request
5 tasks
@anup39 anup39 requested a review from allyoucanmap March 18, 2026 04:13
@allyoucanmap allyoucanmap requested review from dsuren1 and removed request for allyoucanmap April 10, 2026 08:10
@allyoucanmap allyoucanmap assigned dsuren1 and unassigned allyoucanmap Apr 10, 2026
Copy link
Copy Markdown
Contributor

@dsuren1 dsuren1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anup39
Could you kindly address these comments

  • Without a border shadow, it becomes difficult to distinguish the elements
    Grid
    Image
    Panel
    Image
  • When a GFI is triggered while the catalog panel is open, the GFI panel should take precedence
    Image
  • There seems to be a noticeable performance impact, with the component rendering indefinitely. This may need some investigation. Repro: keep the catalog open, add a layer, and perform another operation (e.g., GFI). (assigned to @dsuren1 )
  • Map layout panel dimension is not updated. Open catalog -> grid view -> close catalog panel -> Now open catalog panel from sidebar
    Image
  • The map zoom to extent of the latest layer when more than one is selected. Should we instead zoom to collective extent of the layers added? @allyoucanmap
  • When Sort By field value is added and then removed, if the value added is still persisted. In case of invalid value, the error restricts the service from being saved. (Sporadic)
    Image
  • Filtered result is incorrect (assigned to @dsuren1 ) (Not an issue, caused by not having request configuration rules resulting in filtered result from geoserver)
    Image
  • Select all -> Add to Map -> Impacts performance (Need to verify if it's due to point 3 mentioned above)
  • We need to disable Add To Map when adding the layer map process in progress
    Image

Updated (831f6d5)

  1. Facet param updated with resource type dataset
  2. Catalog plugin supports configuring fields for the filterFormFields via localConfig
  3. Context now supports new Catalog plugin (config updated) and overriding of filter form fields. Included backward compatibility
  4. api-preset configuration via exposed function from GeoNodeUtils and fallback mechanism using include & exclude params
  5. Default preset updated to support keyword and category for tag support/display on Resource card
  6. The Dashboard Editor uses serviceFilters to override Catalog staticTabs and filterFormFields, in line with other Catalog plugin props. Would it make sense to revisit the prop name for better clarity? @allyoucanmap
  7. MapEditor configuration already support plugin override and it supports Catalog configs too (Verified). So both Dashboard and Geostory using MapEditor can support overriding

Note

Unit tests needs updating

@@ -0,0 +1,266 @@

.ms-catalog-wrapper {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we follow the existing styling pattern instead of adding new CSS? Perhaps this can be moved under the theme less

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dsuren1 this is fine like this, @anup39 please don't move this

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anup39 just convert this from .css to .less

const ButtonWithTooltip = tooltip(Button);


const Catalog = ({
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kindly include an inline jsdoc comment explaining the plugin configurations support

import { defaultProps } from 'recompose';

import CompactCatalog from '../../components/catalog/CompactCatalog';
// import CompactCatalog from '../../components/catalog/CompactCatalog';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// import CompactCatalog from '../../components/catalog/CompactCatalog';

import API from '../../../../api/catalog';
import { buildServiceUrl } from '../../../../utils/CatalogUtils';

const catalogRequestsWorkflow = (Component) => {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const catalogRequestsWorkflow = (Component) => {
const withCatalogRequests = (Component) => {

Would it make sense to rename the HOC to follow the with convention?

@@ -0,0 +1,267 @@
/*
* Copyright 2025, GeoSolutions Sas.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kindly ensure all newly added file to have the correct copyright year

Suggested change
* Copyright 2025, GeoSolutions Sas.
* Copyright 2026, GeoSolutions Sas.

dsuren1 added 2 commits April 16, 2026 13:43
…log_refactor_genode_int_11930

* commit 'de55770d13eb703b5b6cfe31ae55f38fea0b9fcf':
  Fix geosolutions-it#12146: ArcGIS support for FeatureService (geosolutions-it#12235)
  geosolutions-it#12094: Fix dropdown menu overflow when adding links to text widget in TextEditor (geosolutions-it#12260)
  geosolutions-it#12207: Fix - ScaleBox plugin - Custom scales not reported on map load (geosolutions-it#12212)
  fix a few danish translations (geosolutions-it#12230)
  geosolutions-it#12223: fix rule manager field filtering with checkbox is not working properly (geosolutions-it#12224)
  geosolutions-it#12218: fix pagination in rules manager layers autocomplete does not work (geosolutions-it#12219)
  Fix geosolutions-it#12213 - Fixed startup script for java new versions (geosolutions-it#12214)
  Update Changelog for version 2025.02.03 (geosolutions-it#12211)
  Fix pre-release gh action workflow for CLA (geosolutions-it#12205)
  Update Changelog for version 2026.01.00 (geosolutions-it#12202)
  fix geosolutions-it#12162 flatgeobuf params by getRequestConfigurationByUrl (geosolutions-it#12200)
  Fix geosolutions-it#12162 COG and FlatGeobuf layers support params for protected storage (geosolutions-it#12179)
  Fix doc of MapImport plugin (geosolutions-it#12197)
  Fix geosolutions-it#12044: fix wfs layer hidden in 3D + scale arrow not rendering (geosolutions-it#12155)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MetadataExplorer refactor and GeoNode API service integration

4 participants