Welcome to the 2.9.0 release of GeoNetwork-UI!
This release takes DataHub deployments to the next level by offering the entire application as a webcomponent, allowing for seamless integration into any website.
We’ve strengthened DataHub’s ecosystem integration: you can now launch datasets in MapStore with transparency preserved or jump directly into the Metadata-Editor for quick updates.
We’ve also updated the UI to ensure all thumbnails now maintain a consistent square aspect ratio.
The search experience has also been enhanced, now defaulting to relevancy-based sorting whenever a user enters a query.
Our main contributors on this release are Géo2France, Métropole Européenne de Lille, INRAE, Département de l'Isère and DataGrandEst.
What's Changed
New features
Datahub
- [Datahub] Add WMS style selector in map preview by @ronitjadhav in #1497
- [Datahub]: open editor from template url by @LHBruneton-C2C in #1529
Webcomponent
- Introduce a Datahub webcomponent by @jahow in #1511
- Fix to the API path used in the
gn-datahubweb component by @jahow in #1539 - [Webcomponents] Correctly initialize UI language used in
gn-datahubby @jahow in #1542
Fixes and improvements
- [Package]: export records repository interface by @LHBruneton-C2C in #1455
- Sort by relevancy on user query input by @LHBruneton-C2C in #1495
- Better limits on OGC API Features URLs - get dataset by @LHBruneton-C2C in #1510
- Update Thumbnail Sizes and Positions by @ronitjadhav in #1521
- Don't reject on first error when getting feature types by @LHBruneton-C2C in #1527
- Better limits on OGC API Features URLs - download links by @LHBruneton-C2C in #1528
- Export common domain model - GPF API DL BREAKING CHANGE by @LHBruneton-C2C in #1550
Datahub
- [Datahub]: add presentation form to autocomplete payload by @LHBruneton-C2C in #1454
- [Datahub]: Search only once in fuzzy autocomplete by @LHBruneton-C2C in #1461
- [Datahub]: reuse and website icon alignment by @LHBruneton-C2C in #1470
- [DataHub]: Support search by reuse without cl_presentationForm by @LHBruneton-C2C in #1465
- [Datahub]: Show STAC tab only if items link by @LHBruneton-C2C in #1472
- [Datahub]: get first json format for ogc features download by @LHBruneton-C2C in #1474
- [Datahub]: Reformat html to keep only one space in header date by @LHBruneton-C2C in #1482
- translations - CORS error message made clearer by @fvanderbiest in #1453
- [Datahub]: use contactsForResource on reuse too by @LHBruneton-C2C in #1493
- [Datahub] Add ability to disable default search presets by @ronitjadhav in #1509
- [Datahub] Keep Y-axis dropdown visible but disabled when aggregation is "count" by @ronitjadhav in #1514
- [Datahub] WMS transparency support via ${mime_type} in external viewer URL template and format support in internal map viewer by @ronitjadhav in #1505
- [Datahub] Disable aggregation field when no numeric columns and fix Y axis alignment by @ronitjadhav in #1538
- [Datahub] Preserve direct download files with same name but different URLs by @ronitjadhav in #1535
Metadata-Editor
- [Editor]: set configuration from facade by @LHBruneton-C2C in #1483
- [Metadata-Editor]: title update on change by @LHBruneton-C2C in #1496
- Remove static favicon to let config default.toml set it by @jeanmi151 in #1513
Webcomponents
- Filter results in search and results wc by @maxcollombin in #1458
- Fix search and results wc records catalog redirection by @maxcollombin in #1433
- [Webcomponent]: correctly build link from npm dev version by @LHBruneton-C2C in #1494
Documentation
- Documentation: update custom-app.md by @LHBruneton-C2C in #1468
- Documentation: ElasticSearch by @LHBruneton-C2C in #1469
- docs: classification system by @LHBruneton-C2C in #1490
- Use the Doc website to showcase Web Components & Standalone Search by @jahow in #1499
- Docs: fix config file missing by @jahow in #1522
- [Documentation]: search preset updates by @LHBruneton-C2C in #1526
Security updates
- chore(deps): bump immutable from 5.1.4 to 5.1.5 by @dependabot[bot] in #1500
- chore(deps): bump svgo from 3.3.2 to 3.3.3 by @dependabot[bot] in #1501
- chore(deps): bump tar and @angular/cli by @dependabot[bot] in #1502
- chore(deps): bump storybook from 9.1.17 to 9.1.19 by @dependabot[bot] in #1492
- chore(deps-dev): bump basic-ftp from 5.0.5 to 5.2.0 by @dependabot[bot] in #1491
- chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 by @dependabot[bot] in #1473
- chore: remove axios dependency by @jahow in #1536
Breaking change
The previously exported TermBucket interface from libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts has been renamed to GpfApiDlTermBucket to be more specific and not overlap with the newly exported TermBucket interface from libs/common/domain/src/lib/model/search/aggregation.model.ts.
New configuration keys
# Optional; URL template allowing opening datasets in an editor; if set, applications such as the Datahub will offer a button in the header to open the currently-viewed dataset in an editor.
# The template must include the following placeholders, which allow applications to inject the correct values when generating the final URL:
# ${record_id}: identifier of the record
# Example for an integration with the Metadata-Editor:
# edit_url_template = "/metadata-editor/edit/${record_id}"
# Optional; if true, the default pre-configured searches ("The latest" and "The most popular")
# will not be shown under the main search bar. Defaults to false.
# do_not_use_default_search_preset = false
New ${mime_type} placeholder in external_viewer_url_template
# The template must include the following placeholders, which allow the datahub to inject the correct values when adding a layer to a viewer:
# ${service_url}: URL of the OWS or geojson file
# ${service_type}: Type of the OWS or geojson file; currently supported WMS, WFS, GEOJSON
# ${layer_name}: Name of the layer
# ${mime_type}: Preferred image format for WMS layers; resolves to image/png for WMS layers backed by vector data (WFS), image/jpeg otherwise; empty for non-WMS layers
# Be careful to use englobing single quotes, if your template syntax includes JSON (with double quotes)
# Examples:
# mapfishapp template:
# external_viewer_url_template = 'https://dev.geo2france.fr/mapfishapp/?owsurl=${service_url}&layername=${layer_name}&owstype=${service_type}Layer'
# mapstore template
# external_viewer_url_template = 'https://dev.geo2france.fr/mapstore/#/?actions=[{"type":"CATALOG:ADD_LAYERS_FROM_CATALOGS","layers":["${layer_name}"],"sources":[{"url":"${service_url}","type":"${service_type}"}],"options":[{"format":"${mime_type}"}]}]'
New Contributors
- @jeanmi151 made their first contribution in #1513
Full Changelog: v2.8.0...v2.9.0