====== doodle3 Plugin ======
---- plugin ----
description: Let users vote for given choices, e.g. to schedule a meeting. (Inspired by doodle.com and doodle2-plugin)
author : Matthias Jung, Robert Rackl
email : matzekuh@web.de
type : syntax
lastupdate : 2017-03-30
compatible : ponder stibbons, hrun, detritus, elenor of tsort, frusterick manners, Greebo, hogfather, igor
depends :
conflicts : doodle, doodle2
similar : doodle, vote, userpoll, doodle2
tags : vote, doodle, schedule, poll, doodle2
downloadurl: https://github.com/matzekuh/dokuwiki-plugin-doodle3/zipball/master
bugtracker : https://github.com/matzekuh/dokuwiki-plugin-doodle3/issues
sourcerepo : https://github.com/matzekuh/dokuwiki-plugin-doodle3/
donationurl:
screenshot_img :
----
===== Description =====
Since Dogiemucs doodle2 plugin did not see any changes and fixes since 2011-01-20 I encountered various problems in using his plugin. There seems to be no activity on github at all so I decided to adopt this plugin. The code of this plugin is widely copied from Dogiemucs code but contains fixes and improvements.
With this plugin you can offer your visitors a poll, where each user can vote for one (or more) choices. This is a unification of the [[doodle]], [[vote]], and [[userpoll]] plugins. I tried to implement all their **features** into one plugin:
* duplicate votes can be prevented by IP or voting can only be allowed for logged in users
* logged in users can edit their vote afterwards
* a poll can be closed
* a poll can be moved to another page without loosing its data
* well documented code
===== Installation =====
Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually.
===== Syntax and Usage =====
* Option 1
* Option 2 **some wikimarkup** \\ is __allowed__!
* Option 3
* The ''title'' is also used as "key" for the plugin's data file under ''/data/meta''
* ''adminUsers'' and members of the ''adminGroups'' can always edit any entry
* ''voteType="single"'' shows round checkboxes where only one can be chosen
* ''voteType="multi"'' lets users check any number of square boxes
* ''fieldwidth'' (optional) defines the width of every option column, valid options: ''auto'' or like ''123px''
* If ''closed="true"'' is set, then users cannot vote anymore. The result of the vote will still be shown.
* If ''closed="YYYY-MM-DD hh:mm:ss"'' is set, users can't vote or change their vote after the defined timestamp. Uses mysql datetime representation((https://dev.mysql.com/doc/refman/5.7/en/datetime.html)). You can leave out values beginning from the right if you don't need the timestamp to be that specific.
Only the title and at least one option are required. Do not change the options and their order, after the first vote has been casted! You may move the whole doodle to another page, whenever you want.
===== Authentication =====
By default anyone can vote, even multiple times under different name. In this mode users cannot change their vote, once they submitted it.
You can prevent multiple votes, by setting ''%%auth="IP"%%''. Then users will be authenticated by their IP address((which is **not** a very good way of authenticating users. But at least it requires no registration.)).
If you set ''%%auth="user"%%'' then only registered and logged in users are allowed to vote. This has the advantage, that users later on can edit their vote, i.e. change their mind. In this mode, the users fullname and login name are automatically set for the vote.((You have no idea how complicated this can get. But don't worry, the plugin takes care of all that. For example, let's assume someone starts an open vote, and after some votes changes this to ''%%auth="user"%%''. Now user "Peter" logs in. But someone (maybe anyone) may already have voted with the name "Peter". In this case, this becomes Peters vote, and he might change it.))
===== More Details =====
The doodle's data is saved in ''/data/meta/title_of_vote.doodle''. The filename is the (masked) title. This has the advantage that you can move your doodle to another page, without losing the data.
Each of the green success icons has a popup title, that shows when this vote has been casted.
==== Version History ====
This plugin is widely based on dogiemucs plugin [[plugin:doodle2|doodle2]] which was based on the plugin [[plugin:doodle|doodle]]. dogiemucs plugin was considered the successor of [[plugin:doodle|doodle]] by both dogiemuc and the author of [[plugin:doodle|doodle]].
As both plugins were not maintained any more I copied wide parts of the code to improve the plugin and bring it back to life.
=== Change Log ===
{{rss>https://github.com/matzekuh/dokuwiki-plugin-doodle3/commits/master.atom date}}
=== Bug Tracking ===
[[https://github.com/matzekuh/dokuwiki-plugin-doodle3/issues]]
===== FAQ =====
When the admin user edits a user's vote, the admin's username is shown in brackets after the user in the "Real Name" field. Is it possible to make this optional?
Also, is there any way to adjust the size of the Real Name field?
Bob (24 Oct 2017)
===== Feature requests =====
==== Replacement patterns ====
Could the doodle accept Replacement patterns such as @DATE@ or @ID@? This would vastly increase usability when created via a [[:namespace_templates|Namespace Template]]. Alternatively, an option to save doodle masked below the namespace it was created in would work as well.
(requested by Bob in 2017)
==== Suggestions by Bob ====
Some suggestions:
* It would be useful if the header categories could optionally be shown at the bottom of the table. This is relevant when the table grows longer than the page height so new users don't have to scroll to the top to see the titles.
* Optionally hiding submissions from other users would enable only privileged users, say administrators, to see everyone's votes. This could be beneficial if the objective is to maintain privacy.
* A demo page for Doodle3 would be useful to show off its capabilities.
Bob :)
==== Non-user votes ====
Another suggestion:
* admin should be able to add lines with names, who are no users.
Helmut
==== Export to exel file ====
Another suggestion:
* admin should have the possibility to export data into excel file
Tiritchi
==== A mode for exclusive choices ====
Sometimes, the option of a doodle should be chosen by exactly one person. Think about the seats in a theater. It would be nice if there was a way to make choices exclusive. --- [[user>KaiMartin|KaiMartin]] //2018-10-27 22:19//