You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

VFS - Next

1. apply http://issues.apache.org/bugzilla/show_bug.cgi?id=33795

ram filesystem

2. apply http://issues.apache.org/bugzilla/show_bug.cgi?id=36047

services & svn filesystem (we have to setup an external space to provide the svn filesystem as the used library JavaSVN is LGPL)

we need a discussion about a new name instead of "services" (maybe).

The idea is to have calls like

Commit commitFile = FileObject.getService(Commit.class)
commitFile.process();


TumbnailImage thumb = FileObject.getService(TumbnailImage.class)
thumb.process();
Image bi = thumb.getImage();


ExifData exif = FileObject.getService(ExifData.class)
exif.process();
String camera = exif.getCameraModel();

You get the idea?

The current name proposals are:

3. user api

a way to avoid to put username/password into the url.

Using a callback mechanism to get this data when needed.

4. progress, pause and cancellation api

callbacks to be informed about ongoing operations (copy, move, rename, delete, copy-progress, move-progress (if between filesystems)) Ability to pause or cancel the operation.

5. browse roots

e.g. smb or local partitions (windows - c:, d:, ...)

6. caching review - allow to configure fileObjects internal state cache

This is to avoid the .close() calling to get fresh data.

Sure, this might slow down alot, but if one would like have it, it should be possible.

7. xpath

allow xpath style filesystem browsing

8. review virtual filesystem

see what happend to the virtual filesystem

9. file permissions (non-native)

(with non native code only)

figure out a way to represent file permissions and a way to modify then

10. native parts (if possible through jdic)

  • filesystem notifications - to get informed about external filesystem events
  • file permissions to allow fine grained setup for local files
  • partition information (type, space, label) - some available in JDIC but also keep in mind this: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4057701

11. write support for archives

this would require it to

  1. copy the archive locally 2. apply the change 3. repack the archive 4. copy the archive back to its place

We should stay in state 2. until one sends a signal to finish with the archive.

12. Eclipse enabled VFS JARs

The problem: Currently extending VFS with new file system providers cannot be done in an elegant manner. Special code needs to be written to register new file systems for new schemas.

A possible solution: The VFS project could make use of the powerful plugin mechanism available in Eclipse (actually they are migrating towards the OSGi plugin model).

The whole idea would be to be able to extends VFS with new file system providers using the Eclipse plugin model (with extensions to VFS extension points). The standard file system manager could be extended: if the Eclipse runtime is detected to be running then it could use the Eclipse runtime's mechanisms to identify extensions to the VFS extension points. If the Eclipse runtime is not running it could fall back to the existing provider initialization found in StandardFileSystemManager.

In the JCommander project we had a file system abstraction layer that worked this way and we found it very easy and elegant to provide additional file system implementation. Actually now that we have moved over to VFS we will implement this functionality. When this implementation will be provided then it could be analyzed if it is suited to the base VFS distribution.

Having these would make it much easier for third parties to extend VFS.


new filesystems

  • pop, imap (useable for emails)
  • mime (for the email itself - pretty much like an archive)

Consider this url:

zip:mime:imap://user@mailserver/INBOX/folders/newMail.mime!/attachment1.zip!/zipentry.txt

Cool, isnt it?

  • generic XML
  • ant (only a variant of XML? Cant we just set a dtd or scheme using some sort of configurationOption ?)
  • java structure (by class, by source?)

non confimed

(add your wishes here)

x. filesystem xyz

blablabla

  • No labels