nuages.rst 4 KB
Newer Older
1 2 3 4
======
Nuages
======

Christophe Siraut's avatar
Christophe Siraut committed
5 6 7 8 9 10
''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.

Christophe Siraut's avatar
Christophe Siraut committed
11 12 13
 - 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. 
14

Christophe Siraut's avatar
Christophe Siraut committed
15 16
Installation
============
17

Christophe Siraut's avatar
Christophe Siraut committed
18 19
Normal installation
----------------------
Christophe Siraut's avatar
Christophe Siraut committed
20 21 22 23 24
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:
25

Christophe Siraut's avatar
Christophe Siraut committed
26 27
  sudo aptitude update
  sudo aptiutde install nuages
28

Christophe Siraut's avatar
Christophe Siraut committed
29 30 31
Python package installation
---------------------------
Using setuptools all dependencies will be installed:
32

Christophe Siraut's avatar
Christophe Siraut committed
33
  # python setup.py install
34

Christophe Siraut's avatar
Christophe Siraut committed
35 36
Development installation
------------------------
Christophe Siraut's avatar
Christophe Siraut committed
37
Install python-django package (>=1.7)
38
Clone nuages archive somewhere in your home folder::
39 40 41 42

    # cd
    # git clone http://git.domainepublic.net/git/nuages.git

43
You can have local customizations in the nuages/local_settings.py file (and avoid modify the original settings.py)::
44

45
    # vi nuages/local_settings.py
Christophe Siraut's avatar
Christophe Siraut committed
46
    # vi nuages/local_urls.py
47

48
Build nuages database::
49

50
    # ./manage.py syncdb
Christophe Siraut's avatar
Christophe Siraut committed
51
    # ./manage.py migrate meetingpoll
52

53
Start the python webserver::
54

55
    # ./manage.py runserver
56

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

Christophe Siraut's avatar
Christophe Siraut committed
59 60 61 62 63
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)
64

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

Christophe Siraut's avatar
Christophe Siraut committed
67
    # vi /etc/nuages/local_settings.py
68

69
Set domain name: Point your browser to /admin/sites/site/1/ and modify the entry from "example.com" to your domain name.
Christophe Siraut's avatar
Christophe Siraut committed
70

71
SSL
Christophe Siraut's avatar
Christophe Siraut committed
72
---
73
We recommend using SSL for all transactions and adding the following settings to your local_settings.py::
74

75 76 77
  SESSION_COOKIE_SECURE = True
  CSRF_COOKIE_SECURE = True
  ALLOWED_HOSTS = [
78 79
        '.domainepublic.net', # Allow domain and subdomains
        '.domainepublic.net.', # Also allow FQDN and subdomains
80
  ]
81

Christophe Siraut's avatar
Christophe Siraut committed
82

83
Email Service
Christophe Siraut's avatar
Christophe Siraut committed
84
-------------
85 86
Django is expecting a working SMTP server listening at localhost, sendmail for instance.

87
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::
88 89 90 91 92 93 94 95

  # Email attributes
  EMAIL_HOST = 'mail.example.com'
  EMAIL_PORT = '25'
  EMAIL_HOST_USER = 'username@example.com'
  EMAIL_HOST_PASSWORD = 'password'
  EMAIL_USE_TLS = False

Christophe Siraut's avatar
Christophe Siraut committed
96 97 98 99 100 101 102 103 104 105 106 107
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
------------
Christophe Siraut's avatar
Christophe Siraut committed
108 109 110 111
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
Christophe Siraut's avatar
Christophe Siraut committed
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126


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