Skip to content

Bhanditz/Acclaim-Badges-for-EDX

 
 

Repository files navigation

acclaim-badges

PyPI Travis Codecov Documentation Supported Python versions License

Issue badges from Acclaim upon edx course completion.

Acclaim Badges for EDX

Overview

Adds a djangoapp to edx which provides a UI and API backend into Acclaim. Once installed, EDX adminstrators will be able to add Acclaim auth tokens and select badges to be issued upon course completion. This app then listens for course complete events, and issues badges if the student obtains a passing score.

Install

  1. Install "acclaim_badges" using pip:

    pip install acclaim_badges
  2. Add "acclaim_badges" to your INSTALLED_APPS /edx-platform/lms/envs/common.py like this:

    INSTALLED_APPS = [
        ...
        'acclaim_badges',
    ]
  3. Include the acclaim_badges URL conf in lms/urls.py like this:

    urlpatterns += (
        url(r'^acclaim/', include('acclaim_badges.urls')),
    )
  4. The authorization token field will be encypted. create a AES-256 keyset using keyzar for encryption and decryption:

    $ mkdir fieldkeys
    $ keyczart create --location=fieldkeys --purpose=crypt
    $ keyczart addkey --location=fieldkeys --status=primary --size=256
  5. Add keyset location to /edx-platform/lms/envs/common.py:

    ENCRYPTED_FIELDS_KEYDIR = '/path/to/fieldkeys'
  6. Run ./manage.py lms syncdb --settings aws to create the acclaim_badges lms app.
  7. Depending on how assets are configured, you'll need to run collectstatic to make css and images available:

    ./manage.py lms --settings aws collectstatic
  8. Restart webserver

Usage

The following useful URLs are made available after installation: /acclaim/tokens/ /acclaim/badge-courses/

  1. Add Acclaim organization and authorization token using /acclaim/tokens/
  2. Define a mapping between badge and course by accessing /acclaim/badge-courses/

Note: when defining a mapping, the dropdown will populate with badge templates if the Acclaim API call is successful (valid token and orgainzation combination are used).

Troubleshooting

Debugging info is made available in the file edx.log. This file can be found under the /var/log/lms directory.

Documentation

The full documentation is at https://acclaim-badges.readthedocs.org.

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

PR description template should be automatically applied if you are sending PR from github interface; otherwise you can find it it at PULL_REQUEST_TEMPLATE.md

Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you can find it at ISSUE_TEMPLATE.md

Reporting Security Issues

Please do not report security issues in public. Please email security@edx.org.

Getting Help

Have a question about this repository, or about Open edX in general? Please refer to this list of resources if you need any assistance.

About

Acclaim Badges for EDX deployable djangoapp

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 52.0%
  • HTML 30.9%
  • Makefile 10.5%
  • CSS 6.6%