open issues, features not yet implemented, improvements, etc. ------------------------------------------------------------- the following list is not yet categorized/prioritized, neither is it complete :( - 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; see next issues for solutions - use jdbc as an alternative to virtual filesystem persistence layer - use an alternative journaling store 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) - gracefull repository shutdown: - shutdown repository - close workspaces - close abstract file systems (e.g. flush dirty buffers, etc.) - trap JVM shutdown in RepositoryFactory? (Runtime#addShutdownHook) - inline @todo comments: resolve/implement - 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