Page MenuHomePhabricator

Integration of Mozilla OpenBadges and MediaWiki users
Closed, ResolvedPublic

Description

This is a report to track the progress of the integration of Mozilla OpenBadges in MediaWiki. The features expected are being documented at https://www.mediawiki.org/wiki/OpenBadges

This feature requires authentication with Mozilla Persona -- https://www.mediawiki.org/wiki/Extension:Persona


Version: master
Severity: enhancement

Details

Reference
bz60064

Event Timeline

bzimport raised the priority of this task from to Normal.Nov 22 2014, 2:54 AM
bzimport set Reference to bz60064.
bzimport added a subscriber: Unknown Object (MLST).
Qgil created this task.Jan 15 2014, 12:28 AM
Qgil added a comment.Jan 15 2014, 12:31 AM

A project developed by a team of students is starting to work on this, in the context of the Facebook Open Academy program:

https://www.mediawiki.org/wiki/Facebook_Open_Academy

Check https://www.mediawiki.org/wiki/OpenBadges for project documentation and coordination.

Ainali added a subscriber: Ainali.
Lokal_Profil set Security to None.
fbstj awarded a token.Dec 9 2014, 11:07 AM
In T62064#655408, @Qgil wrote:

A project developed by a team of students is starting to work on this, in the context of the Facebook Open Academy program:
https://www.mediawiki.org/wiki/Facebook_Open_Academy
Check https://www.mediawiki.org/wiki/OpenBadges for project documentation and coordination.

Was there ever any code developed for this? I took a look in the gerrit repo and it seems to be empty.

The Wikimedia Sverige team has been looking into what the requirements would be for an extension such as this and we came up with the following:

Roles

  • badge-creator
  • badge-awarder
  • badge-earner - (any logged in user)

For awarding badges

Multiple methods for awarding and defining achievements:

  • Reviewed submissions - the earner submits a piece of evidence to to be reviewed by the badge-awarder to decide whether it meets the criteria and can be awarded.
  • Nominations and review - the earner is nominated by other users for a badge, nominations are reviewed by badge-awarder.
  • Admin Given - issued by badge-awarder directly to the earner.
  • Site activity - triggered based on site activity (e.g. #edits, commenting, other badges earned etc.) and automatically awarded to the earner.

See also features of BadgeOS plug-in for Wordpress and the documentation for awarding mechanisms in the plug-in.

For earners

  • Push an awarded badge to Mozilla backpack. (Connection can be done through the The Persona extension)
  • Share an awarded badge in social media networks. (This could maybe be done on the Mozilla backpack side of things though)

Adding the Persona extension for findability (remove if not appropriate or other solution is chosen).

Qgil added a comment.Jan 13 2015, 2:39 PM

Very interesting! Have you discussed the problem of creating a new project relying on Mozilla's Persona and OpenBadges, when (if I understood correctly) Mozilla is not developing these platforms anymore?

That is news for me where did you see this?

Qgil added a comment.Jan 15 2015, 4:45 PM

http://identity.mozilla.com/post/78873831485/transitioning-persona-to-community-ownership

https://github.com/mozilla/openbadges-backpack/commits/master

I don't have any first-hand information and I definitely don't want to spread any FUD against Mozilla and OpenBadges. If you are going to invest a significant amount of time in this project, it might be a good idea to investigate further, though.

Looks like Persona is being shifted to community maintained (with exception of security patches) but remains in use within Mozilla. Unsure what you meant with the github-link.

We'll reach out to our OpenBadges contacts though to see what they know.

Qgil added a comment.Jan 22 2015, 2:26 PM

Unsure what you meant with the github-link.

Looking at the dates of the most recent commits one can see the usual pattern of a project in pure maintenance mode, with no active development.

I wonder whether there is a way who is actually using OpenBadges actively nowadays, whether new organizations are joining, etc.

Thanks.

We are still waiting to hear back from some of the people within the Swedish Mozilla/OpenBadges community to see what they see in the future of OpenBadges. Either way I would guess that the downscaling of Persona would mostly affect the "export to backpack" function, that being AFAIK the only component relying on Persona.

Either way developing something within MediaWiki which is based on the standard for OpenBadges should still be desirable from a Wikimedia/translatewiki point of view. If the export via Persona mechanism is separate then exporting should work for as long as Persona is alive but should it fail it would not affect any internal usage of badges.

If there are any strong alternatives under active development with new organisations are implementing them then that would of course be an alternative.

Qgil added a comment.Feb 4 2015, 1:21 PM

I'm not aware of any open alternative to OpenBadges. You are probably right on the dependency on Persona affecting only the possibility to export OpenBadges.

When you mention "internal usage of badges", do you mean in the context of Wikimedia projects? What is the scope of this project, prototyping OpenBadges integration with MediaWiki in general, or attempting some implementation in Wikimedia wikis? The latter would require more reviews. Is your plan fully described somewhere public (Swedish is fine, hoping that automatic translation works).

Don't get me wrong. I love the idea of badges for Wikimedia contributors! I'm just playing evil's advocate to save you bigger problems after putting many more hours of development.

Our though was integration with MediaWiki in general with translatewiki.net as an early adopter. Later on it would ideally be implemented in Wikimedia wikis (our initial focus being on Education).

Apart from additional code review I would also expect a Wikimedia implementation to bring with it a whole load of new questions on where and how (and why) to implement it along with consensus seeking (probably on a per-project level).

Worth clarifying though is that we don't have a plan for development yet since we are missing a coder with the time build this. Judging from the repos I'm assuming the Facebook Open Academy project didn't result in any code for OpenBadges in MediaWiki?

Relevant links:
On translatewiki: https://se.wikimedia.org/wiki/Projekt:Translatewiki.net_2014/Open_badges
On Education: https://se.wikimedia.org/wiki/Fil:Logic_Model_Template_Open_badges.pdf

Qgil added a comment.Mar 1 2015, 12:18 PM

Judging from the repos I'm assuming the Facebook Open Academy project didn't result in any code for OpenBadges in MediaWiki?

Code was written, but didn't get through code review: https://gerrit.wikimedia.org/r/#/q/project:mediawiki/extensions/OpenBadges,n,z

Qgil lowered the priority of this task from Normal to Lowest.Mar 1 2015, 12:19 PM

Demoting priority. If WMSE or anybody else starts working on this project, please assign it to you and set priority accordingly.

@Qgil How far away from being ready would you say this was?

I've been wanting to get into mw coding for a while (previously just worked with tools and wlm stuff). If this is a suitable candidate then I might set this as my goal for Lyon.

Qgil added a comment.Mar 5 2015, 11:56 AM

I have no idea, sorry. @Parent5446 might know.

It was so long ago I don't even remember at this point. My last memory is that it was supposed to be ready to go pending one or two code review issues, but I completely forget whether those issues were resolved and how big they were.

I'll take a crack at this in Lyon if someone is present who can give me pointers for how to test/stage this on my machine.

I will be there, so we can meet up and try and figure something out.

Qgil added a comment.EditedApr 29 2015, 9:22 PM

For what is worth, badges at Phabricator are being planned at https://secure.phabricator.com/T6526

Change 213593 had a related patch set uploaded (by Lokal Profil):
OpenBadges extension integrates OpenBadges into wikis

https://gerrit.wikimedia.org/r/213593

A general question. I there anything which can be done to promote code review or is it just a question of waiting and hoping?

Qgil added a comment.Jun 16 2015, 10:21 AM

See https://www.mediawiki.org/wiki/Gerrit/%2B2#Very_few_changes_are_trivial_enough_to_self-merge

Self-merging is tolerated in some cases like trivial documentation changes or projects with only one maintainer.

You seem to be the only active maintainer in OpenBadges these days. I'd say go ahead.

If @Parent5446 adds me as a group member (if I understood how access is handled correctly) I can abandon/close the other patches.

I guess that means I could also merge my own patch if needed. Since it's my first MediaWiki code review would still be welcome if possible, especially if the intention is for this to be tried on translatewiki.net at some point? (@siebrand, @Nikerabbit, @Nemo_bis ). But I would rather self-merge than see it wither as a patch.

Parent5446 added a comment.EditedJun 16 2015, 2:33 PM

Not something I can do. You have to make a project ownership request for Gerrit on MediaWiki.org I believe.

Not something I can do. You have to make a project ownership request for Gerrit on MediaWiki.org I believe.

Ok. From mw:Project_ownership#To_make_a_new_Project_Owner I got the impression that any group member can edit the group (and thereby add members). As for where one would otherwise request to be added the links I found seem to all end back at that page again =(

As for where one would otherwise request to be added the links I found seem to all end back at that page again =(

The link is supposed to be to https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership

That reads as though it is about is about assigning another (or a new) group as owner to a repo, not add a member to an existing group. I'll use that process though. Thanks.

Qgil added a comment.Jun 17 2015, 8:04 AM

Meanwhile, I have marked as abandoned the patches you mentioned that could be better abandoned (since that action can be done via UI without any special permissions).

Change 213593 merged by jenkins-bot:
OpenBadges extension integrates OpenBadges into wikis

https://gerrit.wikimedia.org/r/213593

Meanwhile, I have marked as abandoned the patches you mentioned that could be better abandoned (since that action can be done via UI without any special permissions).

I feel really stupid now but I still can't see where in the UI I would abandon a changeset which isn't mine (e.g. https://gerrit.wikimedia.org/r/#/c/112350/) The only buttons I have are Add Reviewer, Review, Cherry Pick To, Add Comment where Review and add comment brings me to the same screen, allowing me to +/- 1.

@siebrand Thanks for fixing and merging

Qgil added a comment.Jun 18 2015, 10:22 AM

Maybe I have special permissions and I just didn't know or forgot about it? (could perfectly be) See the screenshot.

Maybe I have special permissions and I just didn't know or forgot about it? (could perfectly be) See the screenshot.

Don't have those. Phew, at least I'm not going crazy =)

I've scored the other patches as -1 and added Siebrand as reviewer (where he wasn't already) per suggestion.

I've scored the other patches as -1 and added Siebrand as reviewer (where he wasn't already) per suggestion.

Great. All dealt with.

Lokal_Profil closed this task as Resolved.Jun 25 2015, 10:28 AM
Lokal_Profil claimed this task.

Thanks for all the help.

I'll close this as Resolved and improvements/suggestions/issues can then be filed in the OpenBadges project.

As for translatewiki.net implementation I guess a tracking issue for outstanding requirements as well as less technical issues would be the way to go? (Assuming twn is still interested)

Qgil added a comment.Jun 25 2015, 10:36 AM

Cool! Is there a site where this feature can be tested?

Cool! Is there a site where this feature can be tested?

Not at the moment (outside of my Vagrant install). Is this something which could be tested on one of the beta/test instances on labs or would I have to set up my a public instance on an own server?

Tgr added a subscriber: Tgr.EditedJul 8 2015, 5:30 AM

Creating a MediaWiki-Vagrant role would be a good start. After that, it's trivial to set up a demo site on Labs using Labs-Vagrant.

Change 223531 had a related patch set uploaded (by Lokal Profil):
Add role for OpenBadges extension

https://gerrit.wikimedia.org/r/223531

I created a role. Is there documentation anywhere else than in /puppet/modules/mediawiki/manifests/extension.pp for how to write these? (since that one took me some time to find)

Change 223531 merged by jenkins-bot:
Add role for OpenBadges extension

https://gerrit.wikimedia.org/r/223531

Has this feature been activated on Wikipedia yet?

Has this feature been activated on Wikipedia yet?

No, as this task is about developing code in a MediaWiki extension but not about deploying that code on some website. :)
If anyone wanted the OpenBadges extension deployed on Wikimedia sites, see https://www.mediawiki.org/wiki/Review_queue for required steps.

It was a while (2 years) since I looked at the code but it is also not impossible that one or two components are missing. What is definitely missing is a UI which doesn't make you wish for a json response instead.

The main building blocks create/award/view badges should all have API components and basic special pages. I don't remember what the state was for export functionality though.

Has this feature been activated on Wikipedia yet?

Related task for that is T170728.