Skip to content

LR Envelope Example

damonregan edited this page Dec 30, 2011 · 6 revisions

Below is an excerpt describing the resource data description model (envelope) from the Learning Registry Technical Specification v0.23.0:

{
 "doc_type":		"resource_data",	// the literal "resource_data"
						// required, immutable
 "doc_version":		"0.23.0",		// the literal for the current spec version -- "0.23.0"
						// required, immutable

 // general elements about the submission
 "doc_ID":		"string",		// unique ID for this resource data description document
						// unique within scope of the LR
						// immutable
						// user optional, required for storage
						// system generated when publishing
						// the document if not provided
 "resource_data_type":	"string",		// open (best practices) vocabulary
						// ["metadata", "paradata", "resource", "assertion", ...]
						// required, immutable
 "active":		boolean,		// is the resource data description document active
						// required, mutable from T to F only

 // information about the submission, independent of the resource data
 "identity": {					// identity and curation
  "submitter_type":	"string",		// fixed vocabulary ["anonymous", "user", "agent"]
						// required, immutable
						// "anonymous" -- submitter is unknown
						// "user" -- submitter is a user or has a user identity
						// "agent" -- submitter is an agent, e.g., a repository, LMS
						// or an organization
  "submitter":		"string",		// identity of the submitter of the resource data
						// required, immutable
						// use "anonymous" for type "anonymous"
  "curator":		"string",		// identity of the curator of the resource data description
						// who manages the resource data description
						// optional
  "owner":		"string",		// identity of the owner of the resource
						// who owns what is referenced in the resource locator
						// optional
  "signer":		"string"		// identity of key owner used to sign the submission
						// optional
	},

// submission and distribution workflow information
 "submitter_timestamp":	"string",		// submitter-created timestamp
						// time/date encoding
						// optional
 "submitter_TTL":	"string",		// submitter statement of TTL of validity of submission
						// time/date encoding
						// optional
 "publishing_node":	"string",		// node_id of node where injected into the network
						// required
						// provided by the initial publish node (not distribution)
 "create_timestamp":	"string",		// timestamp of when first published to the network
						// independent of updates
						// time/date encoding
						// required, immutable
						// provided by the initial publishing node on first publish
						// not by a distribution node or not an update
"TOS": {					// terms of service
  "submission_TOS":	"string",		// agreed terms of service by submitter
						// required
 "submission_attribution":"string"		// attribution statement from submitter
						// optional
 },

 "do_not_distribute":	"string",		// system provided key-value pair
						// optional

 "weight":		"integer",		// submitter assigned weight (strength)
						// -100:100
						// optional
"digital_signature": { 				// digital signature of the submission, optional
  "signature":		"string",		// signature string, required
   "key_location":	["string"],		// array of public key locations,, required
  "signing_method":	"string"		// fixed vocabulary ["LR-PGP.1.0"]
						// required
  },

 // information about the resource, independent of the resource data
 "resource_locator":	"string",		// unique locator for the resource described
						// SHALL resolve to a single unique resource
						// required
 "keys":	["string"],			// array of hashtag, keyword value list used for filtering
						// optional
 "resource_TTL":	integer,		// TTL from resource owner for the resource itself, in days
						// optional


// the actual resource data description elements
// these elements are optional as a block if the submission is a resource
 "payload_placement":	"string",		// fixed vocabulary ["inline", "linked", "attached"]
						// "inline" -- resource data is in an object that follows
						// "linked" -- resource data is at the link provided
						// "attached" -- resource data is in an attachment
						// required
 "payload_schema":	["string"],		// array of  schema description/keywords
						// for the resource data
						// required
						// defined metadata schema values
						// defined paradata schema values
 "payload_schema_locator":"string",		// schema locator for the resource data
						// optional
 "payload_schema_format":"string",		// schema MIME type
						// optional
 "payload_locator":	"string",		// locator if payload_placement value  is "linked"
						// required if "linked", otherwise ignored
 "resource_data":				// the actual inline resource data
 <the resource data object>,	 		// the resource data itself (resource. metadata, paradata)
						// maybe a JSON object, or
						// a string encoding XML or some other format, or
						// a string encoding binary
						// required if "inline" otherwise ignored
 "X_xxx":		?????			// placeholder for extensibility, optional
}
Clone this wiki locally