Upgrade to Pro — share decks privately, control downloads, hide ads and more …

State of GeoNode

State of GeoNode

GeoNode is a Web Spatial Content Management System based entirely on Open Source tools whose purpose is to promote the sharing of data and their management in a simple environment where even non-expert users of GIS technologies can view, edit, manage, and share spatial data, maps, prints and documents attached.

GeoNode is an open source project initiated in 2010 by the World Bank Global Facility for Disaster Reduction and Recovery group (GFDRR), but from 2011 is entirely run by the developer community that the project has been able to attract. It claims some large organizations among its contributors such as the United Nations, the World Bank and the European Commission as well as many NGOs and private companies. Supported by a vast, diverse and global open source community, GeoNode is an official project of the Open Source Geospatial Foundation (OSGeo).

Using an open source stack based on mature and robust frameworks and software like Django, MapStore, PostGIS, GeoServer and pycsw, an organization can build on top of GeoNode its own SDI or geospatial portal. GeoNode provides a large number of user-friendly capabilities, broad interoperability using Open Geospatial Consortium (OGC) standards, and a powerful authentication/authorization mechanism.

The purpose of this presentation is to introduce the attendees to those which are the GeoNode current capabilities and to some practical use cases of particular interest in order to also highlight the possibility of customization and integration. Finally, we will provide a summary of new features added to GeoNode in the last release up to the latest releases of GeoNode together with a glimpse of what we have planned for next year and beyond, straight from the core developers.

Avatar for Simone Giannecchini

Simone Giannecchini PRO

July 22, 2025
Tweet

More Decks by Simone Giannecchini

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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.
  4. 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
  5. 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
  6. 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
  7. 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.
  8. 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
  9. 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
  10. Demo instances • You can play with the online demo

    instances • master https://development.demo.geonode.org • 4.4.x https://stable.demo.geonode.org
  11. 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.
  12. 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.
  13. 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
  14. When? • Release Candidate September 2025 • Final Release Q4

    2025 Your all invited to partecipate to the testing! https://development.demo.geonode.org/
  15. 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
  16. 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
  17. 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
  18. 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.
  19. 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
  20. 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
  21. Software Upgrades • Geoserver 2.27 • PyCSW 3 • Django

    5 • MapStore 2025.02.00 • Support for Python 3.12
  22. 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.