ToDo
Jackrabbit Team
search
locking
jta support
access control
current persistence model (nodes and properties are stored in separate
files) leads to *very* slow performance in a normal filesystem;
use jdbc as an alternative to virtual filesystem persistence layer
use an alternative journaling filesystem as (transactional) persistence layer
provide clean abstraction for persistence grouping (nodes & properties
that should be stored/loaded together in the persistence layer);
(e.g. properties are stored within .node.xml)
need a more efficient way to persistently remove state of items in transient attic
(nodes in transient attic are orphaned, i.e. they are disconnected from
the hierarchy and can thus not be easily identified on Node#save):
=> need a hierarchical cache index for items in the transient attic
(see TransientItemStateManager), sparse tree index?; this index needs
to be maintained/updated on every transient & persistent hierarchy
operation (move, remove, copy)
HierarchyManager: cache Path objects (key: ItemId, value: Path[]);
update cache on hierarchy changes (move, hardlink, remove, etc)
inline @todo comments: resolve/implement
gracefull repository shutdown: shutdown repository, close workspaces,
close abstract file systems (e.g. flush dirty buffers, etc.),
trap JVM shutdown in RepositoryFactory (Runtime#addShutdownHook)?
ItemState: hide STATUS_* flags, use set* and is* methods instead
javaDoc, javaDoc, javaDoc
logging: use commons logging instead of log4j
logging: remove unnecessary output, check log categories/verbosity,
use 'debug' whenever possible