Skip to content
Course Discovery plugin for Tutor
Python Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE.txt Fix missing templates and version Jul 11, 2019


Course Discovery plugin for Tutor

This is a plugin for Tutor that integrates the Course Discovery application in an Open edX platform. it is useful for integration with, for example, Ecommerce or an external course catalog.


This plugin was developed and open sourced to the community thanks to the generous support of E-ducation. Thank you!


This plugin requires tutor>=3.6.0. Also, you should have installed tutor from source, and not from a pre-compiled binary.

pip install tutor-discovery

Then, to enable this plugin, run:

tutor plugins enable discovery

You will have to re-generate the environment:

tutor config save

The, run migrations:

tutor local init

This last step is unnecessary if you run instead tutor local quickstart.


Creating a user

The discovery user interface will be available at http://discovery.localhost for a local instance, and at DISCOVERY_HOST (by default: http(s)://discovery.<your lms host>) in production. In order to run commands from the UI, a user must be created:

tutor local run discovery ./ createsuperuser

Then, you must login with this user at http://discovery.localhost/admin.

Alternatively, you can login with oauth2 using a pre-existing user created on the LMS/CMS by accessing http(s)://discovery.<your lms host>/login. To do so, the proper domain names must exist and point to the production server.

Re-indexing courses

tutor local run discovery ./ refresh_course_metadata
tutor local run discovery ./ update_index --disable-change-limit

Caching programs

In order to cache programs in the LMS, you will need to manually create a catalog integration. This step should be performed just once:

tutor local run lms ./ lms create_catalog_integrations --enabled \
    --internal_api_url=http://discovery:8000 \


tutor local run lms ./ lms cache_programs
You can’t perform that action at this time.