Hi there

I need to setup an infrastructure for hosting notebooks as an extension to 
a MOOC platform based on edx : https://www.fun-mooc.fr/

In a nutshell, the objective is for a MOOC author to be able to add a 
notebook as part of its course, in a plugin of edx

We have a running version of that, that was written 3 years ago by 2 
colleagues, who have now gone to other projects
Their implementation did the job perfectly during that time, and we have 
run quite a few MOOC sessions thanks to this
It requires a major overhaul though, for various reasons, among which : was 
restricted to python2; could run only one course at a time; was using an 
old ipython engine; was not using docker; had php inside ...

So; I am trying to come up with a proof of concept for a new implementation 
that would
. of course still be compliant with the edx plugin
. support several courses at the same time; each with its own docker image
. and so, as a side effect, at least support python3, and anything else 
that has a docker image available

The interface with edx is as simple as it gets; edx issues a URL containing 
a triple (course, student, notebook) and displays that in an iframe
The expected behaviour is that each student has her own copy of the 
notebooks from the master published by the author
Also the student copy is made the first time that she navigates to that 
notebook - as opposed to copying the whole course the first the student 
shows up.
This is a requirement because a mooc is published week by week, so week one 
can start while week 7 is not yet written..  
Also there is no student registration, essentially every request coming 
from the known IP addresses is considered valid and students get created on 
the fly if they are not yet known (typically several thousands of them for 
one course)


So of course my first thought was jupyterhub; however it did not, at first 
sight, seem to fit too well, because

* we have this notion of a course, i.e. a set of master set of notebooks - 
typically in a github repo

* also, there is a need to catch spawner-related events - like start/stop 
the user's jupyter - which is supported in jupyterhub
  but also notebook-related events - like copy this notebook when it's 
requested - which seems harder to catch in jupyterhub

Is there a way to do something like this building on jupyterhub, and if so 
how would I go about doing that ?

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/3932bf8b-301b-4ae1-a806-3ba1dae83817%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to