perkeep/doc/schema/claims/TODO

74 lines
2.8 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 precedent over
// any date inferred from camliSig
"permaNode": "dig-xxxxxxx", // what is being modified
"claimType": "set-attribute",
"attribute": "camliContent",
"value": "dig-yyyyyyy",
}
claimTypes:
-----------
set-attribute (set a single-valued attribute)
del-attribute (unsets a single-valued attribute)
add-attribute (adds a value to a multi-valued attribute (e.g. "tag"))
unadd-attribute (removes just one value from a multi-valued attribute)
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": "......"}