Introducing the Onyx schema system and deeply linking from the signed data is a huge step in the development of our protocol. This will be very painful or impossible to change in the future.

But this will bring a level of self-documenting clarity and extensibility that we have been hoping for

Schemas and Resources

How do we name and address a Schema?

Ideally we would have human-readable path names, like documents

For example hm://hyper.media/capability should resolve to the capability schema.

Current prototype uses a Document with a special schemaDefinition metadata field to reference the Schema CID.

This makes schemas possibly slow to resolve, and we should probably follow a convention more like comments/profiles.

Replacing the HM "Ref" Blob

We could introduce a Resource Blob type, which would support various formats:

    State – Declares the current state of the Resource. May have one or both of:

      Snapshot – The complete current state of the resource

      ChangeSet – Points to latest Change blobs

    Redirect

    Tombstone

Note: the CID of a Resource may be used as a version, if it is a State. Therefore, "deps" of a Change may refer to a single Resource blob.

As with the Ref blob: the Resource would specify a path (or TSID). And signing information. Optionally refer to the Capability

The Resource blob would also specify a link to the schema.


Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime

Connections0

Connections show where other documents or comments link to this document.

Related documents

Loading connections…