R2.1: To-Do List

This file originally contained pending tasks for the transition from the Release 2.0 series to the stable Release 2.1 series. Now that the transition has been accomplished, this file reverts to a roughly-prioritized list of tasks for future releases in the 2.1 series.

See the various source-code to-do and done files for details. At each point release (e.g. 2.0.8), completed items are deleted from this file; they can be found in the appropriate done file.

Items are grouped as follows:

See also:

Code

  1. R2.1.2 Bug POST breaks when proxied through Apache.
    Just spins its wheels. Should time out. POST proxied through the PIA is also broken. (1999-12-09)

  2. Hole Safe version of <define>
    and file-only and http-only versions of <include> etc.; use ``suspect'' to turn off loading of .xcf and .ts files in subsites -- go up to non-suspect subsite.
  3. R2.1.2 Hole Servlet support
    We need two servlets: PIAServlet, which includes the Subsite mapping stuff, and DPSServlet, which only does processing. Also look into the protocol that Apache uses to talk to jserv.
  4. Hole URL-manipulation tag
    something like <date> but for URL's.
  5. Hole Language cleanup

  6. Hole SAX / DOM support
    With DOM we get Cocoon 1; with SAX we get Cocoon 2.
  7. Hole Pluggable parsers.
  8. Hole XML namespace support
  9. Hole Ability to re-read config files.
    Mainly needs the ability to uninstall agents. Pretty easy if we keep a list in the Subsite and uninstall them by object ID. Requires {un}registerAgent in Site.
  10. Hole Additional file prefixes in Subsite
    Need access to files relative to root, vroot, and home. Need per-subsite restrictions on prefixes; i.e. not file: or href:.
  11. Hole blank lines in .xh content
    Need to hold off sending header until first non-blank output. Also should suppress blank lines.
  12. Hole State maintenance
    When a subsite's properties are changed, the changes have to be written out. Concievably this could be done as a delta file, maybe even _subsite.xci, that is always read in after the _subsite.xcf. It can even be defaulted so that, e.g., agents are read only once. Alternatively one could save only the properties, as a namespace.
  13. Hole Cached entities
    Need a way to specify that certain documents are to be cached as entities. This is another way to do state maintenance, giving finer-grained control over what's preserved and what isn't, at the expense of some conceptual complication for the developer.
  14. Hole Namespaces/Entities in files
    A necessary part of the cached entity/state maintenance puzzle is the ability to put a namespace in a file (i.e. have a namespace in a system entity) and keep it updated. This may be an instance of the more general problem of structure-modification operations inside any system entity. The correct solution may be to write all changed entities when they go out of context (scope), i.e. when a TopProcessor exits.

  15. Impr Get attribute-list case sens. from tagset
    Need to case-fold attributes correctly for the tagset.
  16. Impr Correct handling for character entities.
    Currently they're not defined, which causes several kinds of havoc. If we define them, need "retain" in many cases (e.g. &nbsp;).
  17. Impr shouldn't split on whitespace sometimes
    e.g. in <from>, and <foreach>. Requires a reliable <text split> operation. [Downgraded to Impr from Bug because it's performing to spec, but the spec's just not good.]
  18. Impr Copying Documents
    Want both ability to tee-off and save a proxied document, and a <copy> tag (along the lines of <input> and <output>). Possibly just <connect> with both src and dst attributes.
  19. Hole PUT
    Need the ability to create documents using PUT requests.
  20. Hole TEXT tagset
    Need a tagset and associated parser that simply treats files as text nodes.
  21. Impr HEAD, IfModifiedSince
    It would be useful if we could support HEAD requests (for everything) and support the IfModifiedSince header for static pages.

The following are currently low priority, since ampersands in URL's are working reasonably well at the moment.

  1. Impr toString for Element could use ToString
    i.e. toString for element nodes could just use Copy and ToString -- end of story. (Note that you can get startString by simply doing startNode on a ToString. startString is no longer used outside of dps.)
  2. Impr don't use toString in Output.
    Conversion of nodes to external form should be done via a properly- parametrized set of methods that can be called by an Output, or directly in the Output (which is cleaner but makes it impossible to have specialized elements).
    Parameters should include indent, line width, etc. Possibly give the nodes access to write, etc. in a subclass of Output. Output formatting is a time sink; we don't have to get it exactly right the first time. The important thing is not to rely on toString for converting NodeList's and AttrList's.
  3. Impr clean way of putting node lists on outputs.
    It would be convenient if there was a simple way to put a list onto an Output. Probably a method on ActiveNodeList would be best.
  4. Hole Can't make (nodeBuilder) or parse arbitrary decl's.
    basically need to fix constructor for TreeDecl.

Documentation

  1. R2.1.2 Bug Samples needs HEADER.html
    So do some other directories, probably, but that's an obvious one.
  2. Impr Separate tutorials and references
    Possibly bring back the old ``Manuals'' directory, or perhaps just move each reference into its own subdirectory (which is true of tagset and api references now).
  3. Bug The FAQ documents are totally out of date.

Other

  1. Hole Find places for mini-apps
    There are two kinds: PIA apps (for which Samples is the cannonical location), and process apps -- need a good place for the latter. Possibly bin for scripts and lib for tagsets.
  2. Hole Move CVS tree outside firewall, tunnel server.
    This has to be done in order to give outside developers access. It's probably simpler to use ssh to tunnel the CVS password server's port through the firewall, but more egalitarian to move the server outside.
  3. Wish Use process for RiSource.org
    Should be an example of off-line website management with the PIA.
(End of list)

Description of Keywords

(Listed in order of decreasing urgency.)
Bug
A (typically small) problem with a simple, unambiguous description of its symptoms.
Hole
A piece of missing, but important, functionality.
Goal
A target capability (includes a date)
Check
Something to check for; a potential stumbling block or place where the implementor may have cut corners in the heat of the moment. For example, Y2K problems.
Improvement
A desirable improvement.
Proposal
A proposal that will need to be discussed further.
Wish
A desired improvement of low priority.

Copyright © 1998-1999 Ricoh Innovations, Inc.
$Id: r2.1.to-do.html,v 1.21 2001-01-11 23:36:56 steve Exp $