Why not use Discourse forum with petitions category?

Continuing discussion from @viktor: Dashicons, FontAwesome, or Custom Icons?

That is a really interesting plugin!

Biggest issue would be the migration. Even before considering something like we would need a solid plan to make it as painless as possible. There are well over 200 users registered, tons of votes (we can export but not assign to a user) and who knows how many comments.

That would arbitrarily inflate some petitions as users would technically be allowed to vote more than once.

So, yes I like it! But, I don’t think it is something we can consider at the moment :slight_smile:

1 Like


No, there isn’t unfortunately. What would you want updated? I can pass along our comments to their devs as they are pretty active.

Might it be possible to prevent new petitions on the petitions site, with all new petitions using the Discourse plugin?

1 Like

Migration of content is the easy part. But you’re right, voting would most likely be doubled.

If this is something that could be considered later, it might be best to be considered now simply because it’s small enough to not cause much pain to switch.

Later, we might have 2000 users and 5000 petitions, with thousands of comments and votes. That would make it a lot more difficult to migrate.

One thing I do like about having petitions on forum, users should be more engaged with it since it requires no new accounts and they already logged in.

It won’t hurt keeping current petitions site, but I wanted to make sure we know what our alternative is.


Thought about that too. Maybe list all petitions on old site as links in one long forum thread, pinned.

1 Like

We should test voting plugin first, here or on a dev instance. I haven’t worked with Discourse, so don’t have first hand experience with its backend.

Great point!


Looking at this from a user perspective - which is 99.99% of my involvement on the petitions site - I’d love to see it over here instead as IMO the petitions site really, really sucks.
We need it - there’s no two ways about that - but it takes way too much time to deal with, and as a result I’m not as involved as I’d like to be.


I’m happy to take on this project, if committee approves it.

Initially, I would setup instance of Discourse and test voting plugin to make sure it works as expected. It would be live instance of Discourse, so anyone interested could check out voting capabilities.

With the switch, we have 2 options:

  1. Migrate all petitions to the forum and the comments. Possibly transfer vote counts. This does allow people to double vote if they wanted to.

  2. Leave petitions on the existing site but prevent any new petitions from being created. Created a pinned thread with a list of links to existing petitions for people to visit and vote. In this case, how long do we keep old site? Now we got 2 petition pages, more complex.

In my opinion, double votes isn’t a huge problem and many of us are responsible enough not to vote again on the issue we know we’ve voted on already.

Right now is the perfect time to make the switch because there will be more users and petitions created, and migration later will be more complex, more time consuming, and cause even more problems.

So this is a good time to simplify CP infrastructure, and bring more stuff to the forum, to the community.

1 Like

But, what if we bring the petitions here without votes and ask people to vote again? Sort of: please check which petitions you voted (are highlighted on petition site) and vote accordingly in the forum.
On the (date) petition site will be deleted, make sure to attribute your votes on time.


That’s an option too, I’m not against it. But we won’t get the same counts as before. Some people might not come back or care to do it again.

1 Like

I know, it’s not a perfect solution.
From what I have understood problem arises for users of the two platforms aren’t in sync, correct me if I am wrong. This makes it impossible to tell discourse who posted/voted what. That means data base tables are different. Data base is simply an Excell like doc (it can be accessed that way, I mean) and can be manually populated in the correct way (reading data from one data base, writing them at the right spot in the other).
Had to do this once with a database4 instance gone astray…
If that is impossible with our sites then I’ll silently crawl under covers again. Dealing with migragne this morning so my reasoning may be unclear and not sharp.

How big a job would migrating votes and comments be? Can it be automated? If not, I’m happy to donate some man-hours to manually re-populating if that’s a necessity.

It sounds like it’s a good move and, if so, better done sooner than later.


I’m in favor of option 1. I don’t see double voting as a major problem if this is done now, and it’s much better done now than later.


I appreciate everyone’s input!

I will try to figure out a plan to make this feasible, there are a couple of things behind the scenes that I would like to have happen before we do a move like this so I need to loop a couple of other team leads in.

@viktor, I will reach so we can at least start testing the plugin on a test forum!


As a user, I really wish we had petitions here on the forums.

As an admin, this is going to be annoying. Still, it’s probably worth doing. Thank you @viktor and @ozfiddler for offering to help, I think setting up the plugin on a Discourse test instance is a great first step.

Behind the scenes, we’ll also look into moving our Fider installation to self-hosted. This will make it easier to migrate data and coordinate the switch-over (when we’re ready, we can set the old site to read-only and put appropriate redirects in place).

I’d suggest making the migration as seamless as possible. Definitely migrate all votes and comments, and ideally link up existing user accounts by email address too.


Does Fider provide any type of export files?

They do, a CSV of the petitions with the number of votes.

Unfortunately, that is it from what I can see. I will be reaching out to their team to help transition to a self-hosted version, that will give us better access to export options as we will have direct access to the database.


They also have a REST API, which is apparently more full-featured than their export files.

We’re using this API to power the Petitions widget in the ClassicPress dashboard (indirectly, we proxy the response through an API endpoint on our servers first). Part of the task will be changing this API endpoint over to use Discourse instead. Links:


I’ll spin up an instance of Discourse and see what’s possible. And will get back to you guys.