Blockstore is a system for authoring, discovering, and reusing educational content for Open edX. It is meant to be a lower-level service than the modulestore, and is designed around the concept of storing small, reusable pieces of content, rather than large, fixed content structures such as courses. For Open edX, Blockstore is designed to facilitate a much greater level of content re-use than is currently possible, enable new adaptive learning features, and enable delivery of learning content in new ways (not just large traditional courses).
See DESIGN for more details.
Blockstore has been developed by Harvard's LabXchange and the Amgen Foundation, with significant in-kind contributions from edX.
Prerequisite: Have your Open edX Devstack properly installed.
Clone this repo and
cd
into it.To start the django development server inside a docker container, run this on your host machine:
make easyserver
Then you'll be able to access Blockstore at http://localhost:18250/
Run
make
to get a list of other available commands.To log in to Blockstore, you'll need to configure SSO with your devstack.
- Go to http://localhost:18000/admin/oauth2_provider/application/ and add a new application
- Set "Client id" to
blockstore-sso-key
- Set "Redirect uris" to
http://localhost:18250/complete/edx-oauth2/
- Set "Client type" to "Confidential"
- Set "Authorization grant type" to "Authorization code"
- Set "Name" to
blockstore-sso
- Check "Skip authorization"
- Press "Save and continue editing"
- Go to http://localhost:18000/admin/oauth_dispatch/applicationaccess/
- Click "Add Application Access +", choose Application:
blockstore-sso
and set Scopes touser_id
, then hit "Save" - Copy
blockstore/settings/private.py.example
toblockstore/settings/private.py
- In
private.py
, setSOCIAL_AUTH_EDX_OAUTH2_SECRET
to the random "Client secret" value. - Now you can login at http://localhost:18250/login/
Ask questions and discuss this project on Slack or in the edx-code Google Group.
The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see the LICENSE file for details.
Contributions are welcome. Please read How To Contribute for details. Even though it was written with edx-platform
in mind, these guidelines should be followed for Open edX code in general.
Please do not report security issues in public. Please email security@edx.org.