Developers Workshop

Welcome to the GeoNode Training Developers Workshop documentation vlatest.

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.
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 Prerequsites 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 Develeopment Environent on an Ubuntu system.

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

GeoNode debugging techniques
GeoNode can be difficult to debug as there are several different components involved. This module shows some tecniques 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.
Contributing to GeoNode
Basic concepts about GitHub OpenSource Projects and best practices.