Nuages

‘’Easy poll sharing’‘

A collaborative meeting poll system, similar to doodle or rdvz. This application was named after Django’s famous song and because computer work is easier when its cloudy. It is build in python, using the django framework and a little of javascript.

Feedback and collaboration are welcome at nuages@lists.domainepublic.net. (Inscription to the mailing list is recommended before posting) We have a project page at projets.domainepublic.net.

Installation

Normal installation

On debian derivatives Nuages can can be installed and configured with dpkg. Add the following to your /etc/apt/sources.list:

deb [trusted=yes] http://chris.domainepublic.net/debian stable main

Then install the required packages:

sudo aptitude update sudo aptiutde install nuages

Python package installation

Using setuptools all dependencies will be installed:

# python setup.py install

Development installation

Install python-django package (>=1.7) 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 nuages/local_settings.py file (and avoid modify the original settings.py):

# vi nuages/local_settings.py
# vi nuages/local_urls.py

Build nuages database:

# ./manage.py syncdb
# ./manage.py migrate meetingpoll

Start the python webserver:

# ./manage.py runserver

You should have the application running at http://127.0.0.1:8000

Configuration

Web server

There are several ways to configure Apache and python, we use wsgi by default. After installing the package, two example configuration are available in /etc/apache2/sites-available. (Note if you use Apache < 1.4, you need to remove the “require” directive)

You can have local customizations in the local_settings.py file. (Optionally set DEBUG option to False):

# vi /etc/nuages/local_settings.py

Set domain name: Point your browser to /admin/sites/site/1/ and modify the entry from “example.com” to your domain name.

SSL

We recommend using SSL for all transactions and adding the following settings to your local_settings.py:

SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
ALLOWED_HOSTS = [
      '.domainepublic.net', # Allow domain and subdomains
      '.domainepublic.net.', # Also allow FQDN and subdomains
]

Email Service

Django is expecting a working SMTP server listening at localhost, sendmail for instance.

Another option is to add attributes in local_settings.py, so django can connect to an external server for the mail delivery. To enable this, 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

Contributing

Patches are welcom: please send us a mail or join Domaine Public irc to let us know your propositions.

Testing

Please validate your modifications with:

# make test

Translations

Nuages is avalable in many languages. If you have a little time and want help translate Nuages in your language, your help is welcome. You can translate the following files to your language, and present it on the mailing list:

http://git.domainepublic.net/?p=nuages.git;a=blob;f=nuages_templates/locale/en/LC_MESSAGES/django.po
http://git.domainepublic.net/?p=nuages.git;a=blob;f=meetingpoll/locale/en/LC_MESSAGES/django.po

Adding a new 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