Common reasons to turn down extended attributes for tags, and rebuttals

ChipLog » Blog Archive » Taggable Desktop says they’re not planning on implementing tags as Extended Attributes.

I still disagree. I think the library should implement both a database for the user, and also write the tags out to extended attributes whenever possible.

But they told me no, it ain’t gonna happen this way and here are the reasons, together with my rebuttals:

Users couldn’t tag files they don’t have permissions for

Basically, if the user doesn’t have permission to tag files he can’t modify EAs for, the library should fall back to the user’s tag database. After all, your library already implements the tag database.

Tags must not be system-wide

I disagree with this too. At the very least, users should be able to tag their files system-wide, or per-user.

Moreover, to get per-user tags, you can create an EA namespace for user tags. That would solve this issue.

You couldn’t tag remote resources

Why not? Just fall back to the user’s tag database.

Another problem with using extended attributes for this is that they don’t allow fast queries

That is simply untrue. BeOS’s implementation did a wonderful job disspelling this myth. MacOS X also dispels this myth (although not directly with extended attributes). Fact is, just like you have locate (slocate, mlocate), you can have ealocate as well. Modern kernels now export facilities for live indexing (inotify comes to mind).

If you’re already using a database for queries (and a fall-back for files you don’t have permission to xattr), what’s the point of duplicating the information in xattrs?

The point is, this way, you can integrate tags with standard fileutils and other command-line tools. Can’t anyone see the potential behind this idea?

2 Responses to “Common reasons to turn down extended attributes for tags, and rebuttals”

  1. John Says:

    I fail to see much of a rebuttal in your post. Please provide a use-case of how EA can be used, and should be used

  2. Nakata Says:

    He did. BeOS, for one, which I’m very familiar with.

    On Syllable, for example, which uses AFS/Sylstor as its filesystem, software widely uses extended attributes for managing things such as mime-type information, character set information, and on some webserver software even sillier things such as hitcounters-per-file, and so on.

    It is simply shocking to see EAs not commonplace yet. I find it impressively interesting to see symbolic links overtaking attributes, it is almost as though I’m in some sort of backwards reality.

Leave a Reply