Skip to content

Commit

Permalink
Merge pull request #1164 from w3c/egekorkan-patch-8
Browse files Browse the repository at this point in the history
W3C Registry Analysis
  • Loading branch information
egekorkan authored Jan 11, 2024
2 parents 6cfdb22 + 97cb72e commit dc07705
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 18 deletions.
105 changes: 87 additions & 18 deletions registry-analysis/Readme.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,84 @@
# Registry Mechanism Analysis
# [DFAFT] Registry Mechanism Analysis

This file summarizes the registry mechanism that the WoT WG/IG needs along with the work done to analyze similar approaches and the requirements we have on such mechanisms.


- Explain what the WoT needs/requires in order to choose a mechanism and the rules

## Analysis of other W3C Documents

### Official Registry Track Registries

Volunteer: Michael Koster
Volunteer: Ege Korkan

Documents that confirm to https://www.w3.org/2023/Process-20230612/#registries
They can be queried at https://www.w3.org/TR/?filter-tr-name=&status%5B%5D=dry&status%5B%5D=cry&status%5B%5D=ry
Documents that confirm to <https://www.w3.org/2023/Process-20230612/#registries>.
That section should be read first by everyone.
They can be queried at <https://www.w3.org/TR/?filter-tr-name=&status%5B%5D=dry&status%5B%5D=cry&status%5B%5D=ry>.
First Analysis as a presentation in TPAC 2023: <https://github.com/w3c/wot/blob/main/PRESENTATIONS/2023-09-tpac/2023-09-14-WoT-TPAC-Registry-Korkan.pdf>

Examples:
- https://www.w3.org/TR/webcodecs-codec-registry/
- https://www.w3.org/TR/aac-registry/
#### Important Notes

- We cannot make normative references to the registry content. This is probably important for the profile discussions.
- Extract from the W3C Process document:

> If there are entries that must be implemented, or any other such restrictions, they must be defined or documented in the referencing specification without dependency on the registry. For example, “All implementations must implement the Basic-Method as defined in the registry” is not acceptable; a change to the definition of the Basic-Method in the registry would then affect conformance. Instead, the requirement must be complete in the specification, directly or by reference to another specification. For example “All implementations must recognize the name Basic-Method, and implement it as defined by section yy of IETF RFC xxxx”. (The Registry should nonetheless contain Basic-Method as an entry.)
- Extract from WebCodecs

> Implementers of WebCodecs are not required to support any particular codec nor registry entry.
#### WebCodecs Codec Registry

**Status:** Active (Last publication Jan 2024)
**Creation:** Since [13 October 2022](https://www.w3.org/TR/2022/DRY-webcodecs-codec-registry-20221013/) a Draft Registry. FPWD was on 8 April 2021, still same name. Also see <https://www.w3.org/standards/history/webcodecs-codec-registry/>.

[This registry](https://www.w3.org/TR/webcodecs-codec-registry/) provides the means to identify and avoid collisions among codec strings and provides a mechanism to define codec-specific members of WEBCODECS codec configuration dictionaries.
This registry maintains a mapping between codec strings and registration specifications as described below.

##### Entry Format

- Unique codec string
- Common name string
- Link to the codec’s specification.

##### Submission and Modification Process

There are requirements on the codec string and what the specification should contain.

- Submission is done by filing an issue over GitHub
- The Media WG may seek expertise from outside the Working Group as part of its evaluation, e.g., from the codec specification editors or relevant standards group.
- The codec specification must be made available to the Working Group for evaluation.
- If the Working Group reaches consensus to accept the candidate, a pull request should be drafted (either by editors or by the party requesting the candidate registration) to register the candidate. The registry editors will review and merge the pull request.
- Existing entries cannot be deleted or deprecated. They may be changed after being published through the same process as candidate entries.

#### W3C Alternative and Augmented Communication (AAC) Symbol Registry

**Status:** Kind of Active (Last publication December 2022) (WG still active) but not finalized (Draft Registry)
**Creation:** Oct 2022

This [document](https://www.w3.org/TR/aac-registry/) provides reference numbers and symbols for symbol attribute.
The symbol attribute identifies the concept for symbols used in AAC devices, etc., for users who comprehend content more effectively when AAC (rather than just natural language alone) is used to convey meaning. The symbols are an alternative vocabulary, and multiple symbol sets exist today.
The symbol attribute accepts a numeric reference number.
See examples below

- ![question mark](./images/questionmark.png)
- ![acne](./images/acne.png)

##### Entry Format

- Index number
- (English) Text associated to index number to explain it
- SVG or pointer to an SVG with the symbol

They maintain a JSON file that maps the english text to the id.
Each symbol has an svg with the same id, i.e. 12332.svg is the symbol for `acne`.

##### Submission and Modification Process

The symbols are developed by the Blissymbolics Communication International (BCI) and this document is a joint work with them.

> Additions and extensions to the symbol and concept cross reference index are performed by time-tested BCI processes before they are migrated into this W3C Registry.
Other than this, they follow the process document.

### Custom Registry Mechanism Registries

Expand All @@ -28,6 +90,7 @@ Volunteer: Jan Romann
**Creation:** 10 May 2016

This [document](https://www.w3.org/TR/ttml-profile-registry/#registry) defines a specific media type and a registry for associated "processor profiles".

##### Entry Format

- Entries must contain a unique ID, an absolute URI that identifies the profile, and contact information of the registrant
Expand Down Expand Up @@ -62,13 +125,15 @@ Furthermore, it has to be specified if a flag for generating timestamps needs to
be set with the byte stream format.

##### Submission Process

All requirements mentioned in the [Media Source Extensions](https://www.w3.org/TR/media-source/#byte-stream-formats) specification must be fulfilled.

New entries are submitted to a public mailing list where they are supposed to be
discussed and evaluated before adding them to the registry.
The process of approving a new entry is (apparently?) not formally specified.

##### Modification Process

The possibility to remove entries that fail to satisfy any of the mandatory requirements is explicitly mentioned.

#### DID Specification Registries
Expand All @@ -81,16 +146,19 @@ a registry for all known global parameters, properties, and values used by the
Decentralized Identifier ecosystem.

##### Entry Format

- Entries must include a human-readable description and should have a clear and descriptive name.
- Entries must adhere to an IPR policy and do no harm to others (including legally and security-wise).
- Entries must link to a specification that makes it possible to implement the addition.
- Entries must specify a JSON-LD context (with a set of more fine-grained requirements).

##### Submission Process
.New entries have to be submitted via a modification request

New entries have to be submitted via a modification request
(as part of a PR on the registry's repository).

##### Modification Process

Entries must not be removed, only deprecated.

#### XPointer Scheme Name Registry Policy
Expand All @@ -102,6 +170,7 @@ This [document](https://www.w3.org/2005/04/xpointer-policy) defines a policy
that governs the registration of simple names for Scheme-Based XPointers.

##### Entry Format

Entries consist of a name and description.

##### Submission Process
Expand Down Expand Up @@ -182,9 +251,10 @@ Template.
Volunteer: Cristiano Aguzzi

Examples:
- https://www.iana.org/assignments/websocket/websocket.xml
- https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
- https://www.iana.org/assignments/media-types-parameters/media-types-parameters.xhtml

- <https://www.iana.org/assignments/websocket/websocket.xml>
- <https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry>
- <https://www.iana.org/assignments/media-types-parameters/media-types-parameters.xhtml>

### Media Type Registry

Expand All @@ -199,15 +269,14 @@ In order to choose a mechanism and the rules, we document our requirements and e
- Name of the binding
- Link to the binding: Stable link
- (possibly) The binding prefix
- Requirements on the submitted document:
- To be clarified but the initial list for protocols at https://w3c.github.io/wot-binding-templates/#creating-a-new-protocol-binding-template-subspecification
- Requirements on the submitted document:
- To be clarified but the initial list for protocols at <https://w3c.github.io/wot-binding-templates/#creating-a-new-protocol-binding-template-subspecification>

What we are doing now: https://w3c.github.io/wot-binding-templates/#protocol-bindings-table
What we are doing now: <https://w3c.github.io/wot-binding-templates/#protocol-bindings-table>

## Appendix

### Useful Resources

- https://www.w3.org/2020/01/registering-mediatypes (we followed this for registering TD media type)
- IANA Guidelines: https://www.iana.org/help and https://www.iana.org/help/protocol-registration
- https://github.com/w3c/wot/blob/main/PRESENTATIONS/2023-09-tpac/2023-09-14-WoT-TPAC-Registry-Korkan.pdf
- <https://www.w3.org/2020/01/registering-mediatypes> (we followed this for registering TD media type)
- IANA Guidelines: <https://www.iana.org/help> and <https://www.iana.org/help/protocol-registration>
Binary file added registry-analysis/images/acne.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added registry-analysis/images/questionmark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dc07705

Please sign in to comment.