GeoNetwork 5
Status Report
GeoNetwork 5 Team
July 2025
AUTHOR
DATE
Welcome
David Blasby�GeoNetwork Maintainer��Antonio Cerciello�GeoNetwork Committer��Jose Garcia�GeoNetwork Maintainer��Francois Prunayre �GeoNetwork Maintainer�
�
Jody Garnett�Product Owner�jody.garnett@geocat.net�@jodygarnett@fosstodon.org
�GeoCat�Let’s map the world, together
GeoNetwork at a Glance
Core Protocols:�CSW - XML Catalog�OGCAPI Records - REST / JSON catalog
Records formats:�ISO-19115-3 - geo-metadata info / services�ISO-19139 - geo-metadata xml encoding�.. and many more!��Harvest records from other catalogues, or generate from inspect of web services. Publish directly, or dynamically convert to interchange formats such as DCAT-AP.
Java web application to share, manage and edit metadata records. Works with both records and geospatial records.
The "core-geonetwork" app manages records using a Database and Elasticsearch. Provides full record lifecycle with editing, review, and publication.
Choice of the default AngularJS client,�or a "DataHub" geonetwork-ui Angular client.
Access using industry standard web services alongside a REST API for use by clients and scripts.
GEOCAT FIND
Discover geospatial data with ease
Work with the most used geospatial data catalog, backed by our development and support.
GeoNetwork 5 Challenge
Why GeoNetwork 5:
What Technologies need to be updated?
Spring Security
5 → 6
Spring Framework�5 → 6
Tomcat 9 → 11
Java 11�→�Java 17
Java EE
→
Jakarta EE
Jetty 9 → 12
Saxon 9.1.0-8b*�→�Saxon-HE 12.5
* 2008 release Saxon no longer supported,we maintain a patched version
iso19139
GeoNetwork 5 Proposals
Proposal A: Update Application
Update and migrate current application from Spring 5 to Spring 6.
Proposal B: New Application
Create a new app top of current core-geonetwork 4 application.
clean up, improve and simplify the current codebase
Bold GeoNetwork 5 "Spring Boot" Approach
Spring Framework 5 → Spring Boot 6
What technology updates are out of scope?
User Interface update is a separate activity:
GeoNetwork 5 provides consistent API:
AngularJS
→
Angular
Standalone App
Backends
App
geonetwork
gateway�indexing
searching
ogcapi-records
…
Java 21 / Spring Boot
Client
search
Angular
edit
Angular
gn4-ui
AngularJS
datahub
Angular
Index
Elastserach
Database
PostgreSQL
GeoNetwork 4
Java 11 / Spring Framework 5.3 / Tomcat
proxy
Development
Standalone App
Backends
App
geonetwork
�indexing
searching
ogcapi-records
…
Java 21 / Spring Boot
Client
search
Angular
edit
Angular
gn4-ui
AngularJS
datahub
Angular
Index
Elastserach
Database
PostgreSQL
GeoNetwork 5
DCAT
DCAT AP NL Sprint
DCAT AP NL Sprint - DCAT Output!
DCAT Output
DCAT AP NL Sprint : HTML DCAT-AP NL View
DCAT AP NL Sprint
DCAT AP NL Sprint
OGCAPI Records
Updates to GeoNetwork OGCAPI-Records
Queryables
Both server and client.
Fully configurable,�- Anything in Elasticsearch�- Including complex queries
Improved GeoJSON
Follows OGC API - Records specification
Specialized Output Formats
Single-Record Formats (from GN4)
Multiple-Record Formats
OGCAPI-Records: Part 2 (Facets)
Provides summarized information about a search query.
For example, how many records are dataset records and how many are service records?
OGC’s OpenAPI spec for OGC API Records
OpenAPI .yaml
Modified OpenAPI for
“good” code generation
OpenAPI .yaml
Java model and interface code
.java
"clean up" integer or string → string
autogenerate
GeoNetwork 5
Service Implementations
Standalone App
Backend
Index
Elastserach
Database
PostgreSQL
App
ogcapi-records
ogcapi-records
—-
index-client�domain�formatting
schema-model�schemas
Client
stac-browser
ogcapi-records
Angular
OGCAPI
GeoNetwork 5 Milestones
GeoNetwork 5 Roadmap
Read-Only�Catalog Services
Configuration�and Security
Automated Catalog Population
Public Search
Record Management
Record�Editor
iso19139
iso19115-3
ogcapi
records
ogc csw�
rest�security
dcat
dcat-ap-nl
rest�harvester
GN4 client�search
security�integration
ogc csw transaction
iso19139�nl.geografie
iso19139�nl.services
rest�search
harvesters
geonetwork-ui�Angular client
rest�records
GN4 client�editor console
GN4 client�metadata editor
rest�edit
AUTHOR
DATE
Milestone 1 : Read-Only Catalog Services
Expose a pre-populated metadata catalog services:� • OGC Records API (Part 1)� • CSW endpoints� • Supplemental read-only support APIs
Developed items:
AUTHOR
DATE
Milestone 2 : Configuration & Security
Implement Settings and User Management APIs to control access, roles, and system parameters.
Developed items:
AUTHOR
DATE
Milestone 3 : Automated Catalog Population
The first way to populate a GeoNetwork 5 catalogue without the need of GeoNetwork 4 “sidecar”.
Allows for independent deploying of GeoNetwork 5.
Developed items:
AUTHOR
DATE
Milestone 4 : Public Search
Refine the migration of services required for clients Test AngularJS GN4-UI and Angular GeoNetwork UI.��Provides full public facing of GeoNetwork 5.
Developed items:
AUTHOR
DATE
Milestone 4 : Public Search
Refine the migration of services required for clients Test AngularJS GN4-UI and Angular GeoNetwork UI.��Provides full public facing of GeoNetwork 5.
Developed items:
AUTHOR
DATE
GeoNetwork 5
Public Search
Standalone App
Backends
App
geonetwork
searching
datahub�—-
index-client�domain
schema-model�schemas
Java 21 / Spring Boot
Client
search
Angular
gn4-ui
AngularJS
datahub
Angular
Index
Elastserach
Database
PostgreSQL
Milestone 5 : Record Management
Provide REST API for managing record publication, review and permissions.
Batch editing and validation may also be scheduled here or as part of the next milestone.
Developed items:
AUTHOR
DATE
Milestone 6 : Record Editing
Provide REST API for managing record editing and validation.
A large number of small queries used to support editing process.
Developed items:
Developed items:
AUTHOR
DATE
GeoNetwork 5 Crowdfunding
GeoNetwork 5 Crowdfunding
TLDR: We don't want to wait!
Sharing OGCAPI-Records Milestone with supporters later this year.
GeoNetwork 5 is facing the exact same challenge as GeoServer 3, but is taking a staged approach to crowdfunding.
GeoServer 3 did an all or nothing crowdfunding suitable for�massive updates across several codebases.
GeoNework 5 has the flexibility to provide a staged delivery of useful milestones supports can deploy in production.
GeoNetwork 5 Crowdfunding: Milestone Targets
Milestone 3�Catalog Population
Milestone 1�Read-Only�Catalog Services
Milestone 2�Configuration�and Security
Milestone 4�Public Search
Milestone 5�Record Management
Milestone 6�Record�Editor
iso19139
iso19115-3
ogcapi
records
ogc csw�
rest�security
dcat
dcat-ap-nl
rest�harvester
search
security
ogc csw transaction
nl.geografie
rest�search
harvesters
geonetwork-ui
rest�records
editor console
metadata editor
rest�edit
nl.services
€200k/ €50k
€122k/ €62k
€208k/€100k
€55k
€50k
€174k
Thank you!
Made with ♥ by GeoCat
GeoNetwork
Front Services
gateway
Infrastructure
monitoring
Discovery
Infrastructure
Index
Elastserach
Database
PostgreSQL
Config
geonetwork
index
search
…
ogcapi-records
[0..N]
ogcapi-records
Event Bus
Client
datahub
Angular
stac-brower
ogcapi-records
Angular
edit
Angular