Skip to content
Online event coordination and survey application
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
locale Update po file. Feb 25, 2019
.gitignore new maintenance-mode feature Apr 15, 2016
.htaccess better encoding solution May 17, 2016
License
Makefile translation changes Aug 25, 2018
README.md add comment about extensions in readme Jul 8, 2019
about.cgi remove mail address from about Jul 6, 2019
access_control.rb remove useless space Jan 7, 2019
advanced.rb translation changes Aug 25, 2018
atom.rb remove useless space Jan 7, 2019
authorization_required.cgi translation changes Aug 25, 2018
charset.rb remove useless space Jan 7, 2019
check.cgi translation changes Aug 25, 2018
classic.css remove useless space Jan 7, 2019
config_defaults.rb create random url by default Jul 8, 2019
config_sample.rb add hint to siteurl config variable Jul 8, 2019
customize.cgi remove useless space Jan 7, 2019
customize.rb remove useless space Jan 7, 2019
date_locale.rb remove useless space Jan 7, 2019
default.css remove useless space Jan 7, 2019
delete_poll.rb proper output encoding of poll title Jan 7, 2019
dudle.rb proper output encoding of poll title Jan 7, 2019
dudle_cleanup.sh add a cleanup cronjob which deletes old polls Apr 14, 2016
edit_columns.rb remove useless space Jan 7, 2019
error.cgi code refactoring: better output encoding Jan 7, 2019
example.cgi remove useless space Jan 7, 2019
favicon.ico favicon added Oct 20, 2008
hash.rb remove useless space Jan 7, 2019
history.rb translation changes Aug 25, 2018
html.rb remove useless space Jan 7, 2019
index.cgi create random url by default Jul 8, 2019
invite_participants.rb translation changes Aug 25, 2018
log.rb remove useless space Jan 7, 2019
maintenance.cgi code refactoring: better output encoding Jan 7, 2019
not_found.cgi translation changes Aug 25, 2018
overview.rb proper output encoding of poll title Jan 7, 2019
participate.rb remove useless space Jan 7, 2019
poll.rb remove useless space Jan 7, 2019
pollhead.rb remove useless space Jan 7, 2019
print.css remove useless space Jan 7, 2019
timepollhead.rb code refactoring: better output encoding Jan 7, 2019
timestring.rb code refactoring: better output encoding Jan 7, 2019
vcs_git.rb Do not abort when UTF-8 names appear in commit history. May 9, 2019
vcs_test.rb remove useless space Jan 7, 2019

README.md

Authors

  • Benjamin Kellermann
  • a lot of contributors of small code pieces

License

GNU AGPL v3 or higher (see file License)

Requirements

  • ruby >=1.9
  • git >=1.6.5
  • ruby-gettext (for localization)
  • gettext, potool, make (optional, if you want to generate localization files)

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 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

Docker image

There are two 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
  • To add a new translation
  • first add a new folder for your language under $DUDLE_HOME_FOLDER/locale,
  • copy the dudle.pot file into your folder and name it dudle.po
  • translate sentences and phrases in your dudle.po file
  • add an entry for your language in dudle/dudle.rb at line 245
You can’t perform that action at this time.