Skip to content
Boney Bun edited this page May 25, 2017 · 6 revisions

NOTES FOR NEWBIES

Some of the docs here can be found elsewhere. Put here instead only to make it easier to find.

Geonode USERS TYPE:

Users:

  • Unregistered users ( anonymous)
  • Registered users superuser staff active

Geonode GROUP TYPE:

  • groups: (example only, we can determine) analysts mappers

DJANGO

Django Python structure

  • ProjectName -manage.py
    • ProjectName -settings.py -urls.py -views.py

frontend

all CSS, Javascript, font, and image files locate in static folder all HTML files locate in templates folder

backend terms:

(demo.geonode.org/developer)

  • OGC : Open Geospatial Consortium -> define standard
  • WMS : A Web Mapping Service (WMS) is a service hosted on a remote serverWeb Map Service -> access maps
  • WFS : Web Feature Service -> access vector data
  • WCS: Web Coverage Service -> access raster data
  • WMC : Web Map Context documents -> sharing maps
  • GeoWebCache: mapping engine for mapping tiles. compatible with Google Maps, Bing Maps, and OpenLayers
  • CSW: Catalog Service for the Web -> provides publish-discovery (and bind) mechanism for resource management. pycsw implements CSW in python

Styles handle differently in geoserver and qgis-server

  • SLD: Styled Layer Descriptor, used in geoserver
  • QML: QGIS Markup Language (?), used in qgis

example to obtain a layer in geonode: URL: /layers/geonode:maumere_buildings_wgs84 location of base layer path: /usr/src/app/geonode/qgis_layer/tmp6sw0q.shp

BUSINESS LOGIC

SLDs use by: geoserver

qml use by: qgis-server

geosafe

  • ability to run inasafe
  • draw map layer from qgis send instruction to inasafe in back function

When a user upload a layer in geonode:

  • All coresponding files will be stored in uploaded folder
  • Django signal is generated to inform new layer exist
  • All coresponding files is copied to qgis_layer
  • Geonode make a request to qgis-server to generate a new project for the layer
  • qgis-server make qgs project for the related layer.
  • qgis-server generate thumbnail and cache under qgis_tiles

GIT

Notes on using GIT GIT is different from SVN or CVS in the number of repo. Git codes is distributed, whereas SVN is centralised. Best practice: having 3 repos. Personal, develop, and master repositories. In terms of geonode:

  • develop: kartoza/2.6.x
  • master: Geonode/geonode
  • personal: our own

The very first step is to fork/clone the develop repo.

  • git init
  • git clone

Add another repos to local. For every repo, repeat the following steps:

  • git checkout -b 'name of the branch'
  • git remote add
  • git remote update

Always check on which branch are you in using: git branch --list. Your current branch is pointed by an asterisk at the left.

update repo: git pull

for every changes, add to the git using: git add then, commit using: git commit -m finally, push to the repo: git push origin

PR to UPSTREAM

  • To make a PR to upstream, we have to determine which commit version to be included using cherry-pick: git cherry-pick <commit_sha>
  • Push the branch to the personal repo first: git push origin
  • request PR to upstream