====== 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. Get Nuages:: git clone http://git.domainepublic.net/git/nuages.git Browse changes:: http://git.domainepublic.net/?p=nuages.git Sources freely available under license GPL. 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.5) 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 file to your language, and present it on the mailing list:: http://git.domainepublic.net/?p=nuages.git;a=blob_plain;f=locale/fr/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 Migrations ========== Migrations are handled automatically through South. When migrating from a Nuages version < 0.20140730, one need to manually do:: # copy old database (/usr/local/lib/nuages.sqlite) to /var/lib/nuages/db.sqlite nuages syncdb nuages migrate meetingpoll 0001 --fake