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 Fast 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 local_settings.py Build nuages database # cd /usr/local/lib/nuages # ./manage.py syncdb # ./manage.py collectstatic 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 ServerName localhost.locadomain Alias /static/ /usr/local/lib/nuages/staticroot/ WSGIScriptAlias / /usr/local/lib/nuages/apache/django.wsgi Order allow,deny Allow from all Order deny,allow Allow from all Adapt the path in file apache/django.wsgi Set permission for apache user sudo chown -R www-data /usr/local/lib/nuages Set domain name: login 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, you can issue: # make update Migration ========= When models change, we need to perform some manual steps to keep existing data: # mkdir fixture # ./manage.py dumpdata meetingpoll --indent=2 > fixture/meetingpoll.json # ./manage.py dumpdata accounts --indent=2 > fixture/accounts.json # git pull # ./manage.py reset meetingpoll accounts # ./manage.py syncdb # ./manage.py loaddata < fixture/*.json