kellerben / dudle Goto Github PK
View Code? Open in Web Editor NEWOnline event coordination and survey application
Home Page: https://dud-poll.inf.tu-dresden.de
License: GNU Affero General Public License v3.0
Online event coordination and survey application
Home Page: https://dud-poll.inf.tu-dresden.de
License: GNU Affero General Public License v3.0
Would be nice to have a setting to block the adding of new peoples, once that a list of peoples have been already made.
Participants should change their own names only.
I pull this project and placed it under /usr/local/src/dudle.
I then created a soft link to my cgi-bin directory:
ln -s /usr/local/src/dudle /var/www/localhost/cgi-bin/dudle
When I try to access http://[SERVER]/cgi-bin/dudle/index.cgi
I get the following error message:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Moreover, my apache's error log has:
[Thu Nov 12 20:56:23 2015] [error] [client 192.168.1.2] /usr/local/src/dudle/dudle.rb:149:in
'open': No such file or directory - ./css/ (Errno::ENOENT) [Thu Nov 12 20:56:23 2015] [error] [client 192.168.1.2] \tfrom /usr/local/src/dudle/dudle.rb:149:in
initialize'
[Thu Nov 12 20:56:23 2015] [error] [client 192.168.1.2] \tfrom /var/www/localhost/cgi-bin/dudle/index.cgi:27:innew' [Thu Nov 12 20:56:23 2015] [error] [client 192.168.1.2] \tfrom /var/www/localhost/cgi-bin/dudle/index.cgi:27:in
[Thu Nov 12 20:56:23 2015] [error] [client 192.168.1.2] Premature end of script headers: index.cgi
Line 149 has:
Dir.open("#{@basedir}/css/").each{|f|
Yet, the project directory has no /css
directory. There seems to be an assumption that there is a css directory which, in my installation, is not present.
Here's what is in my directory:
themis dudle # ls -1
about.cgi
access_control.rb
atom.rb
authorization_required.cgi
charset.rb
check.cgi
classic.css
config_defaults.rb
config_sample.rb
customize.cgi
customize.rb
date_locale.rb
default.css
delete_poll.rb
dudle.rb
edit_columns.rb
error.cgi
example.cgi
favicon.ico
hash.rb
history.rb
html.rb
index.cgi
invite_participants.rb
License
locale
log.rb
Makefile
not_found.cgi
overview.rb
participate.rb
pollhead.rb
poll.rb
print.css
README
#README#
timepollhead.rb
timestring.rb
vcs_bzr.rb
vcs_git.rb
vcs_test.rb
themis dudle #
There should either be a css directory, or the instruction Place this application into a directory where cgi-scripts are evaluated
should be revised.
possibly with combination if one signs a vote
There should be a Stylesheeet for small devices.
We received a customer feedback, from someone who uses dudle via the Univention App Center:
Bei meinem ersten Versuch das dudle zu benutzen, musste ich feststellen
dass es alles andere als benutzungsfreundlich ist.
Die Oberfläche ist überhaupt nicht ansprechend und das Tool nicht
intuitiv bedienbar. Ich habe noch nicht rausgefunden, ob ich einstellen
kann, ob Mehrfachauswahl oder Einfach möglich sein kann. (Ich mache
gleich noch weiter damit). Und an der Stelle, an der ich Kontakte
einladen soll, habe ich mich gefragt, wie denn und zu welchem Zweck?
Soll ich einen Namen eingeben? Soll ich die E-Mail-Adresse eingeben?
Muss ich jetzt jeden Einzelnen der Firma eintragen? Und wofür? Werden
diese Kontakte jetzt benachrichtigt? Das will ich ja nicht, weil ich mit
meinen Einstellungen noch gar nicht fertig bin an dem Punkt. Ich habe
diesen Punkt über das Menü letzendlich übersprungen und gesehen, dass
ich auch einfach den Link kopieren oder per Mail senden kann in einem
späteren Schritt.
Bei Access Control frage ich mich, was passiert, wenn aktiv und was
passiert, wenn ich es deaktiviert lasse?
Das nur als erster Eindruck von meiner Seite. Würde am liebsten direkt
das "echte" doodle benutzen.
CSV/json/something?
Hi,
it would be great if the poll data wouldn't be in the webroot. With that,
Best regards,
Frank
The .htaccess file references the root of the server, to wit: "/", when it should access the relative path. If you create a subdirectory "dudle" under the root directory of the server as recommended by the README the server will look one level up for the error.cgi.
https://github.com/kellerben/dudle/blob/master/.htaccess#L20-L22
Removing the "/" on lines 20-22 fixes the problem.
E.g. participant names stay fixed during left/right scrolling.
possible usecase: offer Timeslots for consulation, exam slots: Each slot may be choosen once
Would be nice to have the Sum of the votes just below the title to avoid scrolling in large polls.
The *.cgi
scripts have a command line for the web server to invoke Ruby with:
#!/usr/bin/env ruby
Gentoo does not install Ruby with the "env" as standard, instead it is offered as an option in dev-ruby/nenv
. Consequently, on a standard install the cgi would invoke Ruby with #!/usr/bin/ruby
.
The instructions might alert prospective installer that the "env" feature of ruby is required since I'm guessing that "env" is not a standard installation item for Ruby. This may only be Gentoo related?
Love using dudle.inf and doing so all the time. I had a quick look around and couldn't find anything pertaining to an API of sorts, but I would be interested in setting up and checking dudles more or less automatically (not wanting to spam the service in any kind).
Would this be in any way possible? Thanks for considering 😊
Please add a localization for the „Last Edit“ field
Not much is missing and we can create a sandstorm.io plugin. This would make the tool available for more people.
Especially for Polls with many timeslots, this may be useful.
I installed dudle and get the following output by check.cgi
:
Some problem occured. Please contact the developer:
#<NameError: uninitialized constant VCS>
Surely, I have missed something while installing. However, I re-checked the instructions 3 times now and cannot find my mistake. gem install vcs
does not help. The Error Log is empty.
I have dudle installed and I get the initial startup page. When I try and create a new survey I am getting errors:
[Fri Sep 23 12:55:20.712623 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: /usr/lib/cgi-bin/dudle.rb:130:in initialize', referer: http://localhost/cgi-bin/ [Fri Sep 23 12:55:20.712745 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: : , referer: http://localhost/cgi-bin/ [Fri Sep 23 12:55:20.712805 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: undefined method
name' for false:FalseClass, referer: http://localhost/cgi-bin/
[Fri Sep 23 12:55:20.712833 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: (, referer: http://localhost/cgi-bin/
[Fri Sep 23 12:55:20.712891 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: NoMethodError, referer: http://localhost/cgi-bin/
[Fri Sep 23 12:55:20.712919 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: ), referer: http://localhost/cgi-bin/
[Fri Sep 23 12:55:20.712987 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: \tfrom /usr/lib/cgi-bin/Test_item/edit_columns.cgi:34:in new', referer: http://localhost/cgi-bin/ [Fri Sep 23 12:55:20.713054 2016] [cgi:error] [pid 1905] [client 127.0.0.1:55679] AH01215: \tfrom /usr/lib/cgi-bin/Test_item/edit_columns.cgi:34:in
Any Suggestions?
Don't know if this is dudle's fault, but installation of the ratom gem fails in debian jessie:
root@6d25237bb6fa:/var/www/html/dudle# gem install ratom
Fetching: libxml-ruby-2.8.0.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing ratom:
ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb
checking for socket() in -lsocket... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby2.1
--with-iconv-dir
--without-iconv-dir
--with-iconv-include
--without-iconv-include=${iconv-dir}/include
--with-iconv-lib
--without-iconv-lib=${iconv-dir}/lib
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-socketlib
--without-socketlib
/usr/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/lib/ruby/2.1.0/mkmf.rb:541:in `try_link0'
from /usr/lib/ruby/2.1.0/mkmf.rb:556:in `try_link'
from /usr/lib/ruby/2.1.0/mkmf.rb:742:in `try_func'
from /usr/lib/ruby/2.1.0/mkmf.rb:973:in `block in have_library'
from /usr/lib/ruby/2.1.0/mkmf.rb:918:in `block in checking_for'
from /usr/lib/ruby/2.1.0/mkmf.rb:351:in `block (2 levels) in postpone'
from /usr/lib/ruby/2.1.0/mkmf.rb:321:in `open'
from /usr/lib/ruby/2.1.0/mkmf.rb:351:in `block in postpone'
from /usr/lib/ruby/2.1.0/mkmf.rb:321:in `open'
from /usr/lib/ruby/2.1.0/mkmf.rb:347:in `postpone'
from /usr/lib/ruby/2.1.0/mkmf.rb:917:in `checking_for'
from /usr/lib/ruby/2.1.0/mkmf.rb:968:in `have_library'
from extconf.rb:27:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.1.0/gems/libxml-ruby-2.8.0 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/x86_64-linux/2.1.0/libxml-ruby-2.8.0/gem_make.out
possible usecase: offer Timeslots for consulation, exam slots: Each participant may only choose 1 slot
The current implementation only shows a tooltip for the selection radiobutton.
other/better Ideas?.:
Hi
participants shouldn't be able to edit/delete other participants/votes.
I know in doodle it is the same problem for anon user, but you can login to protect your entry.
bye
Ste
in edit_columns.cgi (for timepolls):
Original reqest:
Ist es möglich, bei Umfragen mit vielen Terminen die Uhrzeitenspalte zu fixieren, sodass man die Uhrzeiten beim nach rechts scrollen im Blick behält?
Und ist es möglich, dass man nicht bei jedem Anwählen einer einzelnen Uhrzeit wieder im Browserfenster nach links springt?
When creating a poll, you have an option to control access by clicking the "Access Control" tab. I tried entering "test" for the two password fields in the screen shot below and an authentication window popped open which would not accept "test" as the password for user "admin".
The README has no mention of "admin" -- it would be helpful to have some documentation on this area. Is there a default password that is user configurable? I grepped the tree of ruby files using "admin" and "password" and did not find any hints on the subject.
Where is the password configurable?
I am trying to enable the atom feeds.
I successfully installed the required gem and have set the env variable RUBYLIB to my installation path in the .htaccess.
However, the execution of atom.cgi fails every time with this error:
[Sat Jan 09 07:47:28.950055 2016] [cgid:error] [pid 11831:tid 140437142550272] [client 127.0.0.1:44370] End of script output before headers: atom.cgi │
/var/www/html/dudle/atom.rb:31:in `<top (required)>': uninitialized constant Atom (NameError) │
from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' │
from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' │
from /var/www/html/dudle/bday-2016/atom.cgi:23:in `<main>'
It could be useful if you can DUPLICATE a poll. Expecially the list of partecipants is time consuming to be edited when several people.
Should be implemented in a form of duplicating a specific point of the history. Maybe reverting to a specific point in history would be an option as well.
In a standard install, I access the directory with http://themis/cgi-bin/dudle/index.cgi
.
The page errors out; my error log has:
[Thu Nov 12 21:36:18 2015] [error] [client 192.168.1.2] Premature end of script headers: index.cgi
[Thu Nov 12 21:37:17 2015] [error] [client 192.168.1.2] /usr/local/src/dudle/dudle.rb:190:in `open': No such file or directory - ./extensions/ (Errno::ENOENT)
[Thu Nov 12 21:37:17 2015] [error] [client 192.168.1.2] \tfrom /usr/local/src/dudle/dudle.rb:190:in `initialize'
[Thu Nov 12 21:37:17 2015] [error] [client 192.168.1.2] \tfrom /var/www/localhost/cgi-bin/dudle/index.cgi:27:in `new'
[Thu Nov 12 21:37:17 2015] [error] [client 192.168.1.2] \tfrom /var/www/localhost/cgi-bin/dudle/index.cgi:27:in `<main>'
[Thu Nov 12 21:37:17 2015] [error] [client 192.168.1.2] Premature end of script headers: index.cgi
dudle.cgi
has around line 190:
###################
# init extenisons #
###################
@extensions = []
$d = self # FIXME: this is dirty, but extensions need to know table elem
Dir.open("#{@basedir}/extensions/").sort.each{|f|
if File.exists?("#{@basedir}/extensions/#{f}/main.rb")
@extensions << f
I was able to overcome this by mkdir extensions
within the dudle main directory. Note: I also had to mkdir css
to get past another bug, see Issue #2 herein.
There should either be a extenions
directory or the test for the directory should not fail if the directory is not present.
It would be nice to have a lot of translations! A translation can be done by everyone without programming skills.
In order to translate dudle into a new language do the following steps:
Would be nice to have polls without the question mark “?”
ruby does not translate strftime. How to solve?
Hey there,
is it possible to install Dudle on Shared Webhosting (just upload files, e. g. WordPress) or do you need root privileges? Thanks!
A permanent setting to choose the default sorting direction for the changes and comments: I prefer the most recent on the top because when you open the browser it is usual to start looking at the top of the page, but I still agree with the current top position of the rows of people with no polls.
The mentioned package libgettext-ruby-util is no longer available and "make" fails:
root@6d25237bb6fa:/var/www/html/dudle# make
rm -f locale/dudle.pot
/usr/bin/rxgettext *.cgi *.rb -o locale/dudle.pot
Error parsing poll.rb
/usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:292:in `lstrip': invalid byte sequence in US-ASCII (ArgumentError)
from /usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:292:in `block in parse_source'
from /usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:57:in `parse'
from /usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:242:in `parse_source'
from /usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:217:in `parse'
from /usr/lib/ruby/vendor_ruby/gettext/tools/parser/ruby.rb:134:in `parse'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:365:in `block in parse_path'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:360:in `each'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:360:in `parse_path'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:168:in `block in parse'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:166:in `each'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:166:in `parse'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:217:in `generate_pot'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:151:in `run'
from /usr/lib/ruby/vendor_ruby/gettext/tools/xgettext.rb:34:in `run'
from /usr/bin/rxgettext:24:in `<main>'
Makefile:27: recipe for target 'locale/dudle.pot' failed
make: *** [locale/dudle.pot] Error 1
Would be nice to have a short description just below the title of a poll
Possible realisation: Add button for whole week or button for all Mondays/Tuesdays/... in month
I have the situation that I want to organize a meeting every week, having the very same days as options. E.g.: find a day for all participants at 10am, between Monday and Friday. Maybe is it possible to copy theses selection to the next week, or create a recurrence rule, or something else?
date for deletion
On a standard install when check.cgi
is accessed to test what the status is of the build, the following appears:
Some problem occured:
- Localization will not work. You need to build the .mo files. Refer the README for details.
The README.txt file provides:
...
If you want a language other than English, you need .mo files in order to use localisations.
You have 2 possibilities:
a. 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
b. Build them on your own. This requires libgettext-ruby-util, potool, and make to be installed.
sudo aptitude install libgettext-ruby-util potool make
make
I recommend the "Some problem occured: [sic]" be replaced with "If you want a language other than English, you will need a localization and therefore need ot build the .mo files. Refer..."
After bypassing Issues #2 and #3, I finally got a page (without benefit of css) that allowed me to create a new dudle. When I clicked the "Create" button, the process errored out.
I got this error:
Forbidden
You don't have permission to access /cgi-bin/dudle/ on this server.
Apache Server at themis Port 80
My error log shows:
[Thu Nov 12 21:54:30 2015] [error] [client 192.168.1.2] attempt to invoke directory as script: /var/www/localhost/cgi-bin/dudle/, referer: http://themis/cgi-bin/dudle/index.cgi
Yet, I do have permissions set on the directory for apache to write in:
themis dudle # ls -la ../dudle
total 308
drwxrwxr-x 7 apache apache 4096 Nov 12 21:38 .
drwxrwxrwx 61 root root 4096 Nov 12 09:03 ..
-rwxrwxr-x 1 apache apache 2104 Nov 12 04:20 about.cgi
-rwxrwxr-x 1 apache apache 7197 Nov 12 04:20 access_control.rb
-rwxrwxr-x 1 apache apache 2477 Nov 12 04:20 atom.rb
-rwxrwxr-x 1 apache apache 2542 Nov 12 04:20 authorization_required.cgi
-rwxrwxr-x 1 apache apache 64 Nov 12 04:20 .bzrignore
-rwxrwxr-x 1 apache apache 2881 Nov 12 04:20 charset.rb
-rwxrwxr-x 1 apache apache 2804 Nov 12 04:20 check.cgi
-rwxrwxr-x 1 apache apache 5115 Nov 12 04:20 classic.css
-rwxrwxr-x 1 apache apache 2278 Nov 12 04:20 config_defaults.rb
-rwxrwxr-x 1 apache apache 5275 Nov 12 04:20 config_sample.rb
drwxr-xr-x 2 root root 4096 Nov 12 21:37 css
drwxr-xr-x 2 root root 4096 Nov 12 21:36 .css
lrwxrwxrwx 1 apache apache 12 Nov 12 04:20 customize.cgi -> customize.rb
-rwxrwxr-x 1 apache apache 4246 Nov 12 04:20 customize.rb
-rwxrwxr-x 1 apache apache 13024 Nov 12 04:20 date_locale.rb
-rwxrwxr-x 1 apache apache 6825 Nov 12 04:20 default.css
-rwxrwxr-x 1 apache apache 4354 Nov 12 04:20 delete_poll.rb
-rwxrwxr-x 1 apache apache 8247 Nov 12 04:20 dudle.rb
-rwxrwxr-x 1 apache apache 4058 Nov 12 04:20 edit_columns.rb
-rwxrwxr-x 1 apache apache 3383 Nov 12 04:20 error.cgi
-rwxrwxr-x 1 apache apache 2493 Nov 12 04:20 example.cgi
drwxr-xr-x 2 root root 4096 Nov 12 21:38 extensions
-rwxrwxr-x 1 apache apache 1406 Nov 12 04:20 favicon.ico
drwxrwxr-x 7 apache apache 4096 Nov 12 20:58 .git
-rwxrwxr-x 1 apache apache 2684 Nov 12 04:20 hash.rb
-rwxrwxr-x 1 apache apache 2095 Nov 12 04:20 history.rb
-rwxrwxr-x 1 apache apache 477 Nov 12 04:20 .htaccess
-rwxrwxr-x 1 apache apache 4370 Nov 12 04:20 html.rb
-rwxrwxr-x 1 apache apache 4698 Nov 12 04:20 index.cgi
-rwxrwxr-x 1 apache apache 1964 Nov 12 04:20 invite_participants.rb
-rw-r--r-- 1 apache apache 0 Nov 12 21:04 .koSai8ahye9shoTh
-rwxrwxr-x 1 apache apache 32387 Nov 12 04:20 License
drwxrwxr-x 13 apache apache 4096 Nov 12 04:20 locale
-rwxrwxr-x 1 apache apache 7974 Nov 12 04:20 log.rb
-rwxrwxr-x 1 apache apache 2065 Nov 12 04:20 Makefile
-rwxrwxr-x 1 apache apache 2325 Nov 12 04:20 not_found.cgi
-rwxrwxr-x 1 apache apache 2173 Nov 12 04:20 overview.rb
-rwxrwxr-x 1 apache apache 2644 Nov 12 04:20 participate.rb
-rwxrwxr-x 1 apache apache 4959 Nov 12 04:20 pollhead.rb
-rwxrwxr-x 1 apache apache 19161 Nov 12 04:20 poll.rb
-rwxrwxr-x 1 apache apache 3860 Nov 12 04:20 print.css
-rwxrwxr-x 1 apache apache 3537 Nov 12 05:00 README
lrwxrwxrwx 1 root root 27 Nov 12 21:04 .#README -> [email protected]:1447347113
-rwxr-xr-x 1 jlpoole jlpoole 3537 Nov 12 21:05 #README#
-rwxrwxr-x 1 apache apache 15216 Nov 12 04:20 timepollhead.rb
-rwxrwxr-x 1 apache apache 3276 Nov 12 04:20 timestring.rb
-rwxrwxr-x 1 apache apache 2296 Nov 12 04:20 vcs_bzr.rb
-rwxrwxr-x 1 apache apache 2777 Nov 12 04:20 vcs_git.rb
-rwxrwxr-x 1 apache apache 2687 Nov 12 04:20 vcs_test.rb
themis dudle #
I also tried creating a "Normal Poll" rather than an "Event Schedule Poll" and got the same error message.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.