Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate bundler mini-API from jupyter-incubater/contentmanagement to notebook #1469

Closed
parente opened this issue May 19, 2016 · 6 comments
Closed

Comments

@parente
Copy link
Member

parente commented May 19, 2016

Testing the waters here to see if I take the time to migrate all or part of the bundler ability out of the incubator project into a PR against notebook if it will past muster for inclusion.

Current implementation doc

https://github.com/jupyter-incubator/contentmanagement#write-bundlers

Use case

As a notebook user, I want to extend the available options under the File menu for transforming and/or packaging a notebook for download or deployment.

Problem

  1. The options under File -> Download As is fixed on both the server and client.
  2. As an extension author, I have to implement both a server extension and a client extension to add one or more options.

Solution already implemented in the incubator

  1. Provide a reusable REST resource on the server that takes a bundler name, the name of a notebook, and invokes a well-defined API (function) in the named bundler's Python module).
  2. Provide a Jupyter nbextension and config-based mechanism for registering bundlers from the jupyter command line.
  3. Provide a resuable JS module that creates bundler entries under Download As or Deploy As in the notebook File menu based on the registered bundler metadata, and makes the appropriate XHR calls to the server-side bundler resource.

Note

This feature is used heavily in the dashboards projects (e.g., by https://github.com/jupyter-incubator/dashboards_bundler) but has applicability beyond dashboards (e.g., bundle notebook-associated local files in a zip for download, https://github.com/jupyter-incubator/kernel_gateway_bundlers).

@Carreau Carreau added this to the 5.0 milestone Jun 17, 2016
@Carreau
Copy link
Member

Carreau commented Jun 17, 2016

I think the feature is more or less reasonable. I've marked is as 5.0.

@parente
Copy link
Member Author

parente commented Jun 17, 2016

Thanks for having a look @Carreau.

@ellisonbg
Copy link
Contributor

Fine with this, but because this makes a change to the server (which is also used for jupyterlab), we need to make sure that the server side of this will work with both notebook and jupyterlab. We definitely don't want to get into a situation where we have two server.

@fperez @jasongrout

@parente
Copy link
Member Author

parente commented Jun 17, 2016

we need to make sure that the server side of this will work with both notebook and jupyterlab.

I'm planning on making a first pass through porting what currently exists over nearly verbatim and only enabling it against the existing notebook UI to start. I hope then we can more easily see what needs to be adapted to fit jupyterlab, assuming we want to enable the idea of bundlers there too as well.

I believe the server side is pretty agnostic as to the UI. The client side JS will surely need translation to fit jupyterlab vs the current notebook.

@parente parente mentioned this issue Jun 30, 2016
10 tasks
@takluyver
Copy link
Member

@parente can this be closed, as #1579 was merged?

@parente parente closed this as completed Jan 31, 2017
@parente
Copy link
Member Author

parente commented Jan 31, 2017

Yes. Thanks @takluyver . Didn't realize this was still lurking.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants