Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kellerben/dudle
Online event coordination and survey application
https://github.com/kellerben/dudle
Last synced: about 1 month ago
JSON representation
Online event coordination and survey application
- Host: GitHub
- URL: https://github.com/kellerben/dudle
- Owner: kellerben
- License: agpl-3.0
- Created: 2015-11-11T21:55:19.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-03-21T08:30:29.000Z (9 months ago)
- Last Synced: 2024-08-02T12:49:05.361Z (4 months ago)
- Language: Ruby
- Homepage: https://dud-poll.inf.tu-dresden.de
- Size: 2.73 MB
- Stars: 332
- Watchers: 17
- Forks: 67
- Open Issues: 83
-
Metadata Files:
- Readme: README.md
- Changelog: history.rb
- License: License
Awesome Lists containing this project
- awesome-starred - kellerben/dudle - Online event coordination and survey application (others)
README
# 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:```sh
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.```sh
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:```sh
sudo a2enmod auth_digest
```
6. In order to get atom-feed support you need ruby-ratom to be
installed. E.g.:```sh
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.```sh
SetEnv LC_ALL "en_US.UTF-8"
```
8. It might be the case, that you have to set some additional Variables
in your .htaccess:```sh
SetEnv GIT_AUTHOR_NAME="http user"
SetEnv [email protected]
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.:```sh
echo "We are updating the servers and expect to be online on 0 am, January 1st, 1970 (UTC)." > $DUDLE_INSTALLATION_PATH/maintenance.html
```# image
There is a docker image available
* https://github.com/jpkorva/dudle-docker# Pimp your Installation
* If you want to create your own Stylesheet, you just have to put it in
the folder `$DUDLE_HOME_FOLDER/css/`. Afterwards you may config this
one to be the default Stylesheet.
You can fetch the whole repo from https://github.com/kellerben/dudle-css
* If you want to extend the functionality you might want to place a file
`main.rb` in `$DUDLE_HOME_FOLDER/extension/$YOUR_EXTENSION/main.rb`
You can clone the whole sourcecode here:
- https://github.com/kellerben/dudle-extensions-participate
- https://github.com/kellerben/dudle-extensions-symcrypt
- https://github.com/kellerben/dudle-extensions-asymcrypt
- https://github.com/kellerben/dudle-extensions-gpgauth
- https://github.com/kellerben/dudle-extensions-anonymous
Note, that extensions are loaded in alphabetic order! The symcrypt
extension e.g. needs the participate extension and therefore you need
to name it “10-participate” in order to get executed first.# Translators
If you set `$DUDLE_POEDIT_AUTO` to your lang, poedit will launch
automatically when building the application. E.g.:```sh
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