Developers Workshop

Welcome to the GeoNode Training Developers Workshop documentation v2.8.

This workshop will teach how to develop with and for the GeoNode software application. This module will introduce you to the components that GeoNode is built with, the standards that it supports and the services it provides based on those standards, and an overview its architecture.

Prerequisites
GeoNode is a web based GIS tool, and as such, in order to do development on GeoNode itself or to integrate it into your own application, you should be familiar with basic web development concepts as well as with general GIS concepts.
Introduction to GeoNode development
This module will introduce you to the components that GeoNode is built with, the standards that it supports and the services it provides based on those standards, and an overview its architecture.
Pavement.py and Paver
Here’s a list of Pavement tasks maintained by the GeoNode development team.
Django Overview

This section introduces some basic concepts of Django, the Python based web framework on top of which GeoNode has been developed.

Django’s primary goal is to ease the creation of complex, database-driven websites. Django emphasizes reusability and “pluggability” of components, rapid development, and the principle of don’t repeat yourself. Python is used throughout, even for settings, files, and data models.

Django also provides an optional administrative create, read, update and delete interface that is generated dynamically through introspection and configured via admin models.

Development Prerequisites and Core Modules
This module will introduce you to the basic tools and skills required to start actively developing GeoNode.
Install GeoNode for Development

This module shows a step-by-step guide for the setup of a GeoNode Development Environment on an Ubuntu system.

For other Linux distributions the commands are similar, the difference is mainly on the packages names.

Note

For Windows: (Windows Binary Installer)

GeoNode debugging techniques
GeoNode can be difficult to debug as there are several different components involved. This module shows some techniques to debug the different parts of GeoNode.
GeoNode APIs
This module provides an overview of the core modules and libraries used by GeoNode and teach to the user how to use them through some guided examples.
Testing in GeoNode
This section explain how to run the tests on GeoNode.
Introduction to GeoNode Projects

GeoNode enables you to set up a complete site simply by installing the packages and adding your data.

If you want to create your own project based on GeoNode, there are a several options available that enable you to customize the look and feel of your GeoNode site.

You can add additional modules that are necessary for your own use case and to integrate your GeoNode project with other external sites and services.

Make a GeoNode release
Making a GeoNode release.