Here is an interesting proposal about how to handle resources. Please join the Create mailing list if you are interested in this and/or for Inkscape. It is a nice way to handle a quick way of organizing resources.
Jon
---------- Forwarded message ---------- From: Aurimas Juška <aurimas.juska@...400...> Date: Wed, Feb 18, 2009 at 12:25 PM Subject: Re: [CREATE] Categorizing resources To: CREATE@...626...
Hi,
Resource tagging is now available in GIMP development version. Before it is released, I think it would be good to discuss possibilities how tags could be shared between applications and also how tagging could be implemented in other applications.
Common (standardized?) tag storage format
Currently GIMP tags storage format is minimalistic, but seems to work quite well. Tags are stored in a tags.xml file which can be easily understood and edited manually: <?xml version='1.0' encoding='UTF-8'?> <tags> <resource identifier="/home/auris/gimp/trunk/build/share/gimp/2.0/brushes/confetti.gih" checksum="d136b60fdd9cf41693a485a329b32e95"> <tag>aaa</tag> </resource> </tags>
Resources are mapped with entries in tags.xml using: * identifier - filename for resources stored on disk. Easy to understand, but can be different between computers and platforms. * checksum - uniquely represent resource. However, how checksum is calculated (which data from resource is used, algorithm) seem hard to standardize. Useless when user wants to edit tags.xml manually (or with a simple script).
Currently identifier is used primarily to identify resources, and checksum is only used when identifier can't match actual resource file (file rename/move).
Tag is a text string which cannot contain separator characters, newlines, tabs, etc. There is no additional information stored with a tag, such as language. However, tags provided with GIMP can be translated into various languages. Localized version is installed in user's home directory on the first run but is not changed when switched to a different language later.
In order to make format useful for other applications and external tag editors as well, is there anything that should be added/removed ? It would be good, as always, to keep the format simple as possible.
Common GUI elements
It might be good for user if similar GUI element would be used for similar purposes. There is a small PDF available which shows more detail how tagging GUI elements work in GIMP: http://sites.google.com/site/aurijusk/gimp-resource-tagging/tagging.pdf?attr...
Code reuse for implementation, etc.
Some code could probably could be used as starting point. It might be possible to put some functionality in places where multiple applications could take advantage of it.
Best regards, Aurimas Juška _______________________________________________ CREATE mailing list CREATE@...626... http://lists.freedesktop.org/mailman/listinfo/create