== Release Process == When making a Stable Branch from which to build releases, we need to do these tasks: Check that all works with a released version of Web2Py Ensure included files sane: * README * VERSION (updated automatically by Bzr start-commit hook) * INSTALL * CHANGELOG === Compress JS & CSS files === Browsers default to only downloading 2 files from the same origin at a time, so many files is very slow on high latency links.[[BR]] We therefore consolidate into fewer, larger files when running in Production mode. Since GIS is a specialised app which requires many files, it's JS & CSS are loaded separately when required. The build script is {{{static/scripts/tools/build.sahana.py}}}[[BR]] There is also a convenience wrapper for Windows to run this & also move results into their respective locations: {{{static/scripts/tools/build.cmd}}} NB {{{sahana.css}}} is built from {{{template.css}}} so that [wiki:ConfigurationGuidelines#Themes Themes] can be updated dynamically from the WebUI Need to remove the '@' from '@requires' in header of {{{/static/S3/jquery.form.js}}} as we need to compress this without the main file. Our build process is based on the one used by !MapFish (which is built on the one used by !OpenLayers) * !MapFish (inc OL): https://trac.mapfish.org/trac/mapfish/wiki/HowToBuild * !OpenLayers: http://trac.openlayers.org/wiki/Profiles !ToDo: Investigate using other options instead: * http://developer.yahoo.com/yui/compressor/ * http://www.crowproductions.de/repos/main/public/packer/jspacker.py === Clear Database === To clear database of test data & reset to defaults: * Close Web2Py * Delete all files from {{{/databases}}} * Delete all files from {{{/errors}}} * Delete all files from {{{/sessions}}} NB This assumes that all required settings are being generated upon intialisation as per the [wiki:DeveloperGuidelinesS3Framework#Settings Framework] === Export Application === * Clean: http://127.0.0.1:8000/admin/default/cleanup/eden * Compile: http://127.0.0.1:8000/admin/default/compile_app/eden * NB If this Errors then this is likely to be a faulty view (e.g. missing a final {{pass}}) which needs resolving before the release to avoid performance issues. * Pack all: http://127.0.0.1:8000/admin/default/pack/eden * Save as: {{{web2py.app.eden-0.x.w2p}}} === Upload to !LaunchPad === * Register a new release: https://launchpad.net/sahana-eden/trunk/+addrelease * Add download file === Update Wiki !InstallationGuide === * InstallationGuidelinesWindows * InstallationGuidelinesLinux * [wiki:InstallationGuidelinesMacOSX InstallationGuidelinesMacOSX] === Update Demo === * [wiki:DeveloperGuidelinesWeb2PyUpdate Update Web2Py] (if necessary) * Start appadmin: /root/web2py_admin.sh * Configure SSH Tunnel: http://web2py.com/AlterEgo/default/show/143 * Access via SSH Tunnel: http://127.0.0.1:8001/admin * Upload application: http://127.0.0.1:8001/admin/default/site * Reboot VPS (free up resources for improved performance) === Ideas === * [http://systers.org/systers-dev/doku.php/svaksha:release_management_notes Systers release process] * [http://www.youtube.com/watch?v=i7pkyDUX5uM OpenBSD release process] * [http://docs.google.com/Doc?docid=0AbG7fqVva7L3ZGZmNXprc3RfMGZjODNudmhu&hl=en Agasti proposed released process] ---- DeveloperGuidelines