Differences between revisions 21 and 22
Revision 21 as of 2019-11-24 15:02:56
Size: 3522
Editor: chapoton
Comment:
Revision 22 as of 2022-04-05 02:11:30
Size: 0
Editor: mkoeppe
Comment: outdated sagenb
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
||<#FF6347> The legacy sage notebook is deprecated and not available under Python 3. ||

||<#98FF98> Please use instead the Jupyter notebook : "sage -n jupyter" ||

= Notebook =

The Notebook is a web browser based GUI for Sage.

== Current developers ==
  * Tim Dumol (Philippines)
  * Jason Grout
  * Mitesh Patel (Pasadena, CA)
  * William Stein (UW Seattle)
  * Jonathan (Jmol developer)
  
(missing -- add your name!)

== Past Developers ==
  * Alex Clemesha
  * Dorian Raymer
  * Tom Boothby (UW)
  * Timothy Clemans (Seattle)
  * Mike Hansen
  * Brian Lauber (Case Western University)
  * Harald Schilly (Univie)
  * Igor Tolkov

== Current projects ==

=== Separate the notebook and expect interfaces from Sage ===
  The notebook and interfaces will spinoff from Sage to be a separate project that Sage depends upon. This project has not yet been named.

=== Source code documentation ===
William Stein and Timothy Clemans

Currently done:
  * js.py - All
  * interact.py - All
  * notebook.py - create_default_users, user_exists, users, user, worksheet_names
  * twist.py - EmptyTrash

=== Security ===
  * Brian Lauber
[[http://trac.sagemath.org/sage_trac/ticket/2936|TRAC ticket 2936]]

=== Interact ===
  * Igor Tolkov will work on this full time all summer as an officially funded [[http://code.google.com/soc/2008/|GSoC project for the Python software foundation]]. His mentor is William Stein.


=== Bug hunting ===

=== Version 2.0 ===
Just for the record: Harald Schilly will start gathering information soon on how to reimplement the whole notebook, targeting all issues with the current one and for easier development, etc. My idea is to use high level scripts for dynamic and stable layouts, everything held together by the [[http://code.google.com/webtoolkit/|GWT]] Version 1.5 (since there are major improvements) or higher. This enables to communicate with basic JS libraries through JSNI, Unit testing for every function of the notebook, much faster development and less code since it is compressed and optimized and last but not least it's easyer to work with a GUI. It would also be easy to work on this, if the notebook code is separated from the Sage core (xmlrpc communication?) to allow modularization and parallel development without mixing up things.

 * Ideas by Gerhard Erthaler:
  * a standard means of adding javascript statements in the header of the notebook html page (per notebook, and/or globally)
  * notebook sage code in a frame
  * style sheet associated with individual notebooks or globally
  * dividing the notebook into successive pages, with simple way of adding prev,next,up navigation links, and an outline in a separate frame (Note the implication for computation/recomputation in a notebook. A possible extension to the current choices might be recompute all up to and including current cell.)
  * How to: instructions on how to edit notebook html pages in a user's prefered external editor(s), with whatever restrictions (What I have in mind is inserting html statements directly, rather than with sage print statements in (incompletely) hidden cells).
  * Easy means of combining/splitting cells
  * Modification of the cursor positioning following 'shift-enter' in a cell: leave it at the end of the current cell. Getting to the next cell is trivial given the binding to the right arrow key. The current behavior is extremely confusing on long outputs from a computation.