The discourse forum software has its own badges feature — see Fedora Discussion: Badges. This is, unsurprisingly, focused entirely on use of the forum itself. Of course, Fedora has our own Fedora Badges, which cover all sorts of things.
This has always kind of bothered me, and as use of this site continues to grow, bothers me more and more.
So, a straw poll.
- Just leave 'em; it is fine.
- Rename Discourse badges to “Forum Flair” or something
- Disable Discourse badges on this site entirely (it’s an easy checkbox)
- Wait, hold on — bring all of the badges here!
I know that last option seems suspiciously like “Matthew is trying to turn everything into Discourse”, but maybe it’s not completely crazy? Our existing badges system needs a new front end. And Discourse badges can be granted through the DiscourseAPI, and in turn trigger webhooks (which, thanks @ryanlerch!) are now going to the Fedora message bus. And they can have custom art (see for example).
I voted #1 but #4 sounds like a good idea too, provided we don’t end up preventing contributors who don’t use Discourse from getting badges
Keep in mind the order changes as people vote, so that might not make sense later.
The current badges system requires people to log into badges.fedoraproject.org at least once before badges show up, although I think they get “secretly” counted even if you don’t. I expect if we migrate to use this as a front end, we’d have something similar.
Ah. Do you mean that badges.f.o. frontend could be replaced by Discourse?
to be honest, the frontend of badges is probably the least complex part of Fedora Badges. The backend that actually awards the badges according to specific defined rules is the complex part – and would have to remain even if discourse becomes the frontend for browsing badges.
Really what we should be considering is when Fedora will have a Gamerzilla server to store our game achievements. We now have several games in Fedora 35 with Gamerzilla support.
It might be the least complex, but it still definitely needs a lot of work. I know there as a thing recently where caching was turned off, and performance wasn’t great before that — and there are a bunch of bugs like the thing where it gives you an error when you award a badge manually.
My thought is that this would at least reduce the amount of work and allow the team to focus on the backend (and perhaps on styling and theming the badges presentation here). It also might make the backend more lightweight to rely on Discourse as the database, at least for records of who has the badge and for the badge icon and description. (And possibly even for the badge trigger definition, although that might be a horrible idea.)
But, even if that’s not useful, we could still mirror all of the badges here and display them.
The idea on using Discourse as the Badges front-end is neat. It would need close consultation with the designers who interact with the front-end on processing badges. I also would think a hackfest might be in order to make any necessary migration work happen.
is anybody else using discourse this way?
Not that I’m aware of. I checked with the support team, and they’re not concerned about performance, but think that http://discussion.fedoraproject.org/badges would become pretty unwieldy. But it’s actually no worse than what we already have at https://badges.fedoraproject.org/explore/badges — that page was clearly designed before we had so many!
And from a coding perspective, it’s not hard. I was playing around last night and made a script which can take a name, description, and badge image and upload them here. (And can award badges, too.)