Metadata is information about information. For Boodler, this means information about a package -- who created it, when it was created, and so on.

The metadata for a package resides in a file called Metadata in the package directory. (See package format.)

(Metadata for individual sounds and agents has a similar form, but goes into the Resources file instead. See resources.)

Metadata file format

Lines, of the form

key: value

Blank lines, and lines beginning with #, are ignored. Whitespace is optional at the beginning and end of each line, and around the :. Newline format may be Mac, Windows, or Unix. Non-ascii metadata is legal; the Metadata file must be encoded in UTF-8.

You can have more than one line with the same key. (For example, a package could have several dependencies.) If you specify several values for a key where only one makes sense, the first one is used.

Keys should be namespaced -- they should contain at least one ., with the part before the . being the namespace. (See below.)

Boodler metadata terms

Metadata entries beginning with boodler. have special meaning for Boodler tools.

  • boodler.package : The package name (mandatory)
  • boodler.version : The version string (default 1.0)
  • boodler.main : Name of the Python module in the package file (or .). See package format.
  • boodler.api_required : The boodler API version spec. (If not present, the package is saying that it works with all Boodler versions.)
  • boodler.requires : A package name (optionally followed by a version spec). This indicates a dependency on the given package; it must be installed for this package to work. If there is no version spec, the dependency wants any version (preferably the most recent).
  • boodler.requires_exact : A package name followed by a version number. This indicates a dependency on the given package at a particular version number. (This is discouraged, because boodler.requires and a version spec allows more flexibility.)

When you create the Metadata file for a package you are creating, you do not have to fill in the boodler.requires and boodler.requires_exact entries. The package creation tool generates these automatically, based on the bimport() calls in your code.

Dublin Core metadata terms

Dublin Core is an open standard for labelling metadata. Metadata entries beginning with dc. are Dublin Core terms.

Boodler uses the DC vocabulary for some metadata in packages -- common terms like title, creator, description and creation date. (Boodler-specific metadata such as version numbers are not described via DC, but rather by boodler. terms. See above.)

All DC element types are legal, but Boodler pays special attention to:

  • dc.title : The title of the resource.
  • dc.description : A longer explanation of the resource.
  • dc.created : The date that the resource was created.
  • dc.modified : The date that the resource was last modified.
  • dc.creator : The name of the person who created the resource. (If more than one person was involved, you can use multiple creator elements.)

External links

Metadata - last changed 2009-11-16 00:21 by Andrew Plotkin (zarf)