mirror of https://github.com/perkeep/perkeep.git
81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
# Permanode Attributes
|
|
|
|
While a permanode can have any arbitrary attributes and values (and
|
|
each value can be single-valued or multi-valued), the following are
|
|
the conventional attributes and values used by the various tools,
|
|
search, FUSE, and web UI.
|
|
|
|
"tag": (multi-valued)
|
|
|
|
a set of zero or more keywords (or phrases) indexed completely, for
|
|
searching by tag. No HTML.
|
|
|
|
"title": (single-valued)
|
|
|
|
A name given to the permanode. No HTML.
|
|
|
|
"description": (single-valued)
|
|
|
|
An account of the permanode. It may include but is not limited to:
|
|
an abstract, a table of contents, or a free-text account of the
|
|
resource. No HTML. As of 2013-12-28, not very defined yet.
|
|
|
|
"camliContent": (single-valued)
|
|
|
|
when a permanode is a file, the camliContent is set to the fileref
|
|
(the blobref of the "file" schema blob)
|
|
|
|
"camliContentImage": (single-valued)
|
|
|
|
when a permanode has camliContent set, but the camliContent is of
|
|
a non-image, the camliContentImage points to a "file" schema's
|
|
blobref of an image representation of the content. For instance,
|
|
this might be the cover art of an MP3 file or a thumbnail of a
|
|
spreadsheet.
|
|
|
|
"camliMember": (multi-valued)
|
|
|
|
when the permanode represents a set (unordered, unkeyed), the
|
|
parent permanode (the container set) has a camliMember set to the
|
|
permanode of each child element.
|
|
|
|
"camliPath:$dirent_name" (single-valued)
|
|
|
|
when the permanode represents an associative container, each keyed
|
|
child permanode blobref is pointed to by the "camliPath:$key"
|
|
attribute on the parent. This is used by the FUSE client, and
|
|
respected in the UI (browser, publishing code), etc.
|
|
|
|
"camliNodeType" (single-valued)
|
|
|
|
when the application needs to note the type of a permanode before
|
|
any other attributes (like those above) are added which would otherwise
|
|
imply its type, the camliNodeType lets applications be specific.
|
|
This should only be used if another attribute can't imply it.
|
|
Currently only used by FUSE to indicate the difference between a new
|
|
file and a new directory permanode. Known values include:
|
|
|
|
* "directory". this permanode will have "camliPath:$key"
|
|
attributes later.
|
|
* "file". this permanode will have a "camliContent" later. for
|
|
now, it should be treated as if it's an empty, 0-byte file.
|
|
|
|
"camliDefVis" (single-valued)
|
|
|
|
Can be "hide". Experimental. Affects default visibility in web UI.
|
|
|
|
"xattr:$attr_name" (single-valued)
|
|
|
|
when a permanode represents a file or directory visible to FUSE,
|
|
"xattr:$x" is used to store the value for extended attribute "x".
|
|
Extended attribute data may contain any arbitrary bytes, so values
|
|
are base64 encoded.
|
|
|
|
"camliRoot" (single-valued)
|
|
|
|
TODO: doc
|
|
|
|
"camliImportRoot" (single-valued)
|
|
|
|
TODO: doc
|