Skip to content

GNIP 29 Code Repository Reorganization

sbenthall edited this page Jun 5, 2012 · 30 revisions

GNIP 29 - Code Repository Reorganization

Overview

It is proposed to re-organize the GeoNode core repository to make it more similar to the most commonly used django project layout and make it more friendly to template projects as introduced in Django 1.4

Proposed By

Jeffrey Johnson

Assigned to Release

1.x

State

For Review and Comment

Motivation

All installable Django projects put the setup.py file at the top level. Most put a folder with the python code at the top level too and some others do put it under 'src' directories, it is ultimately a matter of choice.

Proposal

Re-organize the code repository as follows.

..code:

|- LICENSE (licensing/copyright info for any components stored in the repo)
|- README.rst
|- docs/ (may be better under geonode)
|--- deploy/
|--- developers/
|--- intro/
|--- users/
|- geonode/
|--- api/ (proposed to be added in GNIP 18)
|--- catalog/ (proposed to be added in GNIP 5)
|--- templates/
|--- layers/ (proposed to be refactored in GNIP 30)
|----- templates/
|--- maps/
|----- templates/
|--- people/ (proposed to be added in GNIP 9)
|----- templates/
|--- search/ (proposed to be added in GNIP 14)
|----- templates/
|--- security/ (proposed to be added in GNIP 20)
|--- projects/ (sample projects to use via the startproject management comment in Django 1.4, See GNIP 7)
|------ minimal/ (data, security and api)
|----------- project_name/
|---------------- __init__.py
|--------------- settings.py
|--------------- urls.py
|--------------- local_settings.sample
|-------- manage.py
|-------- requirements.txt
|------ sdi/ (minimal + maps, catalog, search, people)
|------ social/ (sdi + social stuff)
|---- shared/
|------ package/
|--------- support/
|--- setup.cfg
|--- setup.py
|--- tests.py (generic or top-level tests, sometimes called smoke tests)
|- geonode-client/
|--- app/
|--- externals/
|--- src/
|--- README.md
|--- build.xml
|--- buildjs.cfg
|--- license.txt
|--- pom.xml
|- geonode-geoserver-ext/
|--- jcs_caching/
|--- src/
|--- jetty.xml
|--- pom.xml
|--- startup.sh
|- tests/
|--- integration/
|--- client/ (selenium or other)

Issues

Testing

Alternatives

Do nothing.

Feedback

Voting

+1 Ariel +0 David Winslow +1 Seb, with the caveat that since this invalidates some of the outstanding pull requests we should get those in before doing this reorg

Clone this wiki locally