perkeep/doc/schema/claims/TODO

91 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TODO:
-----
Clean this up and/or break into separate files.
{"camliVersion": 1,
"camliType": "claim",
"camliSigner": "....",
"claimDate": "2010-07-10T17:20:03.9212Z", // redundant with data in ascii armored "camliSig",
// but required. more legible. takes precedence over
// any date inferred from camliSig
"permaNode": "dig-xxxxxxx", // what is being modified
"claimType": "set-attribute",
"attribute": "camliContent",
"value": "dig-yyyyyyy",
"camliSig": .........}
claimTypes:
-----------
"add-attribute" (adds a value to a multi-valued attribute (e.g. "tag"))
"set-attribute" (set a single-valued attribute. equivalent to "del-attribute" of "attribute" and then add-attribute)
"del-attribute" (deletes all values of "attribute", if no "value" given, or just the provided "value" if multi-valued)
"multi".. atomically do multiple add/set/del from above on potentially different permanodes. looks like:
{"camliVersion": 1,
"camliType": "claim",
"claimType": "multi",
"claimDate": "2013-02-24T17:20:03.9212Z",
"claims": [
{"claimType": "set-attribute",
"permanode": "dig-xxxxxx",
"attribute": "foo",
"value": "fooValue"},
{"claimType": "add-attribute",
"permanode": "dig-yyyyy",
"attribute": "tag",
"value": "funny"}
],
"camliSig": .........}
Attribute names:
----------------
camliContent: a permanode "becoming" something. value is pointer to what it is now.
Old notes from July 2010 doc:
-----------------------------
Claim types:
permanode-become:
-- implies either:
1) switching from typeless/lifeless virgin pnode into something (dynamic set, filesystem tree, etc)
2) changing versions of that base metadata (new filesystem snapshot)
-- permaNode is the thing that is changing
-- contents is the current node that represents what permaNode changes to
set-membership: add a blobref to a dynamic set
-- "permaNode" is blobref of the dynamic set
delete-claim: delete another claim (target is claim to delete)
-- "contents" is the claim blobref youre deleting
{set,add}-attribute:
-- attach a piece of metadata to something.
-- use set-attribute for single-valued attributes only: highest dated claim wins (of trusted person) e.g. "title", "description"
-- use add-attribute for multi-valued things. e.g. "tag"
Tagging something:
{"claimType": "add-attribute", //
"attribute": "tag", // utf-8, should have list of valid attributes names, preferrably not made up by us (open social spec?)
"value": "funny", // value that doesnt have lasting value
"valueRef": "sha1-blobref", // hefty reference to a lasting value
"claimer?": "sha1-of-the-dude-whos-signing",
"claimDate": "2010-07-10T17:20:03.9212Z",
"claimType", "permanode-become",
"permaNode": "sha1-pnode",
}
filesystem root claim:
{
"camliVersion": 1,
"camliType": "claim",
// Stuff for camliType "claim":
"claimDate": "2010-07-10T17:20:03.9212Z", // redundant with data in ascii armored "camliSig". TODO: resolve
"claimType", "permanode-become",
// Stuff for "permanode-become":
"permaNode": "sha1-pnode",
"contents": "sha1-fs-node"
,"camliSigner": "digalg-blobref-to-ascii-armor-public-key-of-signer",
"camliSig": "......"}