The following is a list of items that need to be completed.
Contributions are welcome!
- moveTo should handle a directory move if it moves from a different filesystem.
- More documentation (status, file naming etc).
- Fix the
TODO items in the code.
- Add more providers:
- jdbc filesystem
- xml filesystem
- local mirror
- spidering http
- JNDI integration.
- Formalise the provider API.
- WebDAV Provider:
- Add plain http support, and auto-detect dav resources.
- Add set last-modified.
- Zip/Jar Provider:
- Extract an AbstractLayerFileSystem out of ZipFileSystem.
Track changes to the parent layer. Eg when the
parent layer is deleted, mark all the files in the
fs as 'does-not-exist'.
- Add support for writing to zip/jar files.
- URL Provider:
- HTTP Provider:
- Support attributes.
- HTTPS support.
The local disk caching mechanism also needs more work. Needs
to check last-modified time. Replicator needs to be more
- Add persistent replicator.
Finish support for junctions: Make ancestors of a junction
point visible, fire events when junction is added or removed,
Add support for federation (ie transparently crossing file
system boundaries, such as drilling down into the contents
of a Jar file).
- Add an equivalent of the fileScanner Jelly tag.
Add an equivalent of Ant path, fileset, dirset, filelist, etc.
Ideally, these can be abstracted into a single data type.
Allow selectors, name mappers, and filters to be specified
for the Ant tasks.
- Add capabilities to FileObject.
- Attributes and attribute schema.
Handle file canonicalisation better (for cases like
case-insensitive file systems, symbolic links, name mangling, etc).
- Add more selectors: XPath, Ant style, regular expression.
- Add adaptor (NodePointerFactory?) for use with JXpath.
Add content-changed, attribute-changed, and move events to
FileListener. Maybe split into structure and content
- Get/set the file permissions.
- Automatically checksum and/or verify remote files.
Look at adding native code for fine-grained control over
permissions, file monitoring, faster moves, etc. Must be
optional - the thing should still build and run without the
The following describes things I discovered during testing newer dependencies.
- resource.listWebdavResources() do no longer list directories?
Figure out what to do