Differences between revisions 13 and 14
Revision 13 as of 2009-09-05 00:42:11
Size: 6201
Editor: was
Comment:
Revision 14 as of 2009-09-05 13:17:42
Size: 6013
Editor: qed777
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * [[http://groups.google.com/group/sage-devel/browse_thread/thread/8fa0d854b6928f2b/dc4cfe0a941762aa#dc4cfe0a941762aa | reST back ticks versus $]] - Patch or extend Sphinx.  * [[http://groups.google.com/group/sage-devel/browse_thread/thread/8fa0d854b6928f2b/dc4cfe0a941762aa#dc4cfe0a941762aa | Use $ instead of back ticks for math in reST]] - [[http://trac.sagemath.org/sage_trac/ticket/6892 | #6892]].
Line 11: Line 11:
 * Fix sagenb.org so docstrings look right (Sphinx).  * Use Sphinx for sagenb.org docstrings.
Line 25: Line 25:
 * Fix the major bugs and issues with the current notebook that make it difficult to deploy (e.g., account management).  * Streamlined deployment - account management, fewer bugs, etc.
Line 27: Line 27:
 * Add a textcha question for notebook signup. How about [[http://recaptcha.net/ | reCAPTCHA]]?  * [[http://en.wikipedia.org/wiki/Captcha | Captcha]] for notebook sign-up - [[http://recaptcha.net/ | reCAPTCHA]].
Line 33: Line 33:
 * Reduce data loss possibilites. ([[http://sage.math.washington.edu/home/wstein/tmp/sageuse/dataloss.txt | dataloss.txt]])  * Reduce data loss possibilites. ([[http://sage.math.washington.edu/home/wstein/tmp/sageuse/dataloss.txt |dataloss.txt]])
Line 54: Line 54:
 * Account approval:   * Account approval:
Line 71: Line 71:
 * Whoosh full-text search (search in codenode archives for discussion).  * [[http://whoosh.ca/ | Whoosh]] full-text search ([[http://groups.google.com/group/codenode-devel/browse_thread/thread/d3ffefa3b09937b6/98bdf00f65441934?#98bdf00f65441934 | codenode-devel]]).
Line 75: Line 75:
 * Chat system for students/users.  Is there a Google gadget for this?  * Chat system for students/users - [[http://www.google.com/ig/directory?synd=open&q=chat | Google gadget]]?
Line 81: Line 81:
 * Embed interacts in other web pages.  * Embed cells, including interacts, in other web pages.
Line 83: Line 83:
 * There are things that I now don't like on the Sage notebook, like that if I click on a cell, the frame gets focused (that's ok), but the text moves by one pixel. I hate that. My javascript version doesn't do that, at least on firefox. In fact, it's just a CSS styles issue, so it's easy to fix -- but I wasn't sure if it's just on my firefox, or oeverywhere. (ONDREJ)  * Prevent text movement by a pixel on cell frame focus. (Ondrej)
Line 87: Line 87:
 * Notebook input bug [[http://trac.sagemath.org/sage_trac/ticket/6729 | #6729]].  * Notebook input bug - [[http://trac.sagemath.org/sage_trac/ticket/6729 | #6729]].
Line 89: Line 89:
 * Debugger in the notebook.  Python.  * Python debugger in the notebook.
Line 95: Line 95:
 * In-browser zoom-pan-annotate of Sage plots.  * Interactively zoom, pan, and annotate plots.
Line 97: Line 97:
 * What I mean is that the chance to access at the same time an history powered command line, and a powerful editor (with code completion, tabs, colors, etc.., which looks pretty standard - to not say minimal - in these modern times) looks pretty comfortable to me, but I'll be happy to listen to other comments. I've already heard talking about !BeSpin ( https://bespin.mozilla.com/ ) in this list, right? Can't we have something similar? :)  * Powerful editor with command-line history, syntax highlighting, context-sensitive completions, etc. - [[https://bespin.mozilla.com/ | BeSpin]].
Line 103: Line 103:
 * GUI plugins for inputing mathematics. See the thread http://article.gmane.org/gmane.comp.mathematics.sage.devel/27294/  * [[http://groups.google.com/group/sage-devel/browse_thread/thread/da578e3918f08709/da54258f1783b874?#da54258f1783b874 | GUI plugins for math input]].
Line 105: Line 105:
 * SVG editing: http://code.google.com/p/svg-edit/  * [[http://groups.google.com/group/sage-devel/browse_thread/thread/86429406fb3bba17/dd3163cb2a47fa38?#dd3163cb2a47fa38 | Vector graphics editing]] - [[http://code.google.com/p/svg-edit/ | SVG-edit]].
Line 107: Line 107:
 * Account tokens:   * Account tokens:
Line 118: Line 118:
 * The 'forgot password' feature (enabled by enabling the 'email' setting of the notebook) currently allows anyone to reset the password of anyone they know the
email address of, since it currently directly resets the password and mails the new password to the email address associated with the account. It would probably be better to instead generate a second password for the account, that would only become permanent once it has been used once. Or, alternatively, to email a link with a secure token to a password-change-page.
 * The 'forgot password' feature (enabled by enabling the 'email' setting of the notebook) currently allows anyone to reset the password of anyone they know the email address of, since it currently directly resets the password and mails the new password to the email address associated with the account. It would probably be better to instead generate a second password for the account, that would only become permanent once it has been used once. Or, alternatively, to email a link with a secure token to a password-change-page.
Line 124: Line 123:
 * Implement a cross-browser web-application automated testing infrastructure based on webdriver http://code.google.com/p/webdriver/ for the notebook, focused on functionality, consistency, concurrency, and scalability. For example, execute 10 sessions of virtual calculus students in a loop.

 * http://testled.com/
 * Notebook testing infrastructure - automated, cross-browser and platform, focused on functionality, consistency, concurrency, and scalability - [[http://seleniumhq.org/ | Selenium]], [[http://testled.com/ | Testled]], [[http://code.google.com/p/webdriver/ | WebDriver]]. For example, execute 10 sessions of virtual calculus students in a loop.
Line 130: Line 127:
 * Windows server farm.  * Windows build farm.
Line 132: Line 129:
 * Sagelite - separate the current notebook from Sage and get it to run on Windows.  * Sagelite - separate the current notebook from Sage. Windows port.
Line 141: Line 138:

 * Upgrade Sage for 66-bit processors.

Sage Usability Improvements

This unofficial wish list is adapted from this repository. Please feel free to add or clarify ideas, link to trac tickets, make comments, reorganize items, point out useful links, etc.

Documentation

Notebook

Admin

  • Streamlined deployment - account management, fewer bugs, etc.
  • Captcha for notebook sign-up - reCAPTCHA.

  • LDAP authentication. (tdumont)
  • Guaranteed worksheet-server synchronization.
  • Reduce data loss possibilites. (dataloss.txt)

  • Recover passwords. (Byungchul Cha)
  • Email address as username.
  • Add users as admins. (fprimex)

Users

  • Balancing server_pool:

I managed to do a little of this by exporting the directory that the
notebook is running in via NFS to the other machines and maintaining
the same permissions and file structure for everything else.  However,
this raised another issue in that not all my machines are of
comparable power.  How complicated would it be to add something that
allows you to balance how many processes go to each server?  I'm
thinking something along the lines of distcc's host list.
  • Account approval:

> We have a small server and would like provide SAGE (in form of the
> notebook) for the students. However, it maybe a bit
> "risky" (especially, we have no experts to manage it) to open it up to
> everyone. So we would like to have some kind of "account approval"
> procedure. Can that be done, if so how?
  • Reorganize the notebook help page.
  • Automatically have worksheets save their state and restore when started later.
  • Update the titlebar from the notebook.
  • Auto-updating interacts.
  • Whoosh full-text search (codenode-devel).

  • Keith Lang's Top 10 UI Myths.

  • Chat system for students/users - Google gadget?

  • Implement %timeit block in notebook.
  • Worksheet tags. (Brian Granger)

  • Embed cells, including interacts, in other web pages.
  • Prevent text movement by a pixel on cell frame focus. (Ondrej)
  • Completions link for iphone.
  • Notebook input bug - #6729.

  • Python debugger in the notebook.
  • Make it possible to delete published worksheets.
  • Slideshow mode.
  • Interactively zoom, pan, and annotate plots.
  • Powerful editor with command-line history, syntax highlighting, context-sensitive completions, etc. - BeSpin.

  • Fix MoinMoin.

  • Publishing notebook pages to selected users or groups (to make this effective, groups of users probably needs to be implemented as well).
  • GUI plugins for math input.

  • Vector graphics editing - SVG-edit.

  • Account tokens:

A preliminary patch for this is available at
http://www.math.leidenuniv.nl/~wpalenst/sage/account_tokens.patch . It is a
patch against 4.1.1 with tickets 4552
('trac_4552-notebook_account_email.patch'), 6843, 6856 applied.

(TODO: add doctests, implement token-generation page to the interface added by
ticket 4135, allow enabling/disabling the token feature from that page too.)
  • The 'forgot password' feature (enabled by enabling the 'email' setting of the notebook) currently allows anyone to reset the password of anyone they know the email address of, since it currently directly resets the password and mails the new password to the email address associated with the account. It would probably be better to instead generate a second password for the account, that would only become permanent once it has been used once. Or, alternatively, to email a link with a secure token to a password-change-page.

Build / Test

  • Notebook testing infrastructure - automated, cross-browser and platform, focused on functionality, consistency, concurrency, and scalability - Selenium, Testled, WebDriver. For example, execute 10 sessions of virtual calculus students in a loop.

  • Make it so Sage binaries don't use SSE3, etc. -- make them FAT!
  • Windows build farm.
  • Sagelite - separate the current notebook from Sage. Windows port.
  • Windows port.
  • VirtualBox Sage.

  • andLinux Sage.
  • Improve documentation/testing and refactor code.
  • Upgrade Sage for 66-bit processors.