[CREATE] Categorizing resources

Jon A. Cruz jon at joncruz.org
Tue Mar 3 09:04:41 PST 2009


On Feb 18, 2009, at 12:25 PM, Aurimas Juška wrote:

> 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>

Main issues to look at for wider adoption/sharing:

The identifier is absolute. At most it should be relative. For cross- 
platform users and/or users sharing assets from one OS to another  
this is a significant issue. It also might be handy to use some  
logical paths/types.

The checksum is vague. It should probably be of an explicit type.  
Using md5 is decent since we are dealing with just identification,  
and not security. Also md5 command line utilities are readily  
available. Sha1 might be handy, and perhaps options to use either.  
However if more than one type were allowed, it would be best to use a  
different attribute name identifying which it was.

The <tag> itself seems like it is a functional name, and not just a  
user displayable label. It is *almost* the latter, but not quite.  
Adding multiple language labels would be good. Merely using localized  
<tag> elements would probably break things for distribution.

<?xml version='1.0' encoding='UTF-8'?>
<tags>
   <resource identifier="${BRUSHES}/confetti.gih"
md5="d136b60fdd9cf41693a485a329b32e95">
     <tag>
         <key>ch</key>
         <label xml:lang="en">see aich</label>
         <label xml:lang="es">che</label>
     </tag>
     <tag>
         <key>ll</key>
         <label xml:lang="en">double el</label>
         <label xml:lang="es">elle</label>
     </tag>
   </resource>
</tags>


also... it does sound like a Wiki page would be helpful to discuss  
this further.


More information about the CREATE mailing list