D4.5: Sage notebook / Jupyter notebook convergence #94

Closed
minrk opened this Issue Sep 8, 2015 · 47 comments

Comments

Projects
None yet
7 participants
@minrk
Contributor

minrk commented Sep 8, 2015

  • WP4: User Interfaces
  • Lead Institution: Université Paris-Sud
  • Due: 2016-08-31 (month 12)
  • Nature: Demonstrator
  • Tasks: T4.1 (#69): Uniform notebook interface for all interactive components, T4.6 (#74) Structured documents
  • Proposal: p. 48
  • Final report

The Jupyter Notebook is a web application that enables the creation and sharing of executable documents which contain live code, equations, visualizations and explanatory text. Thanks to a modular design, Jupyter can be used with any computational system that provides a so-called Jupyter kernel implementing the Jupyter messaging protocol to communicate with the notebook. OpenDreamKit therefore promotes the Jupyter notebook as user interface of choice, in particular since it is particularly suitable for building modular web based Virtual Research Environments.

A notebook interface is such a vital integrative component that, predating Jupyter, the open source mathematical system SageMath had developed as early as 2005 its own solution, which we refer to here as the legacy SageMath notebook. Development was fast tracked to ensure its availability to allow the project to move forward, and it served as major source of inspiration for Jupyter. Meanwhile, moving at a fast pace thanks to its much larger community, Jupyter had, by 2014, basically caught up with the legacy SageMath notebook in terms of functionality.

Building on top of D4.4 (#93): Basic Jupyter interface for GAP, PARI/GP, SageMath, Singular, the goal of this deliverable was therefore to help phase out the legacy SageMath notebook in favour of Jupyter. Outsourcing this key but non disciplinary component is an important step toward the sustainability of ODK's ecosystem (Objective 5).

Since 2014, a lot of work was put into this by the SageMath community, and in particular by Volker Braun. Recently, this work has been continued thanks to ODK. It included two aspects: ensuring that Jupyter included all important features of the legacy SageMath notebook, and enabling a smooth migration path for users:

Future work:

  • WYSIWYG editor for the markdown cells, such as TinyMCE (see this post for motivation)
  • #20316: Add button to export SageNB notebooks to Jupyter
  • "Search help" box
  • Custom menus (e.g. for setting options like %display latex, automatic vars, enable/disable preparser; possibly menus to insert typical commands as in SMC)

@minrk minrk added this to the D4.5 milestone Sep 8, 2015

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Oct 27, 2015

Contributor

See

Contributor

jdemeyer commented Oct 27, 2015

See

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer May 10, 2016

Contributor

See also

Contributor

jdemeyer commented May 10, 2016

See also

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer May 10, 2016

Contributor

Just adding some links...

Contributor

jdemeyer commented May 10, 2016

Just adding some links...

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Jul 26, 2016

Contributor

About interacts:

  • I had a chat with @SylvainCorlay (main author of ipywidgets; aka Jupyter's interacts) over the phone yesterday: he is now based in Paris and happy to give a hand; he probably will visit one day for Sage Days 74 in Cernay; following discussions with @jdemeyer at Sage Days 70 in Berkeley, the new ipywidgets version should be close to backward compatible with Sage's interacts in the legacy notebook.
  • @marcinofulus has a huge collection of legacy sage notebooks filled with interacts. Marcin is eager to convert them to Jupyter notebooks. So we have a large test set and a motivated beta tester.

@jdemeyer: maybe you want to open a separate ticket/issue to trac progress on this specific point.

Contributor

nthiery commented Jul 26, 2016

About interacts:

  • I had a chat with @SylvainCorlay (main author of ipywidgets; aka Jupyter's interacts) over the phone yesterday: he is now based in Paris and happy to give a hand; he probably will visit one day for Sage Days 74 in Cernay; following discussions with @jdemeyer at Sage Days 70 in Berkeley, the new ipywidgets version should be close to backward compatible with Sage's interacts in the legacy notebook.
  • @marcinofulus has a huge collection of legacy sage notebooks filled with interacts. Marcin is eager to convert them to Jupyter notebooks. So we have a large test set and a motivated beta tester.

@jdemeyer: maybe you want to open a separate ticket/issue to trac progress on this specific point.

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Jul 26, 2016

@nthiery thanks for the ping. (I am not "the main author" of ipywidgets though, jdfreder worked a lot on it before he left jupyter).

@nthiery thanks for the ping. (I am not "the main author" of ipywidgets though, jdfreder worked a lot on it before he left jupyter).

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Aug 17, 2016

Contributor

I started working with interacts at https://trac.sagemath.org/ticket/21267

Contributor

jdemeyer commented Aug 17, 2016

I started working with interacts at https://trac.sagemath.org/ticket/21267

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Aug 30, 2016

Contributor

Is the report close to an end?

Contributor

bpilorget commented Aug 30, 2016

Is the report close to an end?

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Aug 30, 2016

Contributor

@nthiery Paris-Sud is the leader on this. What is the state of the report? Let me know what I can do to help.

Contributor

minrk commented Aug 30, 2016

@nthiery Paris-Sud is the leader on this. What is the state of the report? Let me know what I can do to help.

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Aug 30, 2016

Contributor

The README gives info on how to write deliverables (scroll down): https://github.com/OpenDreamKit/OpenDreamKit

Contributor

bpilorget commented Aug 30, 2016

The README gives info on how to write deliverables (scroll down): https://github.com/OpenDreamKit/OpenDreamKit

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Aug 31, 2016

Contributor

Ah right, that's a good point @minrk. Jeroen is coming to Orsay next Monday. I'll write the report with him then, as I need to touch base with him to check on the status of a couple things. It should be short anyway. I'll update the PO that we will be late by a couple days.

Contributor

nthiery commented Aug 31, 2016

Ah right, that's a good point @minrk. Jeroen is coming to Orsay next Monday. I'll write the report with him then, as I need to touch base with him to check on the status of a couple things. It should be short anyway. I'll update the PO that we will be late by a couple days.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Aug 31, 2016

Contributor

I have continued to work on the interact convergence. It's not done, but I would like somebody to review the following first:

It would be great if this could be done before or while I'm in Orsay next week.

Contributor

jdemeyer commented Aug 31, 2016

I have continued to work on the interact convergence. It's not done, but I would like somebody to review the following first:

It would be great if this could be done before or while I'm in Orsay next week.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Sep 11, 2016

Contributor

Hi Jeroen,
How did the discussion go with Sylvain? What timeline do you foresee at this stage for interacts?

Contributor

nthiery commented Sep 11, 2016

Hi Jeroen,
How did the discussion go with Sylvain? What timeline do you foresee at this stage for interacts?

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Sep 12, 2016

Contributor

Hi Jeroen,
How did the discussion go with Sylvain?

I would say that the meeting went quite well. My main request for upstream ipywidgets was to add the needed hooks that we can override in Sage.

I am currently waiting for review of jupyter-widgets/ipywidgets#725 and jupyter-widgets/ipywidgets#762

What timeline do you foresee at this stage for interacts?

Most interacts already work with the work that I have done, so I consider it almost done. Maybe I need a few more days.

Contributor

jdemeyer commented Sep 12, 2016

Hi Jeroen,
How did the discussion go with Sylvain?

I would say that the meeting went quite well. My main request for upstream ipywidgets was to add the needed hooks that we can override in Sage.

I am currently waiting for review of jupyter-widgets/ipywidgets#725 and jupyter-widgets/ipywidgets#762

What timeline do you foresee at this stage for interacts?

Most interacts already work with the work that I have done, so I consider it almost done. Maybe I need a few more days.

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Sep 12, 2016

Same here. I imagine the features could be code-complete and merged quite soon.

The release of a version of ipywidgets including those changes is a different matter. There are a few things that we need to fix before 6.0. We are going to sprint on ipywidgets integration into jupyterlab next week with Jason Grout and Brian Granger among other subjects.

Same here. I imagine the features could be code-complete and merged quite soon.

The release of a version of ipywidgets including those changes is a different matter. There are a few things that we need to fix before 6.0. We are going to sprint on ipywidgets integration into jupyterlab next week with Jason Grout and Brian Granger among other subjects.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Oct 21, 2016

Contributor

Any idea on the release date of ipywidgets 6?

Contributor

jdemeyer commented Oct 21, 2016

Any idea on the release date of ipywidgets 6?

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Oct 21, 2016

@jasongrout released one of the main blockers, so we should be able to sprint to have a proper release now. The remaining item is a usability / css restyling...

@jasongrout released one of the main blockers, so we should be able to sprint to have a proper release now. The remaining item is a usability / css restyling...

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Oct 24, 2016

Contributor

There is a lot of demand (say, on sage-support list) for a guide to use jupyterhub in a multiuser setting where users are not authenticated via dedicated Unix accounts, something akin to the SageNB authentication model (this is a setting most convenient for teaching a class using SageMath). How to set this up, and whether this is possible at all, is not clear ATM.

See e.g. here.

Contributor

dimpase commented Oct 24, 2016

There is a lot of demand (say, on sage-support list) for a guide to use jupyterhub in a multiuser setting where users are not authenticated via dedicated Unix accounts, something akin to the SageNB authentication model (this is a setting most convenient for teaching a class using SageMath). How to set this up, and whether this is possible at all, is not clear ATM.

See e.g. here.

@bpilorget

This comment has been minimized.

Show comment
Hide comment
@bpilorget

bpilorget Oct 24, 2016

Contributor

Deliverables update

@minrk As you know , during the interim review in Bremen, reviewers gave advice to improve deliverables. UPSud tried to follow their advice by updating D5.1 #107
The main critic is that deliverables should be static document. Therefore we went through the #107 report to check if all links were still working and also if the information contained on the links was necessary for the understanding of the report.
As a result when it was necessary annexes were added to the #107 report.

Can you please do the same for this deliverable and add annexes when need be?

Contributor

bpilorget commented Oct 24, 2016

Deliverables update

@minrk As you know , during the interim review in Bremen, reviewers gave advice to improve deliverables. UPSud tried to follow their advice by updating D5.1 #107
The main critic is that deliverables should be static document. Therefore we went through the #107 report to check if all links were still working and also if the information contained on the links was necessary for the understanding of the report.
As a result when it was necessary annexes were added to the #107 report.

Can you please do the same for this deliverable and add annexes when need be?

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Oct 24, 2016

Contributor

Will do, thanks.

Contributor

minrk commented Oct 24, 2016

Will do, thanks.

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Nov 24, 2016

Contributor

@nthiery I don't see a report on the status of this deliverable. Do you have one?

Contributor

minrk commented Nov 24, 2016

@nthiery I don't see a report on the status of this deliverable. Do you have one?

@jasongrout

This comment has been minimized.

Show comment
Hide comment
@jasongrout

jasongrout Nov 24, 2016

Relevant recent discussion: https://groups.google.com/forum/?fromgroups#!topic/sage-devel/t11JSxxCgpw (see the end where it talks about Jupyter/SageNB convergence), and https://trac.sagemath.org/ticket/21267

Relevant recent discussion: https://groups.google.com/forum/?fromgroups#!topic/sage-devel/t11JSxxCgpw (see the end where it talks about Jupyter/SageNB convergence), and https://trac.sagemath.org/ticket/21267

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Nov 24, 2016

Contributor
Contributor

nthiery commented Nov 24, 2016

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Jan 6, 2017

Contributor

Relevant Sage ticket which needs review: https://trac.sagemath.org/ticket/22125

Contributor

jdemeyer commented Jan 6, 2017

Relevant Sage ticket which needs review: https://trac.sagemath.org/ticket/22125

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Jan 19, 2017

Contributor

I just volunteered to lead this deliverable.

Contributor

jdemeyer commented Jan 19, 2017

I just volunteered to lead this deliverable.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 1, 2017

Contributor

Volker made me a collaborator of sagenb_export (https://github.com/vbraun/ExportSageNB). I am testing this on real-world examples and fixing various issues.

Contributor

jdemeyer commented Feb 1, 2017

Volker made me a collaborator of sagenb_export (https://github.com/vbraun/ExportSageNB). I am testing this on real-world examples and fixing various issues.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 6, 2017

Contributor

Dear M12 deliverable leaders,

Just a reminder that reports are due for mid-february, to buy us some time for proofreading, feedback, and final submission before February 28th. See our README for details on the process.

In practice, I'll be offline February 12-19, and the week right after will be pretty busy. Therefore, it would be helpful if a first draft could be available sometime this week, so that I can have a head start reviewing it.

Thanks in advance!

Contributor

nthiery commented Feb 6, 2017

Dear M12 deliverable leaders,

Just a reminder that reports are due for mid-february, to buy us some time for proofreading, feedback, and final submission before February 28th. See our README for details on the process.

In practice, I'll be offline February 12-19, and the week right after will be pretty busy. Therefore, it would be helpful if a first draft could be available sometime this week, so that I can have a head start reviewing it.

Thanks in advance!

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Feb 9, 2017

Contributor

Let me know if there's anything I can do to help get this report finished on time.

Contributor

minrk commented Feb 9, 2017

Let me know if there's anything I can do to help get this report finished on time.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 11, 2017

Contributor

I'll have a look at this on monday.

Contributor

jdemeyer commented Feb 11, 2017

I'll have a look at this on monday.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 27, 2017

Contributor

Hi @jdemeyer!
I guess that's the next thing on your plate, right? Do you need help for how to best finalize the report, and describe where we stand?

Contributor

nthiery commented Feb 27, 2017

Hi @jdemeyer!
I guess that's the next thing on your plate, right? Do you need help for how to best finalize the report, and describe where we stand?

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Feb 27, 2017

For those who may have missed it, we have published a release candidate for ipywidgets 6 which includes the work of @jdemeyer on the convergence with Sage.

For those who may have missed it, we have published a release candidate for ipywidgets 6 which includes the work of @jdemeyer on the convergence with Sage.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 27, 2017

Contributor

I pushed a first version of the report. I doesn't mention yet the live documentation, which is unfortunately broken (due to a missing XSRF cookie): https://trac.sagemath.org/ticket/22458

Contributor

jdemeyer commented Feb 27, 2017

I pushed a first version of the report. I doesn't mention yet the live documentation, which is unfortunately broken (due to a missing XSRF cookie): https://trac.sagemath.org/ticket/22458

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 27, 2017

Contributor

For those who may have missed it, we have published a release candidate for ipywidgets 6 which includes the work of @jdemeyer on the convergence with Sage.

As far as I can tell: 1 other person besides me tried it and it didn't work, possibly because of

[IPKernelApp] WARNING | The installed widget Javascript is the wrong version. It must satisfy the semver range ~2.1.0.

See jupyter-widgets/ipywidgets#1161

Contributor

jdemeyer commented Feb 27, 2017

For those who may have missed it, we have published a release candidate for ipywidgets 6 which includes the work of @jdemeyer on the convergence with Sage.

As far as I can tell: 1 other person besides me tried it and it didn't work, possibly because of

[IPKernelApp] WARNING | The installed widget Javascript is the wrong version. It must satisfy the semver range ~2.1.0.

See jupyter-widgets/ipywidgets#1161

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Feb 27, 2017

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

I have written a Jupyter Enhancement proposal on how to improve the extension mechanism to make this sort of confusing situation impossible.

jupyter/enhancement-proposals#21

SylvainCorlay commented Feb 27, 2017

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

I have written a Jupyter Enhancement proposal on how to improve the extension mechanism to make this sort of confusing situation impossible.

jupyter/enhancement-proposals#21

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 27, 2017

Contributor

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

Shouldn't an installation of a newer version overwrite the old version?

Contributor

jdemeyer commented Feb 27, 2017

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

Shouldn't an installation of a newer version overwrite the old version?

@SylvainCorlay

This comment has been minimized.

Show comment
Hide comment
@SylvainCorlay

SylvainCorlay Feb 27, 2017

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

Shouldn't an installation of a newer version overwrite the old version?

It is actually a bit more subtle than that.

  • widgetsnbextension, which holds the js, is installed in the notebook prefix.
  • ipywidgets has no static assets and is installed in the kernel prefix

the static assets of the notebook extension can be installed / enabled / disabled at different levels of precedence (system, user, sys-prefix)... The current semantics for notebook extension is bad and lies outside of the ipywidgets project. The above JEP is the proposal for better semantics in this area.

This almost certainly due to the fact that he has another version of the js installed from a previous installation.

Shouldn't an installation of a newer version overwrite the old version?

It is actually a bit more subtle than that.

  • widgetsnbextension, which holds the js, is installed in the notebook prefix.
  • ipywidgets has no static assets and is installed in the kernel prefix

the static assets of the notebook extension can be installed / enabled / disabled at different levels of precedence (system, user, sys-prefix)... The current semantics for notebook extension is bad and lies outside of the ipywidgets project. The above JEP is the proposal for better semantics in this area.

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Feb 27, 2017

Contributor

I've been working on the Thebe issue, and it seems relatively difficult to resolve. Thebe ships with a copy of old notebook javascript, which doesn't set the xsrf token that Jupyter requires to protect against cross-site request forgeries. I tried a simple update in Thebe, but it hasn't worked as I hoped.

The simplest (insecure) fix is to disable xsrf checking, e.g. by launching a notebook server with:

c.NotebookApp.disable_check_xsrf = True

Both JupyterLab and nteract now provide javascript libraries that can be used to make writing a new version of Thebe much simpler and more maintainable. This isn't within scope for today, though.

Contributor

minrk commented Feb 27, 2017

I've been working on the Thebe issue, and it seems relatively difficult to resolve. Thebe ships with a copy of old notebook javascript, which doesn't set the xsrf token that Jupyter requires to protect against cross-site request forgeries. I tried a simple update in Thebe, but it hasn't worked as I hoped.

The simplest (insecure) fix is to disable xsrf checking, e.g. by launching a notebook server with:

c.NotebookApp.disable_check_xsrf = True

Both JupyterLab and nteract now provide javascript libraries that can be used to make writing a new version of Thebe much simpler and more maintainable. This isn't within scope for today, though.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 28, 2017

Contributor

I just pushed a new version of the report, adding live documentation. I didn't mention that it actually doesn't work currently.

Contributor

jdemeyer commented Feb 28, 2017

I just pushed a new version of the report, adding live documentation. I didn't mention that it actually doesn't work currently.

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 28, 2017

Contributor

@fcayre, @nthiery: I added you as authors too, so maybe you want to read the report? For me, it can be submitted.

Contributor

jdemeyer commented Feb 28, 2017

@fcayre, @nthiery: I added you as authors too, so maybe you want to read the report? For me, it can be submitted.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 28, 2017

Contributor

I am finishing up submitting D3.2, and I'll hop on this one. Thanks for the notice!

Contributor

nthiery commented Feb 28, 2017

I am finishing up submitting D3.2, and I'll hop on this one. Thanks for the notice!

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 28, 2017

Contributor

I fleshed up a bit the github issue description, did some minor reordering in the report for consistency with the feature order in the description, and enlarged the figures in landscape mode for more readability. I committed the final pdf. I'll submit in half an hour unless someone requests some change!

Contributor

nthiery commented Feb 28, 2017

I fleshed up a bit the github issue description, did some minor reordering in the report for consistency with the feature order in the description, and enlarged the figures in landscape mode for more readability. I committed the final pdf. I'll submit in half an hour unless someone requests some change!

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 28, 2017

Contributor

Fixed typo: open souce :-)

(open source sauce?)

Contributor

jdemeyer commented Feb 28, 2017

Fixed typo: open souce :-)

(open source sauce?)

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 28, 2017

Contributor

There is some inconsistency between SageMath, Sage and \Sage.

In the github description, I changed to using SageMath consistently but I have not changed the report.

Contributor

jdemeyer commented Feb 28, 2017

There is some inconsistency between SageMath, Sage and \Sage.

In the github description, I changed to using SageMath consistently but I have not changed the report.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 28, 2017

Contributor

Ok. I'll update the report. Anything else, or should I just submit when done?

Contributor

nthiery commented Feb 28, 2017

Ok. I'll update the report. Anything else, or should I just submit when done?

@jdemeyer

This comment has been minimized.

Show comment
Hide comment
@jdemeyer

jdemeyer Feb 28, 2017

Contributor

I have no further comments. So you can submit if you want.

Contributor

jdemeyer commented Feb 28, 2017

I have no further comments. So you can submit if you want.

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Feb 28, 2017

Contributor

Submitted!
Thanks Jeroen for leading this deliverable and its reporting, and for all the hard work on interacts, migration wizard, and the zillion other little details that make the difference for our users. Thanks @vbraun too for pushing so hard on the Jupyter Sage kernel! And @SylvainCorlay, @fcayre, @dimpase, @videlec, @seblabbe, Thierry, and many others for the help on the Jupyter migration.
It is a major progress which we have all been looking forward!

Contributor

nthiery commented Feb 28, 2017

Submitted!
Thanks Jeroen for leading this deliverable and its reporting, and for all the hard work on interacts, migration wizard, and the zillion other little details that make the difference for our users. Thanks @vbraun too for pushing so hard on the Jupyter Sage kernel! And @SylvainCorlay, @fcayre, @dimpase, @videlec, @seblabbe, Thierry, and many others for the help on the Jupyter migration.
It is a major progress which we have all been looking forward!

@nthiery nthiery closed this Feb 28, 2017

@nthiery

This comment has been minimized.

Show comment
Hide comment
@nthiery

nthiery Mar 13, 2017

Contributor

Hi @minrk,
I am sitting with @jdemeyer, and we are discussing the Thebe issue. Thanks for investigating it! We now need to decide on whether to disable xsrf checks for the local sage-jupyter notebook, as a temporary workaround.

  • If we had to guess when there will be a new Thebe based on JupyterLab, what would be your guesstimate?
  • How bad a security hole would this be in you opinion? Is this something we could afford temporarilly?
    Cheers,
Contributor

nthiery commented Mar 13, 2017

Hi @minrk,
I am sitting with @jdemeyer, and we are discussing the Thebe issue. Thanks for investigating it! We now need to decide on whether to disable xsrf checks for the local sage-jupyter notebook, as a temporary workaround.

  • If we had to guess when there will be a new Thebe based on JupyterLab, what would be your guesstimate?
  • How bad a security hole would this be in you opinion? Is this something we could afford temporarilly?
    Cheers,
@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Mar 14, 2017

Contributor

If we had to guess when there will be a new Thebe based on JupyterLab, what would be your guesstimate?

I think we can have it in the next few months. I can work on this.

How bad a security hole would this be in you opinion? Is this something we could afford temporarily?

The known issue is relatively small, discussed here. Only some browsers are affected, and only limited actions can be taken.

Contributor

minrk commented Mar 14, 2017

If we had to guess when there will be a new Thebe based on JupyterLab, what would be your guesstimate?

I think we can have it in the next few months. I can work on this.

How bad a security hole would this be in you opinion? Is this something we could afford temporarily?

The known issue is relatively small, discussed here. Only some browsers are affected, and only limited actions can be taken.

vbraun added a commit to vbraun/sage that referenced this issue Mar 14, 2017

Trac #22458: Temporarily disable Jupyter XSRF check in local notebook…
…s to fix live documentation in Thebe

When running a local Jupyter notebook, the live documentation does not
work at all. The notebook log reports
{{{
[...]
[W 12:55:00.384 NotebookApp] 403 POST /api/kernels (::1): '_xsrf'
argument missing from POST
[W 12:55:00.385 NotebookApp] 403 POST /api/kernels (::1) 2.54ms referer=
http://localhost:8888/kernelspecs/sagemath/doc/prep/Quickstarts/Interact
.html
}}}

One workaround, [OpenDreamKit/OpenDreamKit#94#
issuecomment-286408387 suggested by Min R. K.] is to disable the XSRF
security check in Jupyter.

This is meant as a temporary measure until Thebe will have been
refactored on top of JupyterLab (tentatively a couple months???).

'''Upstream report''': oreillymedia/thebe#93

URL: https://trac.sagemath.org/22458
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Julian Rüth

@jdemeyer jdemeyer referenced this issue Apr 20, 2017

Closed

Prepare the Formal Review presentations #222

0 of 5 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment