wiki:DeveloperGuidelines

Version 229 (modified by Fran Boon, 12 years ago) ( diff )

--

Developer Guidelines

Getting Started

Development Enviroment

Development Process

We define requirements:

Designs should focus on Usability:

Designs should fit within our overall architecture:

We write Tests:

We keep code conventions to maximise readability & consistency:

Code should be documented:

Code should be able to perform well at scale:

Debugging Tips:

Framework

Modules

Deployment

Browsers default to only downloading 2 files from the same origin at a time, so many files is very slow on high latency links.

We therefore consolidate into fewer, larger files when running in Production mode.

Although, note that iPhone 3.x cannot cache files larger than 15kb and in iPhone 4 the limit is 25kb. And this is the size before gzipping.

Since GIS is a specialised app which requires many files, it's JS is loaded separately when required.

The build script is static/scripts/tools/build.sahana.py

It needs to be run as a web2py script:

python web2py.py -S eden -M -R applications/eden/static/scripts/tools/build.sahana.py

There is also a convenience wrapper for Windows to run this: static/scripts/tools/build.cmd

You must have an internet connection to run the build script unless you have a local version of the Compiler.

Our build process is based on the one used by OpenLayers

This uses Google's Closure compiler to compress the JS. This is done using their web service, however for OpenLayers itself we need to download the jar file & place in the tools folder since this is over 1Mb:

ToDo: Investigate using other options instead:

ToDo: Download/execute scripts asynchronously:

Mobile

XSLT

Other Resources

  • Tips - useful links to explore

Translations

These are Translated versions of the documentation, which may be outdated compared to the English originals

Note: See TracWiki for help on using the wiki.