Bundles, a draft specification
Thomas Leonard
talex5 at gmail.com
Fri Sep 7 10:55:51 PDT 2007
On Mon, 03 Sep 2007 18:42:52 +0000, Mildred wrote:
> Le Mon 03/09/2007 à 17:45 Thomas Leonard à écrit:
>> On Sun, 02 Sep 2007 12:20:12 +0200, Mildred wrote:
>>
>> In what way are they handled differently?`
>
> Normal directories, when you open them, you can view its contents in the
> file manager. Bundles are like files in the sense that they have a mime
> type different from inode/directory and when you open them, it's
> generally with an appropriate application that will do specific things.
OK, so you want to give a MIME type (a subclass of inode/directory) to a
directory. You can do that already like this:
$ mkdir my-web-page
$ setfattr -n user.mime_type -v bundle/html_files my-web-page
$ getfattr -n user.mime_type my-web-page
# file: my-web-page
user.mime_type="bundle/html_files"
However, I'm not sure any file manager currently supports that. It would
be interesting to try and get support added to various file managers.
>> Why are the MIME types not stored in the same way as for normal
>> directories? i.e. as extended attributes (if specified at all), or
>> guessed from the name or contents of the file otherwise.
>
> Because extended attributes are not relyable (it depends upon the
> filesystem).
No system is reliable if it's not supported. For example, in your
proposed system if a user moves or renames a file using a non-bundle-
aware program then the type information will get out-of-sync. Types will
also be lost when copying out of a bundle.
On the other hand, existing tools should preserve attributes:
$ touch my-web-page/image
$ setfattr -n user.mime_type -v image/png my-web-page/image
$ mv my-web-page/image my-web-page/picture
$ getfattr -n user.mime_type my-web-page/picture
# file: my-web-page/picture
user.mime_type="image/png"
I'd prefer to see wider support for the existing mechanisms than trying
to create a new system. That might mean persuading distributions to
enable extended attributes by default.
Another point from the spec:
When a bundle must be copied or moved in a media that only accept
files and not folders, the bundle MUST be transformed into a ZIP bundle.
Why not do this for all directories, not just bundles?
--
Dr Thomas Leonard http://rox.sourceforge.net
GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1
More information about the xdg
mailing list