This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
devel:blueprints:unified_source [2009/07/16 12:52] klette created |
devel:blueprints:unified_source [2010/07/18 15:18] (current) morten add link back to the lp blueprint |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[https://blueprints.launchpad.net/nav/+spec/unified-source-tree|Blueprint at launchpad]] | ||
===== Unified Source layout ===== | ===== Unified Source layout ===== | ||
Line 60: | Line 61: | ||
==== New source layout proposal ==== | ==== New source layout proposal ==== | ||
- | The new layout is based upon how most django based projects are organized. | + | The proposed new layout is based upon how most django based projects are organized. |
<code> | <code> | ||
Line 67: | Line 68: | ||
| |-- system1.py | | |-- system1.py | ||
| `-- system2.py | | `-- system2.py | ||
- | |-- conf | + | |-- etc |
| |-- nav.conf | | |-- nav.conf | ||
| |-- system1.conf | | |-- system1.conf | ||
| `-- system2.conf | | `-- system2.conf | ||
|-- doc | |-- doc | ||
- | | |-- INSTALL | + | | |-- getting-started.txt |
- | | |-- LICENSE | + | | |-- system1-setup.txt |
- | | `-- README | + | | `-- system2-setup.txt |
- | |-- other | + | |-- java |
| `-- java_app1 | | `-- java_app1 | ||
- | |-- source | + | |-- media |
+ | | |-- images | ||
+ | | |-- js | ||
+ | | `-- style | ||
+ | |-- python | ||
| `-- nav | | `-- nav | ||
| |-- __init__.py | | |-- __init__.py | ||
Line 87: | Line 92: | ||
| | `-- __init__.py | | | `-- __init__.py | ||
| `-- system4 | | `-- system4 | ||
- | | | `-- __init__.py | + | | `-- __init__.py |
|-- sql | |-- sql | ||
| |-- nav-3.5.sql | | |-- nav-3.5.sql | ||
Line 104: | Line 109: | ||
</code> | </code> | ||
- | * The ''bin'' directory holds all deamons and similar "binaries" that should be installed into an executable path | + | * The ''bin'' directory holds all scripts that are to be used as executable commands, or "binaries", if you will. |
- | * The ''conf'' directory holds all configuration files. All deamons should accept a ''-c'' commandline argument for specifying configfiles | + | * The ''etc'' directory holds all configuration files. |
- | * The ''doc'' directory holds our documentation | + | * The ''doc'' directory holds documentation outside of the scope of the generic README/INSTALL/CHANGES/HACKING in the top level. |
- | * The ''other'' directory holds all system that are not coded in python | + | * The ''java'' directory holds the legacy java subsystems and other java code. |
- | * The ''sql'' directory holds our sql-files | + | * The ''sql'' directory holds our SQL schema baselines, initial data and upgrade scripts. |
- | * The ''templates'' directory holds all templates organized into the system they belong to | + | * The ''templates'' directory holds all Django templates organized into the system they belong to |
- | * The ''tests'' directory holds our tests organized by the system they are testing. | + | * The ''tests'' directory holds our tests. |
+ | * The ''media'' directory holds most of the static media files to be served by a web server (stylesheets, graphics, javascript). | ||
This allows us to easily reach all other systems in nav without touching the system-wide installed files. Tests can be neatly organized and run on the development code | This allows us to easily reach all other systems in nav without touching the system-wide installed files. Tests can be neatly organized and run on the development code | ||
Line 117: | Line 123: | ||
This change does require quite some work though. All Makefiles must be changed, and systems dependand on relative paths to their configfile must be updated. | This change does require quite some work though. All Makefiles must be changed, and systems dependand on relative paths to their configfile must be updated. | ||
I do think it will be worth the job in the long run though. | I do think it will be worth the job in the long run though. | ||
- | |||
- |