[Clipart] Thumbnails in clipart packages
Jon Phillips
jon at rejon.org
Fri Jul 16 22:30:30 PDT 2004
Cool, maybe you should post this extensive email to the wiki for any
tweaking of the proposal.
Jon
On Fri, 2004-07-16 at 16:40, Jonadab the Unsightly One wrote:
> Okay, I'm thinking some more about specifications for a clipart
> package format, and here's what I'm currently thinking. (Anyone with
> better ideas should speak up soon; within a month or so I want to
> implement a module for working with these packages.)
>
> 1. Use ZIP format.
> 2. Inside the zipfile, everything should be inside a single
> directory called clipart
> 3. Within the clipart directory (and any of its subdirectories)
> there can be any of the following:
> A. subdirectories
> B. A file called metadata.rdf which contains metadata
> that apply to all the images in this directory (unless
> their own metadata override it on a per-image basis)
> as well as to all the subdirectories (unless _their_
> own metadata override it on a per-directory basis).
> C. SVG images. These can have embedded metadata, which
> MUST include any of the required metadata that are
> not already specified in metadata.rdf. All SVG
> images should have the extension .svg
> D. Images in other formats (e.g., PNG) with their type
> specified by a standard filename extension (e.g.,
> .png for PNG images) and their metadata specified
> externally in a file with the same base filename
> and the .rdf extension. That is, if the file is
> happy-puppy.png then the metadata must be in the
> file happy-puppy.rdf. The image-specific metadata
> may be omitted only if all of the required metadata
> are specified at the directory level in metadata.rdf
> E. An optional README.txt (or readme.txt) containing
> plain-text information about the images in the
> directory.
> F. Thumbnails (optional)
> 4. Specify a standard extension for these packages. Some
> options...
> A. azc (for Archive::Zip::Clipart, a probably name for
> the module that will facilite working with them)
> B. oco (for OpenClipart.Org)
> C. zcl (for Zipped CLipart)
> D. zca (for Zipped Clip Art)
>
> I ran these through filext.com and found no extant meanings for
> any of them. I also checked
> http://whatis.techtarget.com/fileFormatA/0,289933,sid9,00.html
> and none of them are listed there either. Then again, neither
> are .sxw and .sxc and so on listed, so if anyone knows of a
> more complete list of in-use filename extensions, speak up.
>
> Alternately, we could just use .zip as the extension. Thoughts?
>
> Now, about thumbnails...
>
> "Jonadab the Unsightly One" <jonadab at bright.net> writes:
>
> > 1. The spec specifies thumbnails should be stored in a .thumbnails
> > directory inside the user's home directory; we will probably
> > want to store them in a special directory (may as well be
> > .thumbnails) within the main directory of the archive -- thus,
> > probably something like foo.zip:clipart/.thumbnails/normal
> > rather than ~/.thumbnails/normal
>
> Unless someone can think of a reason to do it differently, how about
> we just agree that clipart/.thumbnails within the zip archive contains
> things that would go in ~/.thumbnails when the package is installed on
> a desktop system. That leaves the location hashing...
>
> > 2. Wherever the spec talks about a file's location, it speaks of an
> > absolute uri (e.g., file:///home/foo/file), which will obviously
> > not do for files that are stored in a package that's being
> > transferred over the internet. We'll have to work out some
> > substitute scheme where the file's location can be relative to the
> > package (zipfile) in which it is packaged. Thus, instead of
> > file:///home/someone/foo.svg we'll have something more like
> > ocopackage://clipart/foo.svg or somesuch along those lines as the
> > file's canonical location. (When a thumbnail-aware tool
> > unpackages the clipart, it will obviously have to recalculate this
> > (and redo the md5 hash for the thumbnail filename, and replace the
> > thumbnail's PNG metadata that says what file the thumbnail
> > represents) based on where it is putting the file.)
>
> How about the following:
>
> * use clipart:// as the URI scheme for files inside a clipart
> package (analogous to file:/// for files on the filesystem).
> * omit the toplevel clipart directory from the URI, since
> everything in the archive is inside of that, so it would
> be redundant.
>
> So, if we have an image /clipart/buildings/fire-station01.svg
> in the zipfile, then its location would be coded as follows:
> clipart://buildings/fire-station01.svg
>
> The filename of the thumbnail would be calculated from that based on
> the MD5 hash just as the thumbnails specification indicates. When
> clipart-package-aware software installs one of these packages, then,
> it would see /clipart/buildings/fire-station01.svg, translate that to
> clipart://buildings/fire-station01.svg, hash that, find the 128x128
> thumbnail in /clipart/.thumbnails/normal/somebighash.png, (and/or the
> 256x256 one in clipart/.thumbnails/large/somebighash.png) and then
> store that thumbnail on the user's system according to the thumbnails
> specification (rehashing its filename based on the new, installed
> location of the image).
>
> We also should allow for thumbnails to be optional; images don't
> *have* to have thumbnails. Though when *we* build packages we
> probably should provide thumbnails, if possible.
>
> Comments? Suggestions? Snide remarks?
--
Jon Phillips
PO BOX 948667
LA JOLLA, CA
92037
USA
USA.PH.858.361.2811
jon at rejon.org
http://www.rejon.org
Inkscape (http://inkscape.org)
Open Clip Art Library (www.openclipart.org)
CVS Book (http://cvsbook.ucsd.edu/)
Scale Journal (http://scale.ucsd.edu/)
More information about the clipart
mailing list