Nuages - Easy poll sharing ========================== Nuages aims to provide a collaborative meeting poll system, similar to doodle or rdvz. It is build in python, using the django framework and a little of javascript. This application was named after Django's famous song. Feedback and collaboration are welcome at nuage@ domainepublic.net The project uses the following django application: - django-registration: https://bitbucket.org/ubernostrum/django-registration On debian they can be installed as follow: # aptitude install python-django-registration The project uses and provides the following javascripts: - jquery, jquery-ui: http://www.jquery.com/ - jquery-dynamic-formset: http://code.google.com/p/django-dynamic-formset/ - jquery timepicker addon: https://github.com/trentrichardson/jQuery-Timepicker-Addon Translation =========== Create/update a translation file: # django-admin makemessages -l fr Edit and translate the translation file: # vi locale/fr/LC_MESSAGES/django.po Compile translated messages/update a translation file: # make translation Dev installation ================ Install python-django package (>=1.3) Clone nuages archive somewhere in your home folder # cd # git clone http://git.domainepublic.net/git/nuages.git You can have local customizations in the local_settings.py file (and avoid modify the original settings.py) # vi local_settings.py Build nuages database # ./manage.py syncdb Start the python webserver # ./manage.py runserver You should have the application running at http://127.0.0.1:8000 Apache installation =================== Install python-django package (>=1.3) Copy nuages to /usr/local/lib/nuages # cd /usr/local/lib # git clone http://git.domainepublic.net/git/nuages.git You can have local customizations in the local_settings.py file. Optionally set DEBUG option to False. # vi /usr/local/lib/nuages/nuages/local_settings.py There are several ways to configure Apache and python, we recommend wsgi, simply install libapache2-mod-wsgi, and add the following to /etc/apache2/sites-available/nuages, replacing ServerName accordingly. ServerName localhost.locadomain Alias /static/ /usr/local/lib/nuages/staticroot/ WSGIScriptAlias / /usr/local/lib/nuages/nuages/wsgi.py WSGIPythonPath /usr/local/lib/nuages Order deny,allow Allow from all Order deny,allow Allow from all Build database, collect static files and set permissions: # make update Set domain name: Point your browser to /admin/sites/site/1/ and modify the entry from "example.com" to your domain name. Email Service ============= Django is expecting a working SMTP server listening at localhost, sendmail for instance. Another option is to add attributes in settings.py, this make email work only when there is a localhost server accepting all the email. To change this and make it configurable, we only have to add these lines: # Email attributes EMAIL_HOST = 'mail.example.com' EMAIL_PORT = '25' EMAIL_HOST_USER = 'username@example.com' EMAIL_HOST_PASSWORD = 'password' EMAIL_USE_TLS = False Update ====== In order to update your nuages installation: # make update Migration ========= When models change, we need to perform some manual steps to keep existing data. The following example backups all databases to json files, and resets only the poll table. # mkdir fixtures # APPS="account auth meetingpoll poll" # for APP in $APPS; do ./manage.py dumpdata $APP --indent=2 > fixtures/$APP.json; done # git pull # ./manage.py reset poll # ./manage.py loaddata fixtures/*.json