Hi guys,
We use Discourse over at zenAud.io community and I really want to make a poll that allows users to add their own option to vote for like Facebook does:
Could this be an option for a future update?
5 Likes
Seems like a Good idea but how are we supposed to handle trolls? what if someone just ads random option that is irrelevant to discussion and everyone else just starts trolling by selecting that?
Or maybe everyone ads their own opinion and votes for it! No clear majority.
My recommendation:
Create a topic soliciting vote-able âitemsâ for a future poll
Gather feedback in the topic replies for a period of time
After gathering feedback, then create the poll using the most popular items (you can count likes on the posts to determine this)
Allowing anyone to add a new option to a poll at any time is a recipe for chaos.
7 Likes
loginerror
(Maciej KuĆșmicz)
March 14, 2020, 9:50am
5
I was just looking for similar functionality that would facilitate finding the best time to have a meeting (Doodle-like functionality, except in this case users could suggest the time that fits them).
It could still work for closed groups where you have a smaller subset of users with less likelihood of it being abused.
riking
(Kane York)
March 14, 2020, 7:42pm
6
You still have a giant result bias towards options added earlier, except in rare cases of massively compelling new options.
The best way to handle this is to have a discussion about what options should be available before you start the poll.
7 Likes
sam
(Sam Saffron)
March 16, 2020, 3:46am
7
On that topic this is an âautomationâ type workflow @joffreyjaffeux and I have been thinking about.
Instead of a poll, you have users post a list of dates they can or can not make, and the the OP can help find the ideal timeframe for the event based on the replies, dynamically.
We are also investigating adding more event support to our discourse calendar plugin so we may consider this.
4 Likes
nathank
(Nathan Kershaw)
June 9, 2020, 11:26pm
8
sam:
Instead of a poll, you have users post a list of dates they can or can not make, and the the OP can help find the ideal timeframe for the event based on the replies, dynamically.
Weâve got a botched together way of doing this, which works quite well. The only issue is that there is a not insignificant admin burden to set one up, and this might benefit from your workflow wizardry. I thought it up, and @pacharanero has documented it:
pacharanero:
Doodle-esque polls in Discourse
You can use tools entirely within Discourse to create a âDoodleâ-like poll which automatically shows users the dates and times in their local timezone. This is brilliant for arranging video (or physical) meetings.
So now thereâs no need to use an external service when trying to determine the best time for a meeting, or to die by 100 emails. It takes a bit of finesse, but isnât too hard for those used to Discourse.
How to do it:
Create a post or a private message for the poll to go in. Whether you use a post or a private message will depend on whether this is an open meeting or one where you want to specifically invite certain individuals.
Using the âInsert date/timeâ tool in the Discourse composer toolbar, create the date/time options you will put into the Poll. Initially these options can just be put into the post text in the composer, you will copy and paste them into the Poll later.
For example, here are some dates created in this way. Note that if you hover the mouse over them it shows you the date/time in a selection of timezones (you can configure which timezones are shown using the Advanced button in the date/time tool dialog box). Another neat thing is that you can directly edit the data in the date/time, copy and paste them, etc which makes it very quick to create multiple date/times.
The text that is automatically created in the Composer looks like this:
But it will be shown on the right hand side in its fully rendered form like this, and this is what users will see in the Poll.
2020-02-24T08:00:00Z
2020-02-25T12:00:00Z
2020-02-26T16:00:00Z
Select the text of all the options in your list and Copy them to the clipboard (Ctrl+C, or right-click and select Copy)
Create a Poll using the âBuild Pollâ option, again from the Discourse composer toolbar, this time you need to access the dropdown from the menu:
Choose âMultiple Choiceâ or âSingle Choiceâ according to whether you want users to be able to choose several available options, or only one preferred option.
I would suggest to also select Results âAlways Visibleâ so that people can see what other people have chosen (unless you donât want them to).
You can also tick âShow who votedâ which would seem sensible for a poll on meeting times, but maybe there are times you donât want that.
And of course you can choose to âclose the Poll automaticallyâ at a given time so that people have to respond by a deadline in order to vote. (you need to scroll down slightly below âShow who votedâ to see that checkbox)
Paste the copied text into the large text box âEnter one poll option per lineâ
01aec341650b666ee69dcaa2864c54ad9a3c1655|316x250
(Incidentally you can create a poll on anything, not just dates/times - there are lots of other features in the Polls tool, so feel free to experiment, maybe by sending Private Messages to yourself or colleagues.)
Here is the markdown of the finished poll
[poll type=multiple results=always min=1 max=3 public=true chart Type=bar]
* [date=2020-02-24 time=08:00:00 timezone="Europe/London"]
* [date=2020-02-25 time=12:00:00 timezone="Europe/London"]
* [date=2020-02-26 time=16:00:00 timezone="Europe/London"]
[/poll]
One of the neat advantages of this over Doodle is that people can still reply in text form under the poll, which can be helpful if there are other parameters to consider such as location, videoconferencing needs, AV arrangements etc. And of course the record of the decision is right here in your Discourse instance rather than being scattered around the web on other peopleâs computers!
2 Likes
nathank
(Nathan Kershaw)
June 9, 2020, 11:27pm
9
This is the actual poll (it couldnât be done inside a quote):
2020-02-24T08:00:00Z
2020-02-25T12:00:00Z
2020-02-26T16:00:00Z
1 Like