Copyright (c) 1999-2001 The dbXML Group, L.L.C.
All rights reserved.

See docs/LICENSE for The dbXML License


TODO
====

Compressed DOM
--------------
The compressed DOM still needs quite a bit of work.

   Client support
   --------------
   We need to enable the Client API and CORBA clients to receive
   compressed DOM documents, and then use a downloaded symbol table
   to decompress those documents.

   Huge document support
   ---------------------
   We need to create a virtualized byte array class to drive the
   compressed DOM system.  Right now, there's a single byte array
   that represents the entire compressed document, but if that byte
   array is huge, and the document doesn't need to be fully
   traversed, then most of it is hanging around in memory for no
   reason.

   Advanced auto-linking
   ---------------------
   Basic auto-linking works right now, but there are some tree-walker
   related issues with it and it doesn't support things like
   controlled re-evaluation.

   Basic Document-level transactions
   ---------------------------------
   We need to provide the ability to lock a node (and recursively
   everything beneath it) to support node-level transactions.  This
   locking should allow for both single writer/many reader and
   exclusive locking.


The Application Server
----------------------
The foundations for the Application Server layer exist, but need to
be built up substantially.

   Sessions
   --------
   A Session system based on Thread-local associations needs to be
   developed.  Sessions will be represented as XML Serializable
   objects and will be capable of Collection-based storage.  Because
   the Filer that a Collection uses is virtualized, sessions will be
   capable of being transient and in-memory, persisted on disk, or
   replicated across a set of servers in a transparent fashion.

   Scheduling
   ----------
   An Application-level scheduler needs to be developed for
   performing automated management tasks.  Events will fall into
   several classes, including XMLObject method calls and external
   command execution.


The Query Engine
----------------
The query engine has basic functionality right now.  Indexing and
XPath query work against a Collection, but no unified
cross-Collection query system currently exists.

   Grouped resource-level transactions
   -----------------------------------
   A system needs to be designed that allows transactions across
   a set of resources to be performed.


Documentation
-------------
We need to continue fleshing out our technical specifications for the
core.  We also need to work on JavaDoc where there is none already.


Everything
----------
Pretty much everything needs to be looked at, if not be completely
written.  We've got a good foundation in place, it's now just a
matter of getting all the pieces to fit together nicely.  Grep for
the string 'TODO' in the source code and you'll no doubt find stuff.
