Project

General

Profile

Actions

Task #2638

open

Badges for the community (OpenBadges)

Added by Sophie Gautier over 5 years ago. Updated over 2 years ago.

Status:
In Progress
Priority:
Normal
Category:
-
Target version:
Team - Recurring
Start date:
Due date:
% Done:

0%

Tags:

Description

This task is to follow-up the setting of badges and OpenBadges for the community. Attached is a document explaining what we want to achieve using Fedora badges and OpenBadges technologies.


Files

OpenBadgesForLO.odt (474 KB) OpenBadgesForLO.odt Sophie Gautier, 2018-08-14 13:24
openbadges_test.png (290 KB) openbadges_test.png Mike Saunders, 2018-08-16 16:23
BadgeSystemDesignLibreOffice.ods (24.8 KB) BadgeSystemDesignLibreOffice.ods last version as of 2019-03-20 Sophie Gautier, 2019-03-20 18:03
ask_en.json (583 Bytes) ask_en.json Guilhem Moulin, 2019-06-21 01:38
wiki.json (228 Bytes) wiki.json Guilhem Moulin, 2019-06-21 01:51
git.json (223 Bytes) git.json Guilhem Moulin, 2019-06-21 01:56

Subtasks 1 (0 open1 closed)

Design - Task #2911: Design badgesClosedHeiko Tietze

Actions

Related issues

Related to Marketing - Feature #689: BadgesClosedCharles-H. Schulz

Actions
Actions #1

Updated by Mike Saunders over 5 years ago

So to get the ball rolling on this, I've followed the steps in the New Issuers Guide - I've tested this on newdesign.libreoffice.org. There are three important files for defining a specific badge:

So those three files are static and make us ready to issue badges. To actually issue a badge, we create a .json file for each recipient, like this example which awards a badge to me (Mike). The UID must be unique. The main challenge here is generating these automatically, eg when someone performs a specific task in the LibreOffice project. But the files are quite simple.

With that .json file, we can use http://bakery.openbadges.org to "bake" the data into an image. This generates a PNG file which contains all the useful metadata that we defined before - the recipient, the issuer, and so forth. Badge recipients can then display the badges on their websites/social media, and upload them to a "badge backpack" at https://backpack.openbadges.org to view details about them (see openbadges_test.png, attached to this ticket, as an example).

Next steps

Creating badges is fairly simple - that's good. What we need to do now is:

  • Work out how to create .json files for awarded badges, with unique IDs (eg with a PHP script)
  • Then link that script to our project services (Git/Gerrit, wiki, Pootle etc.) so that badges can be generated automatically
  • Find out if using the Open Badges site is OK (I think so), or it'd be better if we hosted "backpacks" ourselves, like Fedora does
Actions #2

Updated by Florian Effenberger over 5 years ago

  • Target version set to Q4/2018

Who's gonna take the lead on this, Sophie or Mike? :)

Actions #3

Updated by Mike Saunders over 5 years ago

Florian Effenberger wrote:

Who's gonna take the lead on this, Sophie or Mike? :)

Let's discuss this at LibOCon, and then make some concrete plans going forward. It'd be a good thing to bring up at the Community Meeting on Tuesday, and I personally won't have much time to work in it before then anyway. I'm happy to take on the technical tasks after, of course...

Actions #4

Updated by Sophie Gautier over 5 years ago

Actions #5

Updated by Mike Saunders about 5 years ago

So, current status:

  • Guilhem has created some JSON queries to get stats from the wiki, so that we can add badges accordingly
  • Sophie is going to define and collect the minimum criteria to open a badge from the different projects and see how we can implement a first set
  • Mike is working with the design community on some shiny badge ideas
Actions #6

Updated by Florian Effenberger about 5 years ago

  • Target version changed from Q4/2018 to Q2/2019
Actions #7

Updated by Sophie Gautier about 5 years ago

  • File BadgeSystemDesignLibreOffice.ods added

Adding the badge system design in progress here

Actions #8

Updated by Sophie Gautier about 5 years ago

  • File deleted (BadgeSystemDesignLibreOffice.ods)
Actions #10

Updated by Florian Effenberger almost 5 years ago

Can you give a status update? I guess we're looking into connecting the various services, is that correct? Any ETA? :)

Actions #11

Updated by Sophie Gautier almost 5 years ago

Florian Effenberger wrote:

Can you give a status update? I guess we're looking into connecting the various services, is that correct? Any ETA? :)

During the in-person meeting, we will share with Guilhem, Mike and Heiko how to finalize the first steps and have a first set of badges available.

Actions #12

Updated by Mike Saunders almost 5 years ago

So, we talked about this at the team meeting in Munich:

  • Sophie is coordinating the types of badges (and levels) to award
  • We have badge designs from K-J as a starting point
  • Explained to Guilhem how it works -- he has shown some cool queries to get data
  • Mike will send a badge image and specifications to Guilhem
  • Then Guilhem installs the badge "baking" software on our infra, links it to a query (wiki or Ask), and generates the command to "bake" the badge

Once that works, we can implement it more widely.

Actions #13

Updated by Sophie Gautier almost 5 years ago

In the meantime, Heiko will open a subtask and work with the design team on the different designs and color codes we could use

Actions #14

Updated by Guilhem Moulin almost 5 years ago

  • Explained to Guilhem how it works -- he has shown some cool queries to get data

Just for the record (given here as a mere example, of course for a real application we'd need some polishing, use the cursor API, some error checking, etc.), we can get a lot of data from the dashboard's ES engine. Everything here is public and can be run anonymously from any computer.

Askbot En users with ≥50 accepted answers (Just noticed the dashboard doesn't register accepted questions as such for non-en languages. Need to check out why.):

curl -gs -XPOST \
    -H "Content-Type: application/json" \
    -H "kbn-xsrf: reporting" -d@/tmp/ask_en.json \
    "https://dashboard.documentfoundation.org/elasticsearch/askbot/_search?size=0" \
  | jq .aggregations.answer_authors.buckets

Wiki users with ≥250 edits:

curl -gs -XPOST \
    -H "Content-Type: application/json" \
    -H "kbn-xsrf: reporting" -d@/tmp/wiki.json \
    "https://dashboard.documentfoundation.org/elasticsearch/mediawiki/_search?size=0" \
  | jq .aggregations.answer_authors.buckets

Developers with ≥250 commits:

curl -gs -XPOST \
    -H "Content-Type: application/json" \
    -H "kbn-xsrf: reporting" -d@/tmp/git.json \
    "https://dashboard.documentfoundation.org/elasticsearch/git/_search?size=0" \
  | jq .aggregations.answer_authors.buckets

We'd also need to perform LDAP (or SortingHat) sub-queries to match public service account info to unique & private name + email addresses.

Actions #15

Updated by Florian Effenberger over 4 years ago

  • Target version changed from Q2/2019 to Q3/2019
Actions #16

Updated by Florian Effenberger over 4 years ago

  • Subject changed from Badges for the community to Badges for the community (OpenBadges)
Actions #17

Updated by Florian Effenberger over 4 years ago

What's the status of OpenBadges, where do we stand? Any ETA for a test-drive?

Actions #18

Updated by Mike Saunders over 4 years ago

OVERVIEW

Open Badges lets us award badges, ie pictures including metadata, to regular community contributors. They can collect badges and share them via social media, their blogs etc. The system has been used by Mozilla and Fedora. The system is largely automatic, but requires preparation and infra tools -- data collection methods, and the software to issue the badges. Website: https://openbadges.org

STATUS SO FAR

Data collection: Guilhem has created queries to get activity on AskBot (EN), the wiki and the developer dashboard: https://redmine.documentfoundation.org/issues/2638#note-14

Q for Guilhem: Do we put these curl queries into a cron job, so they're done once a day, or something like that?

Mike has issued a badge using the three files in https://redmine.documentfoundation.org/issues/2638#note-1

AI Mike: prepare data files for specific badges: AskBot, wiki and dev/code

For design, Andreas Kainz has once again contributed some great work:

POSSIBLE ISSUES

Q for Guilhem: in a recent team call, you mentioned that the tools had moved host or were not being supported, or something like that -- is this a big problem for us?

STEPS FORWARD

The main thing is to link everything together: data collection, the badge generation software, and the badge descriptions/images. We also need a way to inform users when they are awarded a badge. In the ticket, Guilhem says: "We'd also need to perform LDAP (or SortingHat) sub-queries to match public service account info to unique & private name + email addresses." -- so this appears to be possible.

Actions #19

Updated by Sophie Gautier over 4 years ago

Links to the new system:
see this link:
https://support.badgr.com/portal/kb/articles/mozilla-backpack-transition-to-badgr-faqs
and it seems also they offer a local install
https://badgr.org/hosts/

Actions #20

Updated by Guilhem Moulin over 4 years ago

Do we put these curl queries into a cron job, so they're done once a day, or something like that?

Not yet, what I wrote above was just a PoC. Fetching will of course be automated later. Also, need to refactor the script to use ES' scrolling API instead of hardcoding the response size; it's a bit of work but not a real dealbreaker.

in a recent team call, you mentioned that the tools had moved host or were not being supported, or something like that -- is this a big problem for us?

Nope, not as long as the current upstream doesn't dry out nor bounce the project to someone else :-)

The main thing is to link everything together: data collection, the badge generation software, and the badge descriptions/images. We also need a way to inform users when they are awarded a badge. […] -- so this appears to be possible.

Yup. The gluing part also requires a fair amount of work, but that's not a blocker to start issuing badges, especially when limited to a service or two.

Actions #21

Updated by Mike Saunders over 4 years ago

Open Badges status call -- Sophie, Guilhem, Mike -- 4 December

  • Status of software: now it's on badgr.org -- a new implementation, Mozilla version no longer maintained
  • Status of tooling on our infra: new software is on vm134 (newdesign.libreoffice.org) in /usr/local/bin/bakery -> Guilhem sent command to bake badge, different to node.js version. AI Mike: Log in and try to create sample badge with tools
  • Start with Wiki and AskBot -- add Weblate as a data source later. Issue badges for these manually for now, and show off at FOSDEM -- use Andreas K's designs
  • Then add more badges based on Sophie's spreadsheet in ticket (BadgeSystemDesignLibreOffice.ods)
  • Maybe we can have a page to host badges, or users can add them to external "backpacks"
  • At some point we need verification logic, to check if badge is genuine -> Useful for people to show proof of skill
  • Longer-term goal for Guilhem: integration with SSO
Actions #22

Updated by Sophie Gautier over 4 years ago

For information, here is a link to display badges on other backpack https://openbadges.org/get-started/displaying-badges/

I'll also complete the spreadsheet with the cron frequency of badge issuing

Actions #23

Updated by Mike Saunders over 4 years ago

I've created a badge - so the tools are tested and working. Next step is to make the badge verifiable using a JSON file on our website, and then we can start issuing for contributors. I'll present progress at FOSDEM too.

Actions #24

Updated by Mike Saunders over 4 years ago

  • Target version changed from Q3/2019 to Q1/2020

Also updating target version: plan is to have it fully operational by FOSDEM, for at least one service.

Actions #25

Updated by Mike Saunders about 4 years ago

Guilhem's queries in comment#14 are no longer working (return null). In the meantime, before he's back from vacation, I can generate some badges using stats directly from https://dashboard.documentfoundation.org

Actions #26

Updated by Mike Saunders about 4 years ago

Blogpost is live! https://blog.documentfoundation.org/blog/2020/03/10/announcing-open-badges-for-libreoffice-contributors/

Currently I'm generating and sending badges to Ask LibreOffice contributors with over 100 answers -- doing it personally, as discussed earlier. Then I'll move on to badges for another service...

Actions #27

Updated by Mike Saunders about 4 years ago

Badges sent out to Ask LibreOffice contributors. Some positive feedback, and technical help from Mike Kaganski.

Actions #28

Updated by Mike Saunders almost 4 years ago

  • Target version changed from Q1/2020 to Recurring

Next batch of Open Badges announced: https://blog.documentfoundation.org/blog/2020/04/14/open-badges-for-top-wiki-contributors/

I'll send them out directly to the recipients over the next couple of days, with personalised emails.

Also setting this as recurring for now, as it's a task that will continue for a while.

Actions #29

Updated by Mike Saunders almost 4 years ago

Really good response to the latest batch. One recipient (Jun Nogata) even wrote a blog post about it: http://www.nofuture.tv/diary/20200418.html

Other comments:

thank you so much for this awesome reward, I'm very pleased to receive it.

Thank you for the badge! It has been great fun being on the team and contributing & learning through work on the TDF wiki.

Thank you very much for implementing this... and for giving me one

Actions #30

Updated by Mike Saunders over 3 years ago

I've created the next batch of custom badges, for the 50 most active Weblate translators so far this year. And I've emailed them all personally with their badges, and written a blog post:

https://blog.documentfoundation.org/blog/2020/07/31/50-open-badges-awarded-for-top-libreoffice-translators/

Actions #31

Updated by Mike Saunders over 3 years ago

Some feedback from the latest batch:

"Thank you very much for the badge. It sustains me for the future so I can continue doing my localization work for LibreOffice projects."

"I am very honored to receive this badge :)"

"Thank you so much! This feels so good and motivating!"

"Thanks so much for the reward, it's a honour for me to collaborate with TDF and all the Community."

"I am very honoured by the receipt of this badge and wish to thank The Document Foundation very much for the appreciation and recognition of my work."

"Thank you! I'm proud of it :-)"

"Thank you very much. It is a very nice surprise!"

"It is my pleasure to help open source projects, and get benefits from all these great projects such as LibreOffice. Iam honored to work with great people like you."

"thank you so much for this award!!"

"I am also flattered with the reward. Although it is already rewarding to help so many users in using LibreOffice, this extra appreciation makes me proud to be part of the LibreOffice community."

Actions #32

Updated by Mike Saunders over 3 years ago

I've issued (and personally sent out) Open Badges for the top QA contributors:

https://blog.documentfoundation.org/blog/2020/12/18/open-badges-for-top-libreoffice-qa-contributors/

Actions #33

Updated by Mike Saunders almost 3 years ago

Worked with Sophie on issuing badges for French Math Guide translators: https://blog.documentfoundation.org/blog/2021/04/30/open-badges-for-french-math-guide-translators/

Actions

Also available in: Atom PDF