Skip to content

Commit

Permalink
Move tags section adjacent to id, version, label and description refl…
Browse files Browse the repository at this point in the history
…ecting definition in resource_core.json schema
  • Loading branch information
garethsb committed May 17, 2023
1 parent a312089 commit 80beef7
Showing 1 changed file with 29 additions and 23 deletions.
52 changes: 29 additions & 23 deletions docs/APIs - Common Keys.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# APIs: Common Keys
{:.no_toc}

* A markdown unordered list which will be replaced with the ToC, excluding the "Contents header" from above
{:toc}

_(c) AMWA 2016, CC Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)_

A number of common keys are used within NMOS APIs. Their definitions, semantics and permitted values are described below.

Note: From v1.1 onwards, the core `id`, `version`, `label`, `description` and `tags` properties are available for all resource types.

## ID

Core resources such as Sources, Flows, Nodes etc. include an `id` attribute. Resource identity is explained in the [Data Model](Data%20Model.md) and [Identifier Persistence & Generation](Data%20Model%20-%20Identifier%20Mapping.md#identifier-persistence--generation) sections of this specification.
Expand All @@ -28,6 +34,29 @@ Freeform human readable string to be used within user interfaces.

Freeform human readable string to be used within user interfaces.

## Tags

A set of names and values providing a means to filter resources based on particular categorisations.

- Each tag is identified by a name. Note: Tag names can be defined in the [Tags register](https://specs.amwa.tv/nmos-parameter-registers/branches/main/tags/) of the NMOS Parameter Registers.
The names within the `tags` object are expected to be unique, as per [RFC 8259 Section 4](https://tools.ietf.org/html/rfc8259#section-4).
- Each tag MAY have multiple values, unless additional constraints are defined for the specific name.

Filtering resources based on a name-value pair compares the value with each of the values for that name found in the resource `tags`.
The comparison SHOULD be case-insensitive following the Unicode Simple Case Folding specification.

**Example: Tags Format**

```json
{
"tags": {
"location": ["Salford", "Media City"],
"studio": ["HQ1"],
"recording": ["The Voice UK"]
}
}
```

## Format

A URN describing the data format of a video, audio or data flow.
Expand Down Expand Up @@ -58,29 +87,6 @@ For example, an RTP Transmitter sending to a multicast group uses the transport

See [Use of URNs](#use-of-urns) below for additional requirements regarding their handling.

## Tags

A set of names and values providing a means to filter resources based on particular categorisations.

- Each tag is identified by a name. Note: Tag names can be defined in the [Tags register](https://specs.amwa.tv/nmos-parameter-registers/branches/main/tags/) of the NMOS Parameter Registers.
The names within the `tags` object are expected to be unique, as per [RFC 8259 Section 4](https://tools.ietf.org/html/rfc8259#section-4).
- Each tag MAY have multiple values, unless additional constraints are defined for the specific name.

Filtering resources based on a name-value pair compares the value with each of the values for that name found in the resource `tags`.
The comparison SHOULD be case-insensitive following the Unicode Simple Case Folding specification.

**Example: Tags Format**

```json
{
"tags": {
"location": ["Salford", "Media City"],
"studio": ["HQ1"],
"recording": ["The Voice UK"]
}
}
```

## Type (Devices)

A URN describing the role which a Device has within the production environment (such as camera, mixer, tally light etc.).
Expand Down

0 comments on commit 80beef7

Please sign in to comment.