Skip to content

open-craft/blockstore

 
 

Repository files navigation

Blockstore

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.

Using with Docker Devstack

Prerequisite: Have your Open edX Devstack properly installed.

  1. Clone this repo and cd into it.

  2. 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/

  3. Run make to get a list of other available commands.

  4. To log in to Blockstore, you'll need to configure SSO with your devstack.

    1. Go to http://localhost:18000/admin/oauth2_provider/application/ and add a new application
    2. Set "Client id" to blockstore-sso-key
    3. Set "Redirect uris" to http://localhost:18250/complete/edx-oauth2/
    4. Set "Client type" to "Confidential"
    5. Set "Authorization grant type" to "Authorization code"
    6. Set "Name" to blockstore-sso
    7. Check "Skip authorization"
    8. Press "Save and continue editing"
    9. Go to http://localhost:18000/admin/oauth_dispatch/applicationaccess/
    10. Click "Add Application Access +", choose Application: blockstore-sso and set Scopes to user_id, then hit "Save"
    11. Copy blockstore/settings/private.py.example to blockstore/settings/private.py
    12. In private.py, set SOCIAL_AUTH_EDX_OAUTH2_SECRET to the random "Client secret" value.
    13. Now you can login at http://localhost:18250/login/

Get Help

Ask questions and discuss this project on Slack or in the edx-code Google Group.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see the LICENSE file for details.

How To Contribute

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.

Reporting Security Issues

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

About

Open edX Learning Object Repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.0%
  • HTML 2.2%
  • Makefile 1.8%