kellerben / dudle

Online event coordination and survey application
https://dud-poll.inf.tu-dresden.de
GNU Affero General Public License v3.0
339 stars 67 forks source link

Authors

License

GNU AGPL v3 or higher (see file License)

Requirements

Installation

  1. Place this application into a directory where cgi-scripts are evaluated.
  2. If you want to change some configuration, state it in the file config.rb (see config_sample.rb for help) to start with a default configuration.
  3. The webserver needs the permission to write into the directory
  4. You need .mo files in order to use localisation. You have 2 possibilities:

    1. Run this small script to fetch the files from the main server:

      cd $DUDLE_INSTALLATION_PATH
      for i in locale/??; do
      wget -O $i/dudle.mo https://dudle.inf.tu-dresden.de/locale/`basename $i`/dudle.mo
      done
    2. Build them on your own. This requires gettext, ruby-gettext, potool, and make to be installed.

      sudo aptitude install ruby-gettext potool make
      make
  5. In order to let access control work correctly, the webserver needs auth_digest support. It therefore may help to type:

    sudo a2enmod auth_digest
  6. In order to get atom-feed support you need ruby-ratom to be installed. E.g.:

    sudo aptitude install ruby-dev libxml2-dev zlib1g-dev
    sudo gem install ratom
  7. To make titles with umlauts working you need to check the encoding in .htaccess, e.g.

    SetEnv LC_ALL "en_US.UTF-8"
  8. It might be the case, that you have to set some additional Variables in your .htaccess:

    SetEnv GIT_AUTHOR_NAME="http user"
    SetEnv GIT_AUTHOR_EMAIL=foo@example.org
    SetEnv GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
    SetEnv GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
  9. If you installed dudle to a subdirectory (i.e. http://$YOUR_SERVER/$SOMEDIR/...), than you want to adopt the ErrorDocument directives in your .htaccess. (You need an absolute path here!)
  10. Try to open http://$YOUR_SERVER/check.cgi to check if your config seems to work.
  11. You may want to install a cronjob to cleanup dudle polls. See dudle_cleanup.sh for an example.
  12. You can enable a maintenance mode if you need to change something with your installation. Using this mode, all users will see a static message and are not able to change anything. In order to enable this mode, create a file named /maintenance.html which may include a custom message. E.g.:

    echo "<div>We are updating the servers and expect to be online on 0 am, January 1st, 1970 (UTC).</div>" > $DUDLE_INSTALLATION_PATH/maintenance.html

image

There is a docker image available

Pimp your Installation

Translators

If you set $DUDLE_POEDIT_AUTO to your lang, poedit will launch automatically when building the application. E.g.:

export DUDLE_POEDIT_AUTO=fr
git pull
make # will launch poedit if new french strings are to be translated