Hi,

Here is the very detailed plan for SAGE-1.7; alternatively, see
    http://sage.math.washington.edu:9002/sage_trac/milestone/sage-1.7

Help is appreciated.


== SAGE-1.7: Goal Date is Monday Jan 15 late night ==

== New standard components ==
  * palp -- http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html
    * PLAN:
       1. create package and get people to build it (done)
       2. Include and test/use code from Andrey Novoseltsev
    * PROBLEMS:
       - build problems
       - interface might not be sufficiently robust: try big problems.
       - documentation might be misleading
       - not enough doctests

  * openssl SAGE package:
    * PLAN:
      1. create packages
      2. build test
         - on my machines
         - sage-dev feedback (with how to do make test) make sure devs give the 
time to build.
    * POSSIBLE PROBLEMS:
      * won't build on some machines  (use google to resolve)
      * takes too long to build -- it takes 2m35s on my computer
      * adds to much to SAGE (3MB)
      * I think openssl is the *only* choice, since security is such a hard 
problem; skimping on security is idiotic.
      * license issues?

  * pyopenssl SAGE package
    * PLAN:
      1. create package
      2. build test
         - on my machines
         - sage-dev feedback (with how to do tests)
            import OpenSSL

== New code ==
  * include first version of Yi's distributed SAGE
    * PLAN:
      1. get code from Yi
      2. try it out myself
      3. post so others can try with hg_sage.pull()
      4. get feedback
      5. rework documentation

    * POSSIBLE PROBLEMS:
      * Yi is not ready to do a pre-release
      * The code doesn't work; too many problems
      * fundamental design problems
      * documentation non-existent -- too hard to do anything.

  * Greatly improve the notebook/worksheet export functionality, which is 
really bad now.   One should be able to export a single worksheet, or a 
collection of worksheets to any of the following three formats: latex, html, 
pdf, text.
     * NOTES:
       - NOTE: for each, we should allow a single worksheet, complete 
notebooks, and any subset of worksheets to be exported.
       - Hopefully Tom Boothby and Alex C can help.

     * PLAN:
         1. Design a logical interface:
           - INPUT: list of worksheet names
           - OUTPUT: * for latex/html: a link to a tarball or zip archive
                     * for pdf/text -- link to a single file.
                     * the archive contains both the latex and html and the 
complete notebook directory, so it can be opened by anybody later.
                     * the plain text option gives everything as a single plain 
text file -- no tarball.

         2. Design interface that can be used from notebook.
           - A command --, e.g.,
{{{
               %export latex    # -- exports current worksheet in latex
               %export html graphs plots   # exports two worksheets to html
               %export text *   # the entire notebook
               %export html plot*  # all worksheets begining with plot.
}}}
           - The ordering of the worksheets is determined by the order they are 
given on the line.

           - This has to be a special %blah command, not a normal Python 
command, since it has to be run in the notebook process, not in the worksheet's 
Python sub-process (as that could be running in a chroot jail or on another 
machine).

           - The above interface could likely be easily made to work entirely 
through a GUI later, and will be easy to document. So it's the right first step.

        3. Implement interface above:
           - The command %export will be mostly implemented in worksheet.py
           - The hard part is testing, and generating actual latex/html/text 
which will require adding methods to cell.py, worksheet.py and notebook.py.

     * POSSIBLE PROBLEMS:
       - The interface designed above is bad for some unforseen reason.
       - It will be too difficult to implement in a clean way.
       - Latex output -- some generating output might not actually latex 
correctly, which could be frusting.  Providing a script to build the latex 
output (using pdflatex, say, and with nostopmode) would help a lot.
       - Should also provide pdf output, which is autogenerated by the server 
(Added.)
       - What about customization of the "style", e.g., css, layout of index 
into worksheets, etc.?
       - Should generated latex be hyper-indexed?  Issues with 
cross-referencing of worksheets.
       - Eventually the documents produced this way should have the possibility 
of looking truly professional, which means that one should be able to include 
macro files, etc.  It should really provide a totally new way of writing 
papers.  Along these lines, the "Edit" mode for the notebook should support 
including latex instead of html.  The latex would be "previewed" by the 
notebook using jsmath.  But when exporting it would stay as latex that would 
get pdflatex'd.

  * Apply some patches from Robert Bradshaw
     * PLAN:
       1. locate email
       2. apply patch
       3. doctest
       4. complain
       5. Get more patches from Robert B. for his new point counting code.
       6. Go to 1.
     * POSSIBLE PROBLEMS:
       - the usual, i.e., depends on patch.
       - Robert's point counting code isn't ready.
       - Bugs / lack of documentation

   * p-adics: Include David Roe's p-adics, but off by default.  Just set them 
up so people can try them by exporting some module.
       * PLAN:
         1. Apply David's patch
         2. Make sure not completely broken.
         3. Make sure in no way effects rest of SAGE.
         4. Get people to try.
       * PROBLEMS:
         - Just have to be careful that the new package can be easily installed 
and doesn't mess up other code, and that it's not-being-done is clear.

== Documentation ==

  * Get the reference manual into "better" shape:

     * PLAN:
      1. fix bug with input argument list confusion (trac #41)
      2. go through devel/doc-main/ref and include important
         finished modules that are missing
      3. make sure all headings, etc., are correctly formatted
      4. add more documentation to explain what is going on.

     * POSSIBLE PROBLEMS:
      - Nick wrote some new code for generating the reference manual,
        but I haven't seen it.  What's the status?
      - This is potentially a lot of work, especially writing documentation
        to explain what is going on.  Lots of "summary of features and what is
        implemented and why" should be written.
      - References -- Ifti says they are a mess.


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to