#17 Badges Widget for Project/Teams (with Path Support)
Opened 4 years ago by mattdm. Modified 2 years ago


A widget an admin can add to a hub showing users and badges which are important/relevant to that hub.

My first thought was to list users and then underneath that, their relevant badges. But on reflection, I think we want to highlight "badge paths" relevant to the hub, and then show which members are where on that path.

Just some notes:

We don't currently have a structured mapping out there of what badges are relevant to what teams/hubs... so we'll have to make the listing manual, I think.

The widget will need to take a list of badge ids as an @argument.. and hub admins will have to manually enter those.

Couldn't we use the "tag" feature on Fedora Badges? We could tag particular badges as being related to a team or subproject? We do that currently for "event" badges, and I could imagine doing that for Subprojects too? It'd work nicely because there are event based badges for FADs that are specific to parts of Fedora?

That is likely a feature that only lives in the tahrir database, and not in datagrepper, so if we wanted something deeper, then we'd need another solution?

We could.. but it would put the responsibility for correctly tagging all the badges in the hands of the badge admins.. who don't necessarily know all the things about all the teams.

By making hub admins explicitly list things, it puts the decision and execution in their hands.

Noting here that @decause and I talked about this more in person and I've switched over. Let's use the "tag" feature from Fedora Badges to make this easier for hub admins to set up.

So - to be clear, the widget should only take a "tag" as a single argument, and it will then pull all the badges associated with that tag to display in the widget.

@ralph hi :) it will be helpful if you can drop a few points on how to proceed with the api to extract the badges according to the tags, as in the 'source'/listing manual. Thankyou.

Hi @devyani! I don't think Fedora Badges has an API endpoint yet that can do this. We'll probably have to write it there first, then deploy it, and then write the hubs feature that uses it.

Want to take it on? The source code for that webapp lives at https://github.com/fedora-infra/tahrir

Something mleonova brought up in today's meeting - not every group will have a badge or badges.

One concern about using tagging as the mechanism is that if there's a specific ordering to a badge series, that's lost... eg I'd envision a group-specific version of the badges widget suggesting paths or quests users could go on (kind of like one of the early QA badge series we have, the 10 different ones that go in order.) It would look weird if the paths had an order to them (esp if it's baked into the artwork) and they didn't display in order. Is there an ordering mechanism somewhere else in badges?

There is no such mechanism in the badges app itself.

We could implement it there.. or implement it in fedora-hubs.

Badge paths seems like it's a feature that should be in tahrir and hubs would just display it, imho. Can file a bug against tahrir.


For user profiles, this ticket has a mockup to show how a path badges widget would work on a user profile:

I will use this ticket for the group profile version.

Here's a cut at the team badges widget. This is mocked up around linear paths and not a skill tree. (Skill tree: issue #181 )


Here's a cut at the team badges widget. This is mocked up around linear paths and not a skill tree. (Skill tree: issue #181 )


(Note that this ticket requires adding path support to the badges system.)

@sayanchowdhury I can start working on the layout/styling for this one if you can have it output dummy data like we're doing with #85 - just let me know.

@duffy Sure, I will update you with the same.

Update from 22 November 16 meeting:

  • I need to think on how to get the data for the team badge rank as badges does not know the members of the hub. A possible way is to send the list of users to badges, compute the result on badges side and send back the response
  • Open + Non-Mission Team Badges are those badges which are not part of any series but associated with a team. Need to think on how to implement this one

For now we will skip and release the widget, then work on this two points

I've had it on my plate to work on the html/css template for this. i haven't been able to log in on my instance because of the 400 issue. I will still try to play with this in the meanwhile puiterwijk fixes it, hopefully tonight.

Update on the 3 Jan meeting:
@duffy tried to implement front end but got ISE errors. @sayanchowdhury had pointed it at his local instance to get the data. @sayanchowdhury will some dummy data to the code.

so I am blocking on @sayanchowdhury adding the dummy data in. Let me know as soon as it's in so I can get started!

@sayanchowdhury added the dummy data in and just helped me get it working on my side so i'm set to start the templating now!

Notes from our CSS meeting last week:

the number of team badges listed should also show the number that user has, so they know how many remain to get
“Open and non-mission badges” needs to be rephrased. It almost certainly is supposed to refer to badges that are not part of a series that the user does not yet have.
“Team Badge Rank” is unclear, and should be something like “Your Team Badge Rank” to be clearer.

In addition, it's unclear what to expect from 'view all badges': all team badges? All the user's badges?

I'm not sure if I should be entering bugs for the info we need to make this widget possible:
- information about non-series badges for a team
- the most recent badge earner
- the most recently earned badge earned by the most recent badge earner.
- the number of badges ranking of a particular user compared to the rest of the team

And hopefully we will be able to tell the most recent team badge a user has completed once we have access to non-series badges.

Login to comment on this ticket.

Attachments 2
Attached 3 years ago View Comment
Attached 3 years ago View Comment