Welcome to the 2.10.0 release of GeoNetwork-UI!
The main feature of this release is the possibility to create a reuse record, entirely from GeoNetwork-UI, in relation to a source dataset. The full details are explained in the feature proposal.
The contacts in the DataHub now benefit from their own collapsible section, with role displayed as group header, and details of each contact on click, solving this issue.
The spatial extent of datasets is now displayed on the map preview, when available (AI coded).
Keywords are now displayed on hover, prefixed by their thesaurus name, both in the DataHub and in the Metadata-Editor.
The completion score in the Metadata-Editor has been improved to help the user complete valuable fields. When opening the completion panel, clicking on a missing field will scroll to and highlight the exact field in the form that needs completion.
Last but not least, the language and standard of record created by the Metadata-Editor is now configurable, with the language defaulting to the current UI language.
The service and reuse record types are now editable from the Metadata-Editor. This work has been sponsored by Camptocamp and might need further refining to be fully functional.
Our main contributors on this release are DataGrandEst, Rennes Métropole, Métropole Européenne de Lille, Géo2France, CIRAD, Département de l'Isère and Camptocamp.
What's Changed
New features
DataHub
- [Datahub] Add "Contacts for the resource" expandable panel by @ronitjadhav in #1572
- [Datahub]: Show contact details overlay on contact-pill click by @AlexianMasson in #1577
- [Datahub] Align resource contact panel styling with mockup by @ronitjadhav in #1628
- [Datahub] Display keyword thesaurus / hierarchy path on hover by @ronitjadhav in #1631
- [Datahub]: hide contact details when missing by @LHBruneton-C2C in #1637
Metadata-Editor
- [Metadata-Editor] Navigate to field from quality panel by @tkohr in #1571
- [Metadata-Editor] Make default language for new records configurable by @ronitjadhav in #1579
- [Metadata-Editor] Highlight and focus fields by @tkohr in #1586
- [Metadata-Editor] Make new record standard configurable by @ronitjadhav in #1590
- [Metadata-Editor] Highlight the section when a quality-panel field is hidden by @tkohr in #1623
- [Metadata-Editor]: restore hiding legal constraints when empty by @LHBruneton-C2C in #1654
- [Metadata-editor] Display the original thesaurus of keywords on hover by @ronitjadhav in #1638
Reuse notification
- feat: create feature/notify-reuse by @tonio in #1582
- fix: depencies removal lock file by @tonio in #1585
- [Datahub] New component to edit a single online resource by @ronitjadhav in #1584
- New ContactDetailsFormComponent for editing contact as split individual fields by @ronitjadhav in #1595
- Read/Write lineage sources for ISO 19139 and ISO 19115-3 by @ronitjadhav in #1587
- remove duplicate sourceRecords fields in records fixture by @ronitjadhav in #1597
- [Editor]: new facade method to save without publish by @LHBruneton-C2C in #1644
- Editor / allow editing reuse and service records, use expressions to hide certain parts of the form by @jahow in #1619
- Datahub: Add notify reuse form by @tkohr in #1607
- [Datahub] Delete a reuse from its record page by @ronitjadhav in #1629
- Light edition page for reuses by @ronitjadhav in #1630
- [Notify-Reuse]: better contact prefill, support overviews by @LHBruneton-C2C in #1662
- [Notify-Reuse]: contact for resource, double edit button by @LHBruneton-C2C in #1666
- [Notify-Reuse]: remove first and last name by @LHBruneton-C2C in #1678
Fixes and improvements
- Upgrade ogc-client by @tkohr in #1564
- Fix spatial extent display on load by @tonio in #1580
- add current_path parameter by @cazitouni in #1593
- Update node to 24 by @tkohr in #1621
- ci: skip e2e screenshots PR comment for dependabot/fork runs by @tkohr in #1626
- ai: add agent context by @fgravin in #1618
- Attempt at reducing the bundle sizes & removing dependencies by @jahow in #1525
- Replace Material Symbols font icons with ng-icon by @ronitjadhav in #1639
- Restore the full Material CSS by @jahow in #1655
- fix(demo): align storybook and addon-docs versions by @fredj in #1668
- [Webcomponents]: restore extracted material styles by @LHBruneton-C2C in #1680
Editor lib
- Editor lib: Add protocolOptions input to OnlineServiceResourceInputComponent by @tkohr in #1549
- Editor lib: Add DISABLE_DRAFT token to allow disabling the draft system by @tkohr in #1563
- Fix: Stop event propagation in url-input component by @tkohr in #1589
- fix(editor): align ISO topic keys with ISO codelist by @fgravin in #1620
- Read/Write associated records for ISO 19139 and ISO 19115-3 by @ronitjadhav in #1661
DataHub
- [Datahub] open internal link cards in the same tab by @ronitjadhav in #1569
- [Datahub] Remove unused FeatureEditorModule references from Datahub by @ronitjadhav in #1575
- [Datahub] Expand sort dropdown to full width on mobile by @ronitjadhav in #1583
- [Datahub] Avoid detecting DOI links as TIFF downloads by @ronitjadhav in #1608
- Upgrade ogc-client for faster OGC API discovery by @ronitjadhav in #1617
- feat(record): display metadata spatial extent on the data preview map by @fgravin in #1614
- [Datahub]: links format translate by @LHBruneton-C2C in #1641
Metadata-Editor
- [Metadata-Editor] Allow deleting last contact and show empty-state warning immediately by @ronitjadhav in #1570
- [Metadata-Editor] Duplicate metadata records into the user's group by @ronitjadhav in #1606
Webcomponents
Security updates
- chore(deps): bump express, @nestjs/core, @nestjs/platform-express, @nestjs/swagger, @nestjs/typeorm, @nestjs/testing and @openapitools/openapi-generator-cli by @dependabot[bot] in #1446
- chore(deps): bump tar, @angular/cli and @storybook/angular by @dependabot[bot] in #1460
- Revert "chore(deps): bump tar, @angular/cli and @storybook/angular" by @LHBruneton-C2C in #1559
- chore(deps): bump webpack and @angular-devkit/build-angular by @dependabot[bot] in #1481
- chore(deps): bump multer, @nestjs/core, @nestjs/platform-express, @nestjs/swagger, @nestjs/typeorm, @nestjs/testing and @openapitools/openapi-generator-cli by @dependabot[bot] in #1504
- chore(deps): bump tar from 7.5.10 to 7.5.11 by @dependabot[bot] in #1507
- chore(deps): bump @angular/compiler from 20.3.15 to 20.3.18 by @dependabot[bot] in #1515
- chore(deps): bump flatted from 3.3.2 to 3.4.2 by @dependabot[bot] in #1532
- chore(deps): bump handlebars from 4.7.8 to 4.7.9 by @dependabot[bot] in #1533
- chore(deps): bump node-forge from 1.3.2 to 1.4.0 by @dependabot[bot] in #1534
- chore(deps-dev): bump brace-expansion from 1.1.12 to 1.1.14 by @dependabot[bot] in #1537
- chore(deps-dev): bump basic-ftp from 5.2.0 to 5.3.1 by @dependabot[bot] in #1548
- chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 by @dependabot[bot] in #1553
- chore(deps): bump @xmldom/xmldom from 0.8.10 to 0.8.13 by @dependabot[bot] in #1555
- chore(deps-dev): bump postcss from 8.5.6 to 8.5.10 by @dependabot[bot] in #1560
- chore(deps): bump ip-address, express-rate-limit and socks by @dependabot[bot] in #1565
- chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.7 by @dependabot[bot] in #1568
- chore(deps): bump fast-uri from 3.0.3 to 3.1.2 by @dependabot[bot] in #1567
- chore(deps): bump axios from 1.15.2 to 1.18.1 by @dependabot[bot] in #1591
- chore(deps): bump form-data from 4.0.5 to 4.0.6 by @dependabot[bot] in #1603
- chore(deps): bump tmp from 0.2.3 to 0.2.7 by @dependabot[bot] in #1576
- chore(deps): bump hono from 4.12.5 to 4.12.27 by @dependabot[bot] in #1609
- chore(deps): bump typeorm from 0.3.27 to 0.3.30 by @dependabot[bot] in #1611
- chore(deps): bump tar from 7.5.11 to 7.5.16 by @dependabot[bot] in #1604
- chore(deps): bump launch-editor from 2.9.1 to 2.14.1 by @dependabot[bot] in #1605
- chore(deps): bump tmp from 0.2.6 to 0.2.7 by @dependabot[bot] in #1613
- chore(deps): bump @sigstore/core from 3.1.0 to 3.2.1 by @dependabot[bot] in #1622
- chore(deps): bump sigstore from 4.1.0 to 4.1.1 by @dependabot[bot] in #1624
- chore(deps): bump webpack-dev-server, @angular-devkit/build-angular and @rspack/dev-server by @dependabot[bot] in #1612
- chore(deps): bump websocket-driver from 0.7.4 to 0.7.5 by @dependabot[bot] in #1636
- chore(deps): bump axios from 1.17.0 to 1.18.1 by @dependabot[bot] in #1643
- chore(deps): bump hono from 4.12.26 to 4.12.31 by @dependabot[bot] in #1650
- chore(deps): bump immutable from 5.1.5 to 5.1.9 by @dependabot[bot] in #1651
- chore(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 by @dependabot[bot] in #1652
- chore(deps): bump tar from 7.5.16 to 7.5.22 by @dependabot[bot] in #1656
- chore(deps-dev): bump postcss from 8.5.12 to 8.5.18 by @dependabot[bot] in #1657
- chore(deps-dev): bump ws from 7.5.11 to 7.5.13 by @dependabot[bot] in #1660
Breaking changes
-
ISO topics (AI coded)
Some ISO topics were previously wrongly encoded in records.
All "editor.record.form.topics.inspire" translation keys were changed to "editor.record.form.topics.iso".
See #1620 for further details. -
save without publish
The editor facade previoussaveRecordmethod was both saving and publishing. Now thesaveRecordmethod will only save, and thesaveAndPublishRecordmethod will save and publish as before.
See #1644 for further details.
New Contributors
- @cazitouni made their first contribution in #1593
- @fredj made their first contribution in #1668
Full Changelog: v2.9.0...v2.10.0