openedx / platform-roadmap

Tracking the maintenance, enhancement, and advancement of the Open edX project.
11 stars 1 forks source link

Credly integration #280

Closed scottrish closed 4 weeks ago

scottrish commented 1 year ago

Abstract

Open edX has an existing Open Badges integration with Badgr that allows badges to be issued under certain conditions. There is interest in adding support for the Credly platform so that the platform can automatically issue badges and learners can claim issued badges and post them to their public profile and/or see issued badges in the course experience as an engagement and motivational tool.

Context & Background

Integration Requirements

There are a number of points of integration to consider.

Template Creation

Performed by course author or instructor natively in the Credly org management UI. Credly’s UI assists with template creation and increasingly is incorporating AI assistance. While there is an API it is not sufficiently stable that a direct integration from Studio should be in scope at this time.

Badge Issuance

The following conditions are currently supported for a Badgr-based integration:

  1. A learner completes a course and is issued a completion certificate
  2. A learner enrolls in a certain number of courses.
  3. A learner receives a completion certificate for a certain number of courses.
  4. A learner receives a completion certificate for every course in a specified list of courses.

At a minimum, the Credly integration should automatically issue a badge on the single course completion condition. It would also be desirable to support issuance on completion of a defined set of courses.

For the in-course experience, issuing badges on the following conditions would allow real-time engagement and motivational nudges to be displayed to the learner:

  1. Assignment completion – earned score above a threshold.
  2. Problem score above a threshold - useful for more complex problem types such as an LTI launch of a graded lab, or practice test.
  3. All components in a unit are ‘completed’ (completion has different semantics for different component types, for example, a video is completed if a learner views the last 5s).
  4. All assignments of a particular type being completed. For example, if a course has multiple labs, and therefore multiple assignments with type ‘lab’, then a badge could be issued on completing all labs.

Badge Claiming

Badge claiming can only be performed automatically for learners that setup their Credly account to allow specific organizations to do so. If not automatically claimed, then the learner will need to manually claim any badges they have been issued.

The learner view of the xblock could be used to either retrieve and display claimed badges issued for the course inline with the course, or could be used to affect the launch on a new window to allow the learner to complete Credly signup and/or claim any issued badges. It may be possible to determine if there are unclaimed badges for a learner for this course or for the block, in which case a more precise CTA could be presented to the learner, although this might require an Credly API enhancement.

Badges could also be displayed in the learner's profile.

Scope & Approach

Discovery phase.

Value & Impact

Being able to issue badges at different points in the course could be used as an engagement/completion tool, and also allow learners to share their progress with their employer and social network.

Milestones and/or Epics

TBD, potential milestones:

Milestone 1 - issue a badge on course completion (achieving a passing grade). Milestone 2 - issue a badge on passing an assignment Milestone 3 - display claimed badges alongside courseware, and/or provide a nudge for learners to claim issued but as yet unclaimed badges

Named Release

TBD

Timeline

4Q2023

Proposed By

Pearson

Additional Info

No response

github-actions[bot] commented 1 year ago

Thanks for your submission, @openedx/open-edx-project-managers will review shortly.

bradenmacdonald commented 1 year ago

There are a ton of these digital badge services now - Accredible, Sertifier, Credly, etc. Is the intent to implement this in a pluggable or abstract way so that these sort of integrations are easier, or to "hard code" Credly in particular? Or is Credly using the same open badges API as Badgr?

e0d commented 1 year ago

Putting on @hurtstotouchfire 's radar.

We have been investing in a path toward making the credentials service the owner of platform credentials. This hasn't been formalized/finalized, but it's been under discussion. There's some debt that would need to be resolved to accomplish this.

I have a number of thoughts about this proposal.

  1. The value statement of this proposal seems to mix two distinct things, signifiers of attainment and nudges. I don't think credentials should own nudges even if we accomplish making it the owner of all forms of "signifiers of attainment."
  2. I agree that the target for sharing signifiers should be pluggable. This was how the verifiable credentials data model support was designed.
  3. Badgr is now Canvas Badges, so that code should be removed from the platform
  4. New features should leverage events and filters -- probably obvious.
  5. I haven't given any thought to what it would look like to surface signifiers from arbitrary platforms back into a learner dashboard.

I acknowledge that making the credentials service the domain owner for all attainments would complicate the simplest deployments as it would require running credentials. It would be useful to hear feedback on that idea, but not here. I'll start another thread for that.

scottrish commented 1 year ago

Makes sense that this would belong under credentials. Other comments...

  1. The 'nudge' is to prompt the learner that they have unclaimed badges. So not a 'nudge' in the general sense of courseware engagement. I don't know if 'claiming' a badge is required with other badge providers or if this is only required by Credly.
  2. The implementation would be pluggable, and if the OB3 APIs can be utilized then adding a badge provider could be solely via configuration, assuming compliance with OB3. This requires more discovery.
  3. The focus of the proposal is on issuance and claiming of badges. However, claiming a badge inline with the courseware (for those badges issued for conditions other than course completion) without then displaying it at the point of issuance does not seem like a good experience. Other engagement features that leverage badges would be independent of this integration.
e0d commented 1 year ago

Helpful clarification about the purpose of the nudges.

The current v1 of verifiable credentials supports the OBV3 data model. The current limitation is that only program certificates can be shared. If we expanded the types and granularity of attainments that could be stored in the credentials IDA, I think there would be a short path to using a supported data model with a new "wallet."

@GlugovGrGlib was the architect for the current feature.

hurtstotouchfire commented 11 months ago

MVP Spec: https://docs.google.com/document/d/1AYcUFEIerKV3p6oUe8WWDSlGzMbIzL4bBNJbn-rkxlE/edit

Jacatove commented 11 months ago

@scottrish

When checking edx or amazon badges I mainly see that badges are associated to a specific course.

The idea of allowing real-time engagement and motivational nudges to be displayed to the learner could be handled only at lms by incorporating platform level or course level milestones, to avoid having multiple badges on Accredible, Sertifier, Credly, etc for a single course, I think of it as when wanting to show I know AWS S3, I would like my profile to have only the AWS S3 Badge instead of badge 1 for completing first assignment, badge 2 for completing the activities and the last badge when reached the passing grade.

jmakowski1123 commented 4 weeks ago

Documentation: https://github.com/openedx/credentials/blob/master/docs/badges/quickstart.rst