Skip to content

"Phase A" changes#6

Draft
thomasheritage wants to merge 15 commits into
mainfrom
thomash_phaseA
Draft

"Phase A" changes#6
thomasheritage wants to merge 15 commits into
mainfrom
thomash_phaseA

Conversation

@thomasheritage

Copy link
Copy Markdown
Collaborator

Implement changes arising from the "Phase A" work of the EBU QC Group early in 2026

EBU QC group members can view details at https://git.ebu.io/qc/api/-/boards?milestone_title=Phase%3AA

@wbailer

wbailer commented Apr 26, 2026

Copy link
Copy Markdown

Thanks for the updates, Tom.

One thought: On input and output definitions, HasLocator had previously a default value of false, should we add that to all the new Has* elements as well? They could then be made optional, as it clear how this is to be interpreted.

@thomasheritage

Copy link
Copy Markdown
Collaborator Author

HasLocator had previously a default value of false, should we add that to all the new Has* elements as well? They could then be made optional

That was the only place where "default" was used in the XSD. I only noticed that when making this edit. It caused what I found to be a confusing situation: although the element HasLocator always had to have a value (it didn't have minoccurs=0), the fact that there was a default value specified meant this requirement would be satisfied even if the XML Element was omitted from an instance document, making it appear to be an optional property... (it's shown as mandatory in the UML class diagram).

I'd suggest it's simpler it leave all the Has* elements as mandatory and without a default value specified. This means that they'll always be in the Input/Output Definitions and so it will always be completely clear what the requirements are when creating Inputs/Outputs in Item Results.

@wbailer

wbailer commented Apr 27, 2026

Copy link
Copy Markdown

Thanks for the clarification, makes sense.

@thomasheritage

Copy link
Copy Markdown
Collaborator Author

I've added additional XSD changes in 988d82b and 0a40e5a that go beyond what was discussed on GitLab. I highlighted these at the EBU QC meeting 2026-05-12

@thomasheritage

thomasheritage commented May 12, 2026

Copy link
Copy Markdown
Collaborator Author

Some design enhancements (not pushed yet) that go beyond what was discussed on GitLab but were highlighted at the EBU QC Meeting 2026-05-12 include:

  • DefaultValue

  • IOdef naming constraints

  • From the discussion: ensure that names of input & output definitions are scoped separately

@thomasheritage

Copy link
Copy Markdown
Collaborator Author

Another change to highlight in the model docx (not pushed yet): I've removed the "description of the relations" chapter because it contained various errors and much of it related to inputs and outputs and so would take a lot of work to update. Also, these relationships are now covered in context throughout the document and duplicating the information would be a hassle and prone to errors.

* Change timings to use new timing extension
* Change to use Item Definitions in the catalogue that don't have inputs
  to specify which part of the content to analyse for test tones etc.
  For such tests, what is best practice re using Scopes and using those
  inputs, and what's the interaction?
* Add "Scopes" attribute to contain "Scope" attributes (per the Word docx
  prose)
* Adjust terminology to match Word docx prose
* Misc layout tweaks
@thomasheritage

Copy link
Copy Markdown
Collaborator Author

Another change to highlight in the model docx (not pushed yet): a different approach to constraining Scope attributes (but following the same principles)

Main changes:
* API version number v2 -> v3
* XML namespaces updated to accommodate the updated qc.xsd
  ("2026-01" namespaces to "2026-04")
* Clarify API behaviour/restrictions especially:
  * Version numbers must not have a "patch" component
  * Only versions with a Status of "published" or "withdrawn" are considered
  * Clarify response upon success and error
@thomasheritage

Copy link
Copy Markdown
Collaborator Author

API specs updated in 2d53504

The changes introduced to the Word docx are given by:
qc-catalogue-api.diff.e4bb4a7-2d53504.docx

Related to qc.xsd updates:
* Reference updated qc.xsd namespace:
  tag:qc.ebu.ch,2026-01 --> tag:qc.ebu.ch,2026-04
* Update the UML diagram to match updated qc.xsd
* Implement new structure & attributes for QCItemInputs & QCItemOutputs
  and their definitions
* Add Annex C: explains QCItemInputs & QCItemOutputs and their
  definitions including full details of the rules that must be followed
* Add CheckResultDefinition attribute
Note: these changes replace the old (now prohibited) practice of
creating QCItemOutputDefinitions (and QCItemOutputs) called
"CheckResult"

Add TimingExtensionMediaPlaybackEditUnits:
* Reference TimingExtensionMediaPlaybackEditUnits XSD with namespace:
  tag:qc.ebu.ch,2026-04:extensions:timing
* Add Annex D: specifies TimingExtensionMediaPlaybackEditUnits – an
  extension that governs temporal statements given by instances of the
  LocatorType

Add Annex E: specifies how the CheckResultRule, CheckResult, Relevance,
and RelevanceLevel attributes are related

Add Annex F: explains the mechanisms for specifying a portion of the
media content to be analysed during QC using the Scopes and Track
attributes

Update allowed values for PublicationStatusType

Remove "Description of the relations" chapter:
* It contained various errors and much of it related to QCItemInputs
  & QCItemOutputs and so would take a lot of work to update
* These relationships are now covered in context throughout the
  document and duplicating the information is undesirable

Clarify prose & tables related to items that have changed in
qc.xsd or which are now covered in an Annex, and link to the Annex where
relevant

Misc editorial changes
@thomasheritage

Copy link
Copy Markdown
Collaborator Author

qc-data-model.docx updated in 9de4141

The changes introduced to the Word docx are given by:
qc-data-model.diff.e4bb4a7-9de4141.docx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants