Hi Thierry, You might be interested in joining the Jupyter education mailing list: https://groups.google.com/forum/#!forum/jupyter-education
That would also be a good place to reach out and see if people have suggestions for you! A lot of people have been using JupyterHub with courses, though not in exactly the way you're describing. I know there have been people who have integrated edX with the notebook, though I'm not sure specifically if others have integrated it with JupyterHub. But, I'd definitely try reaching out to the Jupyter education mailing list -- that's probably where you'll find them, if so :-) In terms of copying the notebook the first time the student accesses it -- you might check out Berkeley Data 8's interact plugin, which does exactly this: https://github.com/data-8/interact Cheers, Jess On Mon, Jan 16, 2017 at 5:31 AM, Thierry Parmentelat < [email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/jupyter/3932bf8b-301b-4ae1-a806-3ba1dae83817%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CALUXcBz-hk8CJnLeC4oiCz08SDzetqw9Hi8SVD1zdWTe0bhNNQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
