Skip to content

Integrate Magic Castle's JupyterHub with Open edX

License

Notifications You must be signed in to change notification settings

calculquebec/jupytermc-xblock

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jupyter XBlock

This is an XBlock to integrate JupyterHub from a Magic Castle cluster to your Open edX learning management system (LMS).

Features:

  • Integrate JupyterLab notebooks to the Open edX courseware.
  • Fully editable notebooks and student workspaces.
  • Simple integration of notebooks from public git repositories.

Here is a screenshot of the Jupyter XBlock in action:

Usage

In your course "Advanced Settings", add "jupyter" to the "Advanced Module List":

Studio advanced module list

Configuration

JupyterHub base URL

The JupyterHub cluster can be configured separately for every XBlock, but this can be quite tedious for course instructors. Instead, a default JupyterHub cluster URL can be defined globally by adding the LTI_DEFAULT_JUPYTER_HUB_URL setting to both the LMS and CMS settings.

For instance:

LTI_DEFAULT_JUPYTER_HUB_URL = "https://hub.myopenedx.com"

If this setting is undefined, the base URL will default to https://hub.LMS_HOST.

LTI passport ID

Similarly, the LTI passport ID can be defined globally for all Jupyter XBlock instances. When a passport ID is not explicitely defined in an XBlock, it will default to the LTI_DEFAULT_JUPYTER_PASSPORT_ID setting. If this setting is also undefined, then it will default to LTI_DEFAULT_PASSPORT_ID. The fallback value is "jupyterhub".

To define a global LTI passport ID to be used by all Jupyter XBlock instances, add to your LMS/CMS settings:

LTI_DEFAULT_JUPYTER_PASSPORT_ID = "myjupyterhub"

Then, the corresponding passport must be created in the course advanced settings, as described in the Open edX documentation:

Studio advanced LTI settings

Configuring JupyterHub

You will have to launch your own JupyterHub cluster separately from Open edX. Your cluster should support:

Known limitations

  • Grading is not supported at the moment.
  • It is not possible to pull notebooks from a raw URL -- only from a public git repository.

Troubleshooting

This XBlock was created by Maxime Boissonneault (@mboisson) based on the jupyter-xblock xblock written by by Matthew Brett (@matthew-brett).

License

This work is licensed under the terms of the GNU Affero General Public License (AGPL).

About

Integrate Magic Castle's JupyterHub with Open edX

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.6%
  • Jupyter Notebook 9.5%
  • HTML 8.2%
  • CSS 0.7%