#154 Mentorship app idea: using Badges data to suggest points of contact for newbies
Closed: Invalid 2 years ago by ankursinha. Opened 5 years ago by ankursinha.

I had a brainfart this morning while thinking about mentoring. We need a system that:

  • allows contributors to volunteer as mentors
  • allows newbies to find these volunteers
  • allows some tracking of newbie-mentor relationships
  • spreads the mentoring load somewhat evenly

From fedmsg and badges, we have data on what different community members do. So for example, my badges data will show that I am quite active with packaging/testing. So, this data can be used to say that I have some skills in these areas.

Now, if we had a web app that:

  • took this data
  • generated a set of "skills" for the community members with some range (very active in packaging)
  • allowed newbies to search it to find community members that they could get help from
  • allowed newbies to "request mentorship" to get in touch with these people
  • allowed contributors to set how many people they can mentor (and if they've reached their limit, suggest other mentors)
  • allowed mentors to look at newbies looking for mentors and get in touch with them

we could automate that whole "finding and connecting with a mentor" process.

It's only an idea, and anyone who thinks its worth working on will have to flesh out implementation details (and write the code, of course).


Out of curiosity.
Which tools should be used to grab this data? datagrepper?

I'm working on it.
In order to extract useful data, I come out with these observations to include in the algorithm, in order to save network bandwidth and cpu cycles:
- take into account badges awarded since a specific year (2016?)
- take into account contributors where the last_seen attribute in FAS is greater that a specific date (2019-01-01?)
- some badges doesn't tell us anything, so they can be excluded (like Mugshot, You have a Libravatar associated with your Fedora OpenID, or Origin You pinned your country in FAS!, and other badges related to simple interactions with FAS)
- exclude the badges awarded to a huge amount of people: some badges (i.e. Koji Success I) are awarded to thousand of people, maybe because they are issued for a simple task

The result will be a Json file with this structure.

Ok
Here https://alciregi.fedorapeople.org/Join154/ you can find the Python script (sorry, but I'm a dummy) and the resulting data.

The resulting Json is like this schema:

{
   "badge_id":{
      "id":"badge_id",
      "description":"Badge description",
      "tags":[
         "badge_tag_1",
         "badge_tag_2"
      ],
      "users":[
         {
            "username":"contributor1",
            "country_code":"DE",
            "lastseen":"Jul 09 2019",
            "awarded":"Feb 11 2019",
            "memberof":[
               "magazine",
               "ambassadors",
               "cla_fpca",
               "cla_done"
            ]
         },
         {
            "username":"contributor2",
            "country_code":"CL",
            "lastseen":"Aug 26 2019",
            "awarded":"Aug 05 2017",
            "memberof":[
               "advocates",
               "cla_fpca",
               "cla_done"
            ]
         }
      ]
   }
}

To query the data, here are some examples:

Sorry but I'm not an expert of the jq command nor of Json.

Display username and country code of contributors awarded with badges tagged as content
jq -a '.[] |select(.tags[] | contains("content")) | .users[]' data.txt | jq -r '[.username, .country_code]|@csv'| sort |uniq

Get users awarded with badges which description contains the word "classroom"
jq '.[] | select(.description | test("classroom";"i"))' data.txt | jq -r '.users[].username' | sort | uniq

...
jq '.[] | select(.description | test("flock";"i")) | .id , [ .users[].username ]' data.txt

And here you can try the app

https://alciregi.fedorapeople.org/Join154/badges.html

I'm not a web developer, it is a prototype only :-)

In the search form you can put a text that it will search in badges tags and description of the badge.

That looks very good!

Before we go any further though @alciregi , is the badges app going to remain active, or is it going to be taken down as part of the CPE team's duty restructuring process? :(

That looks very good!
Before we go any further though @alciregi , is the badges app going to remain active, or is it going to be taken down as part of the CPE team's duty restructuring process? :(

You mean https://badges.fedoraproject.org/
Didn't notice it was planned to shut down badges. But it worth to investigate.

🤔 From https://communityblog.fedoraproject.org/application-service-categories-and-community-handoff/#more-7975, badges app falls in Category 3.

That is "We don’t maintain it, we don’t run it" - This represents an application that we need to move into a mode whereby somebody other than CPE needs to own it. This represents some work on CPE’s side to ensure continuity of service and to ensure that an owner is found for it [...] Category 3 apps ultimately do not fit within CPE’s mission statement and our intention here is to have a maintenance wind-down period. That period will be decided on an app-by-app basis, with a typical wind down period being of the order of 1-6 months. For exceptional circumstances we may extend this out to a maximum of 12 months. That time frame will be decided in consultation with the next maintainer and the community at large to allow for continuity to occur.

Badges — This application has been in maintenance mode for a while now. The work to port it to python3 has been started but it still needs to be ported to OpenID Connect, fedora-messaging and moved to openshift. We invested some time recently to identify the highest pain point of the application, log them in the issue tracker as user stories and start prioritizing them. We however, cannot commit to fixing them.

in the last nest virtual event there is some initiative to disable the actual badged system and go for a new one and open badged system:

https://www.youtube.com/watch?v=dasJxWs_oiM

Regards.,

And looking at the new Welcome workflow, this proposal could be useless.
In any case this ticket is stale.
(However Fedora badges will continue to work as is still for a long time).

I propose to close this ticket.

Metadata Update from @ankursinha:
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata