DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:doodle2

This is an old revision of the document!


doodle2 plugin

Compatible with DokuWiki

latest version of dokuwiki, rincewind, angua

plugin Let users vote for given choices, e.g. to schedule a meeting. (Inspired by doodle.com)

Last updated on
2011-01-20
Provides
Syntax
Repository
Source
Conflicts with
doodle, doodle3, doodle4

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to doodle, doodle3, doodle4, userpoll, vote

Tagged with doodle, doodle2, poll, schedule, vote

Description

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

There is a DEMO online on my private homepage.

It's unbelievable how active this plugin got. I get feedback posts nearly daily. I am only developing this plugin in my spare time. So please understand that I will not be able to implement all requested features. Of course you are free to upload an improved version to github. This is open source after all.

Download and Installation

You can install the plugin with the Plugin Manager and this URL:

Refer to Plugins on how to install plugins manually.

Syntax and Usage

<doodle
  title="What do you like best?"
  auth="none|ip|user"
  adminUsers="user1|user2"
  adminGroups="group1|group2"
  voteType="single|multi"
  closed="true|false" 
>
   * Option 1 
   * Option 2 **some wikimarkup** \\ is __allowed__!
   * Option 3
</doodle>
  • 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
  • If closed=“true” is set, then users cannot vote anymore. The result of the vote will still be shown.

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 address1)
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. 2)

GitHub

This plugin is open source! So feel free to impove it. I imported the code to GitHub: https://github.com/Doogiemuc/Dokuwiki-Plugin-Doodle2

More Details

The doodle's data is saved in <dokuwiki>/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

A word about the name of this plugin. This plugin is simply named “Doodle”. There is a older Plugin Doodle. Its author and me both consider this plugin as the successor of the older plugin doodle version one. I only created this page with the name “doodle2”, cause I didn't want to overwrite the old one.

  • 3.0: Multiple Plugins in one page now works, moved all JavaScript to script.js
  • 2.3: old stuff
  • 1.0: the old doodle

Comments / Discussion / Feature Requests

I've setup a GetSatisfaction page for this plugin. Please post FeatureRequests there. I am coding this little plugin in my spare time. So it might be that I can't fix bugs immediately. Feel free to port this plugin to github (I am not git expert) and happy coding.


See also my other plugin iCalEvents



Please provide a plugin.info.txt in your plugin archive to have a proper install after using the plugin manager. See plugin_infolupo49 2010/12/27 20:15

Ok I added that file. — Robert (plugin author) 2010-12-28 12:10


By the way. I am having trouble to add more than one doodle on a page. Having two and more doodles, the edit and delete function for the admin is not working (tested on different browsers using the latest dokuwiki).

This is now fixed in version 3.0. – Doogie (plugin author)


Cannot Install using Plugin Manager 2011-01-16 18:58

  • I could not install automatically using Plugin Manager
    • Info button could not show information
    • Manually extract the TAR.gz in the lib/plugins solved the problem
    • Manual extract creates doodle as plugin dir, instead of doodle2 using the plugin manager

This should now also be solved, since I provided a plugin.info.txt file. – Doogie

  • No, it still does not seem to work (Info button still shows an error, and the whole plugin does not work until one renames the folder from doodle2 to doodle) 2011-07-10 15:31

How to clear the Poll??

  • e.g. to restart the same poll again next time.

⇒ you can chose another title for your new poll, or delete the data file under <dokuwiki>/data/meta/title_of_vote.doodle


Please rename your plugin. Doodle is a Trademark. So everyone using this nice plugin has to fear trouble with the law. Please replace all “doodle” in the code too.

http://doodle.com/about/tos.html

Doodle behält sämtliche Urheber- und sonstigen Rechte an den Diensten. Sie sind nicht berechtigt, 
rechtliche Hinweise (z. B. Urheberrechts- oder Markenhinweise) zu entfernen, zu verdecken oder zu verändern. 
Sie dürfen die Marken von Doodle (insb. DOODLE) nicht für eigene Zwecke – egal welcher Art – nutzen.

js

This is not necessarily true. See the discussion about this issue on the mailinglist. — Anika Henke 2011/03/31 23:14

I've found an issue on 2011-11-10 “Angua RC1” (Debian 5.0 Lenny). If you install the plugin with the Plugin Manager or manually it makes the “lib/plugins/doodle2” directory. The plugin is not working, is not able to parse the <doodle> tag. But if you rename the doodle2/ dir to doodle/ it runs like a charm:

$ cd DOKUWIKI/lib/plugins/
$ mv doodle2 doodle

Don't know if it's happening only to me or there are more users that have seen this issue. Oscar M. Lage 2011/12/09 15:26

This is due to the plugin.info.txt having the wrong “base”. It should be “doodle” and not “doodle2”. — Anika Henke 2011/12/10 00:49

Hello Anika. Thank you very much for your answers! The doodle plugin already installs into the <plugins>/doodle directory. Therefore I named my plugin “doodle2”. – Robert (plugin author) 2011/12/28

Yes, I'm aware of that. But your code doesn't reflect that name and therefore doesn't work in a doodle2 directory (and therefore is incompatible with the doodle plugin). The better solution to this is to rename “syntax_plugin_doodle” to “syntax_plugin_doodle2”, then it would work in a “doodle2” directory (and you would get more than 0 popularity points). You should read more on plugin names and plugin file structure. — Anika Henke 2011/12/28 12:55


It would be nice to have a option to be able to enter any name (as a anonymous voter) even if the contributor is logged in. – nodens 2012/03/02 12:55

Update : I wrote a quick & dirty patch for doing just that. See this request on getsatisfaction. nodens 2012/03/02 16:01

How to actually use the plugin?

I have not succeeded in using this plugin.

I enabled inline HTML and PHP from the settings, and tried to paste the sample code into the page. When saved, it just shows me the code but no “poll”. Is there something I should know about PHP or something else?

2012-03-22 15:00 Marko

1)
which is not a very good way of authenticating users. But at least it requires no registration.
2)
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.
plugin/doodle2.1332421390.txt.gz · Last modified: 2012-03-22 14:03 by 130.188.8.27

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki