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

Add news banner and log #215

Merged
merged 11 commits into from
Feb 17, 2023

Conversation

echarles
Copy link
Member

@echarles echarles commented Feb 2, 2023

Related to #214

This PR add a banner and log message. The user can click on a button to not see the banner anymore (that choice is persisted across session and server restart via the local storage).

Screenshot 2023-02-16 at 14 19 35

Screenshot 2023-02-16 at 14 19 57

@echarles echarles added the enhancement New feature or request label Feb 2, 2023
@echarles echarles marked this pull request as ready for review February 3, 2023 10:30
@echarles
Copy link
Member Author

echarles commented Feb 3, 2023

@jupyter/notebook-council As this PR introduces a very visible change for the users, I am looking for any feedback/enhancement.

@echarles
Copy link
Member Author

echarles commented Feb 6, 2023

Thx @RRosio for the review. Let's leave this open a few more days for any feedback before merging.

Copy link
Contributor

@isabela-pf isabela-pf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for giving us a chance to look at this! It looks solid to me.

docs/source/nbclassic.rst Outdated Show resolved Hide resolved
nbclassic/templates/page.html Outdated Show resolved Hide resolved
<div style="display: flex">
<div>
<span class="label label-warning">NEWS</span>
If you plan to upgrade to Notebook 7, read <a href="https://nbclassic.readthedocs.io/en/latest/nbclassic_notebook.html" target="_top">https://nbclassic.readthedocs.io/en/latest/nbclassic_to_notebook7.html</a>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the links in this line give me 404 errors. I'm guessing this is intentional and these docs aren't being pushed to latest until the release, but I wanted to note it just in case.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the RDT website deployed (automatically done on PR merge), the 404 will be fixed.

Before releasing, we will double-check that the link is working fine.

echarles and others added 2 commits February 7, 2023 07:46
Co-authored-by: Isabela Presedo-Floyd <50221806+isabela-pf@users.noreply.github.com>
Co-authored-by: Isabela Presedo-Floyd <50221806+isabela-pf@users.noreply.github.com>
@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

Thx a lot @isabela-pf. I have merged your suggestions.

@ellisonbg
Copy link
Contributor

Question - isn't our plan to deprecate and not support notebook 6 moving forward. Do we have a date as to when notebook 6 will stop being supported? If that is the case, don't we want to phrase this to communicate that to users? The phrasing "if you plan..." suggests that upgrading is entirely optional for users.

@ellisonbg
Copy link
Contributor

The JEP on noteobook 7 says "Jupyter Notebook v6 will be maintained with critical security fixes for two years following the release of Jupyter Notebook v7." I think the banner should communicate that to users.

@ellisonbg
Copy link
Contributor

I should note though that I think a banner like this is a fine idea and will be helpful for users to understand the plan.

@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

isn't our plan to deprecate and not support notebook 6 moving forward.

Yes, that is the plan

Do we have a date as to when notebook 6 will stop being supported?

We had a few discussions in the community meeting related to support policies for Notebook, but nothing has been proposed nor decided to my knowledge and understanding.

If that is the case, don't we want to phrase this to communicate that to users? The phrasing "if you plan..." suggests that upgrading is entirely optional for users.

Well, I think the upgrade is optional indeed. As we don't have a EOL support date, I guess we could say "Notebook 6... will soon be deprecated..."

Please note that this banner will for now be shipped for NbClassic, so we may remove the mention to Notebook 6 to make the message more clear.

Also the primary intent of this banner is to highlight that any custom Notebook extensions will stop working with Notebook 7, instead of focussing on any depreciation or invitation to migrate to Notebook 7.

@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

The JEP on noteobook 7 says "Jupyter Notebook v6 will be maintained with critical security fixes for two years following the release of Jupyter Notebook v7." I think the banner should communicate that to users.

Thank you for the pointer. Do you have a content that we could use as text for the banner?

@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

BTW since the JEP, Notebook has evolved to NbClassic as a Jupyter Server extension, not sure if that 2 years support also applies to NbClassic.

@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

The result of the Notebook community meeting discussions can be read on jupyter/notebook-team-compass#5 (comment)

  • jupyter/notebook#main: The frontend and backend code for Notebook v7. Published to PyPI as notebook (v7)
  • jupyter/notebook#6.4.x: The frontend and backend code for Notebook v6.4 as it is now. Not maintained anymore, except for critical security fixes. It is superseded by Notebook v6.5 (see below). Published to PyPI as notebook (v6.4). User can pin pip install notebook==6.4, but for nearly all users, Notebook v6.5 or nbclassic v1 will likely be what they actually want on their machines. Installing Notebook v6.4 (or v6.5) not allow them to run on the same server as Notebook v7.
  • jupyter/notebook#6.5.x: This branch hosts the last releases of the v6 line, Notebook v6.5. No upcoming 6.6 branch should be created and the 6.5 branch aims to be EOL (End Of Life) in a reasonable timeframe -- likely coincident with the eventual release of Notebook v8. On server side, it is the same code base and structure as the Python Tornado NotebookApp of jupyter/notebook#6.4.x but uses the HTML/CSS/JS it gets from its dependency on nbclassic for its UI (see below). This branch receives bug and security fixes. No new features should be implemented in this branch, and relevant issues and PRs should be directed to jupyter/nbclassic#main. It does not use any Python from jupyter/nbclassic#main and is not a jupyter-server extension. Published to PyPI as notebook (v6.5).
  • jupyter/nbclassic#main: The Python code for nbclassic is a fork of the jupyter/notebook#6.5.x transformed into a jupyter-server extension. Published to PyPI as nbclassic (v1). This repo also contains the HTML/CSS/JS assets of Notebook 6.x (published in npm under a name TBD, e.g. @jupyter-ui/nbclassic), so if you pip install nbclassic you will get a fully operational notebook (v6-flavor). This becomes the only location for the frontend assets of Notebook v6-flavor.

@echarles
Copy link
Member Author

echarles commented Feb 7, 2023

The changes are at the nbclassic template and jupyter server extensions levels. As such, they will not show up in Notebook 6.x distributions, even after a new nbclassic release.

We can thus open other PR on the Notebook branches to add similar features (banner + log), but with different messages and focus if needed.

nbclassic/templates/page.html Outdated Show resolved Hide resolved
echarles and others added 4 commits February 16, 2023 13:54
Co-authored-by: Afshin Taylor Darian <git@darian.email>
Co-authored-by: Afshin Taylor Darian <git@darian.email>
Co-authored-by: Afshin Taylor Darian <git@darian.email>
@echarles
Copy link
Member Author

I have updated this PR based on feedbacks collected here and in #214, and opened https://github.com/jupyter/notebook/pull/6737/files

@echarles
Copy link
Member Author

@RRosio jupyter/notebook#6737 is merged and https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html is lie

This PR is good to merge so we can cut a release.

@@ -147,6 +84,3 @@ Jupyter Notebook 7.
**Porting Notebook 6 Extensions**: Work being done in parallel.
ou can find a helpful list of classical Notebook extensions and corresponding Jupyterlab extensions
if available at the `Jupyterlab-contrib website <https://jupyterlab-contrib.github.io/migrate_from_classical.html>`_.


.. _JEP #79: https://jupyter.org/enhancement-proposals/79-notebook-v7/notebook-v7.html
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this link has been removed, maybe the syntax in the first line under NbClassic Timeline can be removed? Or the link can be updated to the previously referenced JEP79 link "Jupyter Enhancement Proposal #79"?
Screen Shot 2023-02-17 at 8 12 30 AM

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added back the link to the JEP 79

@echarles
Copy link
Member Author

echarles commented Feb 17, 2023

CI is failing with

    bower xterm.js-fit#*                           EHTTP Status code of 502
    /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-etjzzr96/overlay/lib/python3.7/site-packages/setuptools/command/easy_install.py:147: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
      EasyInstallDeprecationWarning,

@RRosio
Copy link
Collaborator

RRosio commented Feb 17, 2023

CI is failing with

    bower xterm.js-fit#*                           EHTTP Status code of 502
    /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-build-env-etjzzr96/overlay/lib/python3.7/site-packages/setuptools/command/easy_install.py:147: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
      EasyInstallDeprecationWarning,

I read that pip install -e . is the equivalent of running python setup.py develop and that uses(?) EasyInstall? Could we try running python3 -m pip install --user -e . for the job to avoid this error? Although I didn’t check too far back, the error seems to have begun appearing in action 278 and has been intermittently happening ever since. I did see that the version of setuptools installed for packaging changed to setuptools-67.3.2 wheel-0.38.4 ever since action 278. I just opened a PR for a small link update and the same error appeared in the check_release (link_check) but not the check_release (check_release). It doesn't seem to be related to any changes from this PR specifically, if it sounds good to you @echarles I will merge!

@echarles
Copy link
Member Author

I have relaunched the CI and the intermediary 502 returned by unpkg is now fixed.

@RRosio this is good to merge. Thx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants