Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-58454

Upgrade Moodle Badges to apply Open Badges Specification version 2.0

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.3, 3.1.4, 3.1.5, 3.2, 3.2.1, 3.2.2, 3.3.3, 3.4, 3.5
    • Fix Version/s: 3.6
    • Component/s: Badges
    • Testing Instructions:
      Hide

      Please refer to the attached document Open Badges Spec v2_test instruction.docxand validate sections 1 (Create a new badge ), 2 (Verify detail of earned badge) and 4 (Verify Backpack connect).

      Ignore the third section of the document ('Verify JSON data') and follow these instructions for testing this part.

       

      IMPORTANT: The Moodle site must be public to check the JSON format with an external validator (you can use ngrok).

      Setup

      1. Login as admin
      2. Create a badge with, at least, Endorsement, Related badges and Competencies
      3. Enable this badge (it could be a course badge or site badge, as preferred)
        • Remember the id parameter of this badge (badges/overview.php?id=X)
      4. Let user1 earn this badge
      5. Login as user1
      6. Access to the profile and click over the earned badge
        • Remember the hash parameter in the URL (badges/badge.php?hash=yyyyyyyyyyyyyyyyyyyyyy)

      Testing scenario

      1. Access to $CFG->wwwroot/badges/assertion.php?b=yyyyyyyyyyyyyyyyyyyyyy&obversion=2 (where yyyyyyyyyyyyyyyyyyyyyy is the hash taken in point 6)
        • CHECK a valid JSON is loaded
        • CHECK the information displayed (name, description, issuer, related badges, endorsement...) is correct
        • VALIDATE the content using the https://openbadgesvalidator.imsglobal.org/ 
      2. Access to $CFG->wwwroot/badges/badge_json.php?id=X (where X is badge identifier taken in point 3).

       

      Show
      Please refer to the attached document Open Badges Spec v2_test instruction.docx and validate sections 1 (Create a new badge ), 2 (Verify detail of earned badge) and 4 (Verify Backpack connect). Ignore the third section of the document (' Verify JSON data ') and follow these instructions for testing this part.   IMPORTANT : The Moodle site must be public to check the JSON format with an external validator (you can use ngrok). Setup Login as admin Create a badge with, at least, Endorsement, Related badges and Competencies Enable this badge (it could be a course badge or site badge, as preferred) Remember the id parameter of this badge (badges/overview.php?id= X ) Let user1 earn this badge Login as user1 Access to the profile and click over the earned badge Remember the hash parameter in the URL (badges/badge.php?hash=yyyyyyyyyyyyyyyyyyyyyy) Testing scenario Access to $CFG->wwwroot/badges/assertion.php?b=yyyyyyyyyyyyyyyyyyyyyy&obversion=2 (where yyyyyyyyyyyyyyyyyyyyyy is the hash taken in point 6) CHECK a valid JSON is loaded CHECK the information displayed (name, description, issuer, related badges, endorsement...) is correct VALIDATE the content using the  https://openbadgesvalidator.imsglobal.org/   Access to $CFG->wwwroot/badges/badge_json.php?id=X (where X is badge identifier taken in point 3). CHECK a valid JSON is loaded CHECK the information displayed (name, description, issuer, related badges, endorsement...) is correct VALIDATE the content using the https://openbadgesvalidator.imsglobal.org/    
    • Affected Branches:
      MOODLE_31_STABLE, MOODLE_32_STABLE, MOODLE_33_STABLE, MOODLE_34_STABLE, MOODLE_35_STABLE
    • Fixed Branches:
      MOODLE_36_STABLE
    • Pull Master Branch:
      MDL-58454-master

      Description

      As discussed in the thread https://moodle.org/mod/forum/discuss.php?d=347762, I create this issue about upgrade current Moodle Badge plugin to apply Open Badge Specification Version 2.0

      The updates of Open Badge Specification version 2.0: https://openbadgespec.org/history/2.0.html

      • Optional new features:
        • Endorsement (#73, #76, #79)
        • Embed Criteria into a BadgeClass, including a rich (Markdown) text field, narrative. (#74)
        • Embed Evidence metadata into an Assertion, and connect multiple pieces of evidence through a narrative in Markdown text. (#84)
        • Embed Image information into Badge Objects, enabling greater accessibility of Open Badges. (#82)
        • Internationalization and multi-lingual badges are now available (#1)
        • Version control and references to previous/other versions of Badge Objects, specifically BadgeClasses. (#53)
        • Embed metadata about badge images (#85)
        • Award badges to identity types other than email with more explicit instructions (note: backpacks will continue to primarily support email, but we can move the market forward together with this framework) (#77)
        • Improved alignment to external frameworks and objectives (#81)
          **
      • Breaking changes:
        • Linked Data in JSON-LD is now the official data model and syntax of Open Badges. This minimally affects issuers, who were already publishing v1.1 badges in JSON-LD, but all verifiers, backpacks, and displayers of badges must now explicitly perform a JSON-LD expansion/contraction operation to guarantee data integrity before further analysis of any object in the Open Badges context. This is a simplification from the hybrid approach introduced in v1.1 that required issuers to both use valid linked data properties and specific property names.
        • The AlignmentObject has been updated to use different terminology. Displayers will be asked to handle the new terms, which is now explicitly based on the schema.org/AlignmentObject class. "description" -> "targetDescription"; "url" -> "targetUrl"
        • BadgeClasses may now be embedded into Assertions, Issuers into BadgeClasses, and JSON-LD representations of Criteria, Evidence, and Images may now be embedded into fields that previously expected a URI string value. These new vocabulary classes improve portability, expressiveness, and accessibility of Open Badges. Optional for issuers.
        • VerificationObjects have been improved (#87, #80, #78). Hosted verification uses the id property, so verify.url duplication is no longer required or expected (#78). Signed badges are no longer required to discover a key from a url in the Assertion that signs them, closing a security hole. Instead, keys must be linked from the issuer Profile (#89).
        • RevocationList documents (used by less than 1% of issuers) are now published under an improved Linked Data class (#33)
        • Timestamps should appear in a consistent format (#86)

      I'm from Nashtech Global. Our client, Open University suggest us to do this improvement and distribute to Moodle community. I hope to receive feedbacks from Moodle Dev team soon.

        Attachments

        1. 1.PNG
          1.PNG
          131 kB
        2. 2.PNG
          2.PNG
          134 kB
        3. 3.PNG
          3.PNG
          146 kB
        4. 4.PNG
          4.PNG
          96 kB
        5. 5.PNG
          5.PNG
          73 kB
        6. 6.PNG
          6.PNG
          354 kB
        7. Open Badges Spec v2_test instruction.docx
          1.31 MB
        8. Open Badges Spec v2_test instruction.docx
          1.11 MB
        9. screenshot-1.png
          screenshot-1.png
          111 kB

          Issue Links

            Activity

              People

              • Votes:
                13 Vote for this issue
                Watchers:
                26 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  3/Dec/18

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 5 hours
                  5h