Slide 1

Slide 1 text

Mattia Giupponi GeoSolutions State of GeoNode FOSS4G 2025 - Mostar

Slide 2

Slide 2 text

GeoSolutions Enterprise Support Services Deployment Subscription Professional Training Customized Solutions GeoNode • Offices in Italy & US, Global Clients/Team • 40+ collaborators, 30+ Engineers • Our products • Our Offer

Slide 3

Slide 3 text

Affiliations We strongly support Open Source, it IS in our core We actively participate in OGC working groups and get funded to advance new open standards We support standards critical to GEOINT

Slide 4

Slide 4 text

What is GeoNode

Slide 5

Slide 5 text

GeoNode at a Glance GeoNode is a platform for the management and dissemination of geospatial data. It brings together mature open-source software projects under an easy to use interface. With GeoNode, non-specialized users can share data and create interactive maps.

Slide 6

Slide 6 text

Capabilities • Handles geospatial datasets, documents and media • Combines layers and media in more complex aggregates, such as thematic maps, dashboards and geostories • Manage granular security, permissions and sharing for users and groups • Users can edit layer metadata (when the proper authorizations are granted), which are then exposed by OGC CSW and a REST API, to provide search/discovery capability • Users with can edit layer data (for vector layer) and styles (when the proper authorizations are granted) • GeoNode exposes a number of standard protocols for each layer: OGC (WMS, WMS-C, WFS, WFS-T, WCS, CSW) and mass market search standards (OAI-PMH, SRU, OpenSearch) • Full control through a RESTful API

Slide 7

Slide 7 text

Capabilities - adding data DATASETS DOCUMENTS LOCAL FILES Upload from local filesystem REMOTE SERVICES OGC WMS GeoNode ArcGIS Server Custom harvesters REMOTE FILES (wip) Links (URLs) to remote files

Slide 8

Slide 8 text

Capabilities - combining data DATASETS DOCUMENTS MAPS GEOSTORIES DASHBOARDS GEOAPPS

Slide 9

Slide 9 text

Capabilities - publishing data MAPS GEOSTORIES DASHBOARDS GEOAPPS WMS WMTS WFS CSW embedded viewers DATASETS DOCUMENTS

Slide 10

Slide 10 text

GeoNode - architecture • The GeoNode core is a web application based on Django • The spatial data is handled by a controlled GeoServer instance • MapStore is used as the map client frontend • GeoNode info and data info are stored in two different PostgreSQL+PostGIS databases. • Other ancillary services (e.g. RabbitMQ) are used for process synchronization • Further services (nginx, letsencrypt) are used as accessing services

Slide 11

Slide 11 text

GeoNode - components

Slide 12

Slide 12 text

Customization GeoNode cannot address all use cases but we want to avoid forks. Custom GeoNode Applications are created via GeoNode projects. A GeoNode Project is generated via a template that provides: • Layout and standard files for a Django project • A preconfigured Django app • Vanilla GeoNode as a default requirement • Ready to use Docker Compose configuration The customized app can override and extend most of the GeoNode behaviours and UI.

Slide 13

Slide 13 text

The Community • GeoNode code is made of several components, hosted on GitHub under the GeoNode organization • The GeoNode Project Steering Committee (PSC) governs the GeoNode project. • Users and developers mailing list, and a Gitter chat are the main communication channels for the community. https://github.com/GeoNode

Slide 14

Slide 14 text

Releases History • May 2025: GeoNode 4.4.3 • Oct 2024: GeoNode 4.4.0 • May 2024: GeoNode 4.3.0 • Jan 2024: GeoNode 4.2.0 • June 2023: GeoNode 4.1.0 • Aug 2022: GeoNode 4.0.0 … • May 2020: GeoNode 3.0 (Django 2.2.13, GeoServer 2.16.2) / GeoNode 2.10.4 (last 2.10 release) • April 2014: GeoNode 2.0 (Django 1.5.5, GeoServer 2.5, pycsw 1.8.6, django-polymorphic, bootstrap, Ubuntu 12.04 support) • August 2010: GeoNode 1.0-beta

Slide 15

Slide 15 text

Demo instances • You can play with the online demo instances • master https://development.demo.geonode.org • 4.4.x https://stable.demo.geonode.org

Slide 16

Slide 16 text

GeoNode 4.4.0

Slide 17

Slide 17 text

3D Tiles

Slide 18

Slide 18 text

3D Tiles • 3D tiles datasets • This release extends the work started with GeoNode 4.3.0, where 3D visualization was introduced. Now 3D Tiles resources are first-citizen resources in GeoNode. • 3D Tiles assets can be uplaoded from the Dataset upload area as a .zip file containing an index tileset. This file will be parsed by the GeoNode backend to validate and extract metadata and spatial information about the 3D Tiles asset. • 3D Tiles resources can also be created from remote URLs. The Dataset upload panel gives the option to insert the URL to the index file of an online 3D Tiles resource. • A new filter has been added for filtering 3D Tiles resources.

Slide 19

Slide 19 text

Assets • Asset files • Assets have been introduced to extend and improve the relationship between resources and any file connected to them They introduce a model that makes the management of fiels explicit and decoupled from resources. For the moment this isn't visible to end users, but in the future there are plans to implement an asset manager area, where files can be uploaded and managed independently from catalog resources. • Assets were also implemented to pave the path to “attachments”. They will allow users to directly upload files linked to a resources, without having to publish document resources.

Slide 20

Slide 20 text

Software upgrades • GeoNode 4.4.3 ships with • Geoserver 2.24.4 (including CVE backports from recent releases) • MapStore 2024.02.02 • PostgreSQL 15 / PostGIS 3.3

Slide 21

Slide 21 text

The future: GeoNode 5

Slide 22

Slide 22 text

When? • Release Candidate September 2025 • Final Release Q4 2025 Your all invited to partecipate to the testing! https://development.demo.geonode.org/

Slide 23

Slide 23 text

New Metadata editor and Backend • GNIP 97: New metadata editor • Based on an extended JSON Schema syntax, which drives the model, the validation and the editor • New dedicated metadata REST API endpoint, with OpenAPI support • Specific and Custom schemas (e.g. INSPIRE, EML, RNDT, etc.) can be implemented by describing their JSON schema, which supports complex and nested models. • Custom validators and business logic can be implemented in code with Python modules

Slide 24

Slide 24 text

New Metadata editor and Backend

Slide 25

Slide 25 text

New Metadata editor and Backend

Slide 26

Slide 26 text

Dataset content updates • Replacement and Upsert of content • The option to replace a dataset, that was removed in GeoNode 4, has been restored and extended. • Datasets can be fully replaced with new data or updated selectively (upsert): existing data can be updated based on a primary key, and new data will be appended. • Validation for datasets (schema constraints) is also under development. This will allow to control updates to respect optional fields contraints

Slide 27

Slide 27 text

Dataset updates

Slide 28

Slide 28 text

Virtual permissions • Permissions registry with custom handlers • The Permissions backend has been extended and improved to support dynamic rules • ACL can be extended by implementing permissions modules that can be plugged into the permissions engine • Moderation and access restrictions can be customized beyond the available settings

Slide 29

Slide 29 text

Remote Services & Harvesters • Authenticated Remote services • This has been long requested. Finally, Remote Services can be configured with credentials. • Authentication will be stored securely inside GeoNode and won’t be exposed to users of remote resources • Harvesters have been improved to support huge remote catalogs. Several issues have been handled to enhance the robustness and reliability of harvesting processes • A new endpoint is under development that will allow the selective harvesting of single resources on request.

Slide 30

Slide 30 text

New layout and templating • Extended customizations of the GUI • The GUI and the layout engine have been reviewed and extended to offer in depth customization • The template engine offers new options to: • customize the layout of the single catalog pages, by resource type • mix custom content inside catalog pages • embed catalog views inside custom pages

Slide 31

Slide 31 text

New layout and templating • Reorganization of information and tools • The resource panel has been redesigned to host most of the information and configuration options for a resource • A new “Management” tab includes configurations that were previously spread on several pages

Slide 32

Slide 32 text

Software Upgrades • Geoserver 2.27 • PyCSW 3 • Django 5 • MapStore 2025.02.00 • Support for Python 3.12

Slide 33

Slide 33 text

Upgrade • Are you using an older version? Upgrade! • Security fixes and installation support on new OSs being added to supported versions only! • Moving data from old versions will be much harder if not impossible • Web interfaces and GIS clients will be much different. No one will be able to backport fixes or improvements to the old ones. • Please upgrade your GeoNode installations!!! • The upgrade from GeoNode 4.3.0 is straightforward, since it doesn’t require any change to configurations and environmental variables.

Slide 34

Slide 34 text