Discourse Topic Voting

I really enjoy this plugin - thank you to the developers who work on it, its a big boon to my Discourse community.

I’m curious about users gaining votes after using all their votes. I have increased the caps for user votes a few times because some of our most engaged community members vote on a lot of topics. I was wondering if votes could be re-generated for a given user over time up to a cap, or if there was another way to reward users with additional votes. It seems like the main mechanism for granting votes is a static number for an entire trust level, but I might be missing something.

Thanks!

2 Likes

Hey nivshah :waving_hand:

If I’d have to hazard a guess, the reason you can limit votes is so that your members use them wisely and don’t vote for everything else it kind of devalues a vote.


At the moment one way users can get their vote back is by closing the topic. Let’s say you decided to implement a voted feature into a game for example, you can close the topic and this will refund users that vote if you will and they will be able to use it on another topic.

4 Likes

Closing a topic is exactly what I needed here. Thank you.

2 Likes

:partying_face: This plugin is now bundled with Discourse core as part of Bundling more popular plugins with Discourse core. If you are self-hosting and use the plugin, you need to remove it from your app.yml before your next upgrade.

2 Likes

I might have missed this, but is it possible to change your vote once you’ve submitted it? Say a user accidentally votes for the wrong topic, or changes their mind - are they stuck w/ their mistake?

They are apparently able to be liked now according to this topic on a forum I am in: Suggestion Topics can be liked now - Not Terraria Related - Dark Gaming

I’m not sure this is intended but I just wanted you to know

I think it’s because the reaction plugin is enabled. The code from the topic voting plugin that hides the like button doesn’t hide the reaction button.

You’d need CSS that hides the reaction button and existing reactions. Something like

.topic-post.voting-post {
  .discourse-reactions-actions,
  .discourse-reactions-actions-button-shim {
    display: none;
  }
}
2 Likes

Hi,

We noticed the following site settings which control the active vote limit for each Trust Level:

  • topic voting tl0 vote limit

  • topic voting tl1 vote limit

  • topic voting tl2 vote limit

  • topic voting tl3 vote limit

  • topic voting tl4 vote limit

We would like to effectively remove or disable the vote limit for all or most Trust Levels (TLs), allowing users to have an unlimited number of active votes.

Could you please advise on the recommended way to achieve this?

Is there a specific value (e.g., setting it to 0 or -1) that signifies unlimited votes for these settings?

Thank you.

1 Like

That sounds handy in your case – but a topic creator may not always want to vote for that topic. A comment I made elsewhere:

1 Like

You can always un-vote a topic. Each user has limited votes at their disposal, so this is necessary.

Fair point. I’d love for it to be a configurable option, though.

1 Like

Is there a way to configure advanced search with topic voting? I saw this post, but it is closed: Is there a way to filter serach results based on Voting? , and I have users wondering. We only have a few places where you can vote, so would be great if you could limit the search in advanced search and sort by votes.

Advanced search won’t currently do it, but the filter parameters mentioned in the linked post might be more helpful than it seems at first glance. Not quite as handy as an advanced search option, but maybe better than nothing:

There are a few different voting factors you can filter on:

And depending on how you track things, you can either:

  • add status:open
  • exclude a tag with a “-” in front, like -tag:completed

So you can see the most popular open requests with a filter like:

  • category:feature status:open order:votes
  • category:feature -tag:completed order:votes

Then, for your users, you could save the filter URL to a sidebar link:

  • /filter?q=category%3Afeature%20status%3Aopen%20order%3Avotes%20
  • /filter?q=category%3Afeature%20-tag%3Acompleted%20order%3Avotes%20

When a filtered view is open, the filter parameters are shown, and a user can add additional keywords to narrow it down further:

Filter entry window with a keyword added to existing params.

1 Like

Not perfect, but looks like there is more possibility there than I realized. Thank you.

1 Like