Sample library.info file

From OLPC
Revision as of 13:59, 20 July 2007 by Lauren (talk | contribs) (Category Chart)
Jump to: navigation, search

Here is an example library.info configuration file for a collection called Dictionary:

[Library]
name = Dictionary
library_version = 1
host_version = 1
service_name = ???
exec = ???
class = dictionary
mime_types = ???
locale = en_US
category = books
category_icon = library-dictionary.jpg
subcategory = reference

Keys/Values

[Library] 
The library.info file must begin with [Library], and only that, on the first line of the file.
name 
This is the name is displayed in the library navigation sidebar referring to the collection. The library.info file must have this line. (Visit the online versino of the OLPC Library to view the current navigation sidebar and categories.
library_version 
The version is a single positive integer that refers to the version of the collection. Larger numbers are considered "newer". The library.info file must have this line. For now, this is 1.
host_version 
The host version is a single positive integer that refers to the version of Sugar which the collection is compatible with. For now, this is 1.
service_name 
SJ: Don't think this is relevant here. Is it?
class (optional)
This field is required if the collection is using a customized library.css file. The class value should be the same name as the collection's .xol file, except in lower case (and without the ".xol"). No whitespace or special characters are allowed.
mime_types 
SJ: Also not relevant, unless we want to keep track of what file formats each collection contains.
locale 
This is the ISO code for the primary language of the collection, in lowercase, followed by an underscore, and then its localization information (also represented in ISO code). In this case, US-localized English is represented as en_US. UK-localized English, for example, would be represented as en_UK.
For a list of ISO 639 language codes, see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
For a list of ISO country codes, see http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
Note: At some point, the locale line should be expanded to match the localization scheme for activity bundles. For now, this spec only supports single-language bundles.
category 
This refers to the subject classification in the OLPC Library (visible on navigation sidebar). The "category" value also corresponds to that category's class in the default CSS settings. See category chart below for current options. As always, if you don't like what you see, you can add your own.
category_icon (optional)
This is the filename of the icon that represents the collection in the library navigation sidebar. The actual image file is stored in the library directory (see configuration files. This line is only required if you decide to place your collection in its own top-level category in the navigation sidebar.
subcategory (optional) 
This refers to the subcategory classification within a category (visible on the navigation sidebar). If no subcategory is provided, the collection will be placed in its own subcategory. See category chart for current options. Again, as always, if you don't like what you see, you can add your own.
Note:Subcategory placement is not yet automated. Syntax/whitespace/case sensitivity/etc will depend on how pattern matching is implemented.

Category Chart

The current category and subcategory options are:

Description Category Current Subcategories
Books and reference books picture books, reference, stories
Math and science science biology
Images and maps images nature, atlas, historical
Music and video music media
Activities activities games
Web links links search the web
Uniwiki uniwiki water & environment

Visit the OLPC Library to see these categories in action.

General Notes

.info files follow a key/value pair format, similar to the fd.o desktop entry spec

Entries

Entries in the file are {key,value} pairs in the format:

Key = Value

Space before and after the equals sign should be ignored; the = sign is the actual delimiter.

Key names must contain only the characters A-Za-z0-9-.

As the case is significant, the keys Name and NAME are not equivalent.

Multiple keys in the same group may not have the same name. Keys in different groups may have the same name.

Possible Value Types

The value types recognized are string, boolean, and numeric.

  • Values of type string may contain all ASCII characters except for control characters (space, newline, tab, carriage return, etc.). To include any of these characters, use the appropriate escape sequence. Strings should be delimited by double quotation marks, e.g. "This is a string".
  • Values of type boolean must either be true or false.
  • Values of type numeric must be a valid floating point number, e.g. 13 or -2.5.

Some keys can have multiple values. In such a case, the value of the key is specified as a plural: for example, locales. The multiple values should be separated by a semicolon. Those keys which have several values should have a semicolon as the trailing character. Semicolons in these values need to be escaped using \;.