Goodbye FileSystemWatcher – welcome full file-manager solution!

The problem: when files are being moved, they need to “carry” their tags with them. To do that, we first approached the FileSystemWatcher technology: this proved unreliable in many ways when it goes to moving files (feel free to ask for details). Then we considered the file system mini-filter technology (the one commonly used by anti-viruses); apart from the issues related to integrating a piece of C code into a .net application, this technology didn’t appear to be more useful than the previous one.
The issue is indeed non-trivial: moving a file (specially from a disk to another) means creating a new file, copying bit by bit all the data from the source file into the new file and then deleting the old one… this means that there is no such a thing like “file moving” event, nor would it be possible to have it.
Our previous approach was to develop a system to track file movements that listened to the file system and using a pretty complex AI did (try to) understand when a file was moved. This approach included creating many different pattern-matching  algorythms in order to be able to “understand” the behaviour of some of the most used applications (i.e. MSFT Word, Adobe Photoshop), since they performed complex operation on the disk each time they were saving a file.  It totally felt like a game we couldn’t win!

<

After some intense research about technologies we came to the conclusion that there is no easy way to “listen” to a filesystem and to understand when files are moved…are we missing something (our thread on MSDN forum)?

>

The (final?) solution: only files pasted using Tabbles will be tracked. Tabbles already had all of the file-management functions built-in, therefore it was pretty easy for us to listen to the file-movement initiated by Tabbles itself and then have the tagging to “follow” the files. This means that you can do cut&paste or drag&drop inside Tabbles,  or you can do cut from explorer and paste in Tabbles, as well as drag&drop from explorer to Tabbles (but not the other way around!) and it will still work. cut from Explorer and paste in TabblesAre we missing something? If anyone out there could think of a better solution to this problem, we’re all ears! Please write us using the contact form on tabbles.net Hint – how to rearrange your files thematically, like you never could before: keep in mind that Tabbles allows you to group files according to “concepts” but you can at the same time browse your disks as you do with a normal file manager. Therefore, let’s say that you have a bunch of scattered files related to France and you feel like having them in the same folder. You can open the for example the tabble “France”, cut all the files in there, and paste them in a brand new folder, all inside Tabbles. This way you can get files rearranged  in no-time and all the tagging will be preserved. Also keep in mind that, should you want to backup your files on a disk, you can do drag’n’drop files from Tabbles to any application, including your favourite cd/dvd-burner app! 😎 Comments are welcome! And here is the related forum post! peace and love, Andrea + Maurizio


UPDATE: we’re working now on a dll-injection based solution, read the whole discussion on our development wave (everyone is welcome to contribute).

Comments
  1. “what kind of Complex AI did you use to understand movement of files?”

    We had a pattern matching engine to detect patterns such as create-delete, rename-create, rename-rename, etc.

  2. Hi, what kind of Complex AI did you use to understand movement of files?

  3. Hi, we had several problems recently with the file move detection and also use the FileSystemWatcher class in .Net. Though we never encountered problems yet, we very carefully track buffer errors, etc and invalidate our internal file system model on any suspicious change.

    For the move detection we also apply some kind of heuristics to assume the “move”.. we also support “chained moves”. At synchronization time (we are building a file sharing tool), we read the the file and confirm the move when its hash matches the previous file.

    We also consider to build a file system filter driver that is in 100% control of the file changes, but for now we try to get around this. Drivers are a pain for distribution and maintenance, not to mention the catastrophic bluescreens they may cause.

  4. >Will new files still be watched for and automatically categorized, like now?

    Sure they will!

    >Also, if this is to be used as a file manager also, Iâ??d like some better views in the right pane, such as the detailed view that windows explorer has. I just canâ??t see enough well organized info how the pane looks now

    we know… it’s on our to-do list 🙂

  5. Will new files still be watched for and automatically categorized, like now?

    Also, if this is to be used as a file manager also, I’d like some better views in the right pane, such as the detailed view that windows explorer has. I just can’t see enough well organized info how the pane looks now

    Great product overall.
    Thanks guys.

Reply To: Goodbye FileSystemWatcher – welcome full file-manager solution!

Scarica

Tabbles 4.1.12 (~ 19MB)
Compatibile con: Vista, 7, 8, 8.1, 10. Per l’utilizzo in LAN richiede Microsoft Sql Server Express 2008 o superiore.

Write us!

Do you have questions about Tabbles, or just want to say hi? Drop us a line and we'll get back to you:

Your Name (required)

Your Email (required)

Subject (required)

Your Message (required)

Subscribe to our Newsletter

WP User Control Widget

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close