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

Notebook v7: does it need JLab v4 or v3.x? #11464

Closed
fcollonval opened this issue Nov 15, 2021 · 3 comments
Closed

Notebook v7: does it need JLab v4 or v3.x? #11464

fcollonval opened this issue Nov 15, 2021 · 3 comments

Comments

@fcollonval
Copy link
Member

fcollonval commented Nov 15, 2021

For notebook v7 (based on retrolab), some new customization for the JupyterLab UI components are required in order to match closer the look and feel of classical notebook in retrolab. In particular, the toolbars and some panels will need to be positioned differently. For JupyterLab v4, there is a new feature allowing customization of the toolbars that made it (#10469) - it did not make it to 3.2 due to lack of available time. But it could be backported.

The question of panel positions is likely to be solvable in a backward compatible way with 3.2. But this issue is also a call for opinions about mandatory changes required for notebook v7 to determine if it can be based on JLab v3.3 (that would include toolbar and panel position customization) or if it should be delayed to be based on v4.


For reference, some discussion from the toolbar customization PR:

I think we should consider a 3.3 version due to notebook v7 (aka nb7). Because in addition to this one, we need to add customization for widget shell positioning; for example:

  • the inspector panel should appear in a down panel in nb7
  • we may want to have the same behavior to allow associated console with a notebook
  • this could provide a generic way to deal with extension that are added in sidebars; we may want to define in nb7 if they should appear in the tree page like the file browser and running widgets or in the notebook or editor like ToC, metadata edition, debugger

Going a bit further into the implementation, we could extend the shell.add method options to receive an optional unique identifier for panel (fallback could be the panel id) and for widgets generated from factory that identifier would be the factory name. Then this identifier will be used as key in a position mapping defined by settings (more precisely that could override the default positioning).

Originally posted by @fcollonval in #10469 (comment)

@fcollonval
Copy link
Member Author

Xref jupyter/notebook#6210

@jtpio
Copy link
Member

jtpio commented Nov 15, 2021

Thanks @fcollonval for raising this.

The question of panel positions is likely to be solvable in a backward compatible way with 3.2

For now we have been handling this by making the upstream plugins more granular, so the positioning of the widget can be handled in a separate plugin. For example RetroLab places the file browser in the main area with this plugin:

https://github.com/jupyterlab/retrolab/blob/748f9eb212fa22e334ee63c10f849a8599074c26/packages/tree-extension/src/index.ts#L134-L169

@afshin
Copy link
Member

afshin commented Aug 25, 2022

This issue has been discussed and resolved: JupyterLab 4 and Notebook 7 are sibling releases.

@afshin afshin closed this as completed Aug 25, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 26, 2023
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

3 participants