Hosted onhyperacademia.orgvia theHypermedia Protocol

Onyx = HM26

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