AdCOM 1.0 JSON Schema Unofficial

Decision records ·

D-002 What name does the vocabulary of each AdCOM list take, when a list has a title and an anchor but no name a schema or an SDK can use?

Gap Cited on main and at the tag AdCOM1.0-202607.

What the schemas do

The words of the list's title after "List:", joined, each capitalized and the rest of it in lowercase, so an acronym reads as a word, with the head noun, the last word before a " - " qualifier or else the last word, in the singular: API Frameworks gives Api and Framework joined, Plcmt Subtypes - Video gives Plcmt, Subtype, and Video, and Slot Position in Pod keeps In before Pod.

Options

  • singular-pascal Chosen

    The words of the list's title after "List:", joined, each capitalized and the rest of it in lowercase, so an acronym reads as a word, with the head noun, the last word before a " - " qualifier or else the last word, in the singular: API Frameworks gives Api and Framework joined, Plcmt Subtypes - Video gives Plcmt, Subtype, and Video, and Slot Position in Pod keeps In before Pod.

  • anchor

    The list's anchor, such as list_apiframeworks, which links already use.

  • plural-pascal

    The title in PascalCase as written, plural, such as ApiFrameworks.

Why

A vocabulary names the type of one value, so its name is singular, as the type rules name every type; a list's title names the whole list, so it is plural. The anchors can't serve: one misspells its title (list_doohmultipliermeasurementmourcetypes), one lacks the prefix (user-agent_source), one is singular where its title is plural (list_idmatchmethod), and one shortens it (list_poddedupe). Writing an acronym as a word, Api and Dooh, keeps the word boundaries of a name such as DoohVenueTaxonomy readable. The rule that derives the names applies this reading to every list, so each name follows from its title alone.

What we ask the specification to state

Give each list a short machine name beside its title, and use it in the list's anchor, so every implementation and every tool names a list the same way. Today the anchors are the only stable names, and four of them don't follow the pattern the others do: list_doohmultipliermeasurementmourcetypes misspells "source", user-agent_source has no list_ prefix, list_idmatchmethod is singular, and list_poddedupe shortens its title.

The specification lines it rests on

Each line is quoted as the record pins it. Expand an item to read the quote.

main

  • List: API Frameworks, the row of 1 L2848 at 26c59ba
    1 | VPAID 1.0
  • List: Plcmt Subtypes - Video, the row of 1 L4211 at 26c59ba
    1 | Instream: Pre-roll, mid-roll, and post-roll ads that are played before, during or after the streaming video content that the consumer has requested. Instream video must be set to “sound on” by default at player start, or have explicitly clear user intent to watch the video content. While there may be other content surrounding the player, the video content must be the focus of the user’s visit. It should remain the primary content on the page and the only video player in-view capable of audio when playing. If the player converts to floating/sticky subsequent ad calls should accurately convey the updated player size.
  • List: Creative Subtypes - Audio/Video, the row of 1 L3265 at 26c59ba
    1 | VAST 1.0
  • List: Slot Position in Pod, the row of -1 L4443 at 26c59ba
    -1 | Last ad in the pod
  • List: User-Agent Source, the row of 0 L4499 at 26c59ba
    0 | Unspecified/unknown
  • List: ID Match Methods, the row of 0 L3754 at 26c59ba
    0 | Unknown

Tag AdCOM1.0-202607

  • List: API Frameworks, the row of 1 L2848 at d67a6a8
    1 | VPAID 1.0
  • List: Plcmt Subtypes - Video, the row of 1 L4211 at d67a6a8
    1 | Instream: Pre-roll, mid-roll, and post-roll ads that are played before, during or after the streaming video content that the consumer has requested. Instream video must be set to “sound on” by default at player start, or have explicitly clear user intent to watch the video content. While there may be other content surrounding the player, the video content must be the focus of the user’s visit. It should remain the primary content on the page and the only video player in-view capable of audio when playing. If the player converts to floating/sticky subsequent ad calls should accurately convey the updated player size.
  • List: Creative Subtypes - Audio/Video, the row of 1 L3265 at d67a6a8
    1 | VAST 1.0
  • List: Slot Position in Pod, the row of -1 L4443 at d67a6a8
    -1 | Last ad in the pod
  • List: User-Agent Source, the row of 0 L4499 at d67a6a8
    0 | Unspecified/unknown
  • List: ID Match Methods, the row of 0 L3754 at d67a6a8
    0 | Unknown

The record's YAML file