Hi Sander and Paul
VO stands for value object, so:
- FVO is first (I think) value object, i.e. the representation of an entity that we want to create (via POST)
- MVO is mutation value object, i.e. the representation of an entity that we want to modify (via PATCH)
The value objects are subsets of the full entity schemas, and are generated into the swagger/oas files by the tooling that we use to generate Open API artefacts. When designing an API, we might say (for example) that the status attribute cannot be updated directly, so we would specify it as not patchable, and then the MVO would be generated without the status attribute.
Please note that this is not a new concept; it existed in v4 APIs (and prior to that as well), e.g. we had ProductOrder_Create and ProductOrder_Update as inputs to POST and PATCH respectively.
Hope it helps
------------------------------
Jonathan Goldberg
Amdocs Management Limited
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
------------------------------
Original Message:
Sent: Nov 28, 2022 16:39
From: Paul Stanek
Subject: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification
I have the same question. What is _MVO and _FVO. @Jonathan Goldberg can you help us?
------------------------------
Paul Stanek
Suntech S.A.
Original Message:
Sent: Oct 04, 2022 03:34
From: Sander Sokk
Subject: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification
Hi!
What is the intention and meaning of _MVO and _FVO schemas within TT v5 specification? Content of such schemas is often the same and overlapping. For example:
```
Addressable:
type: object
description: Base schema for addressable entities
properties:
href:
type: string
description: Hyperlink reference
id:
type: string
description: unique identifier
required:
- id
- href
Addressable_FVO:
type: object
description: Base schema for addressable entities
properties:
id:
type: string
description: unique identifier
Addressable_MVO:
type: object
description: Base schema for addressable entities
properties:
id:
type: string
description: unique identifier
Extensible:
type: object
description: >-
Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means
that the Entity described by the schema MUST be extended with the @type
properties:
'@type':
type: string
description: 'When sub-classing, this defines the sub-class Extensible name'
'@baseType':
type: string
description: 'When sub-classing, this defines the super-class'
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes and relationships
required:
- '@type'
Extensible_FVO:
type: object
description: >-
Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means
that the Entity described by the schema MUST be extended with the @type
properties:
'@type':
type: string
description: 'When sub-classing, this defines the sub-class Extensible name'
'@baseType':
type: string
description: 'When sub-classing, this defines the super-class'
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes and relationships
required:
- '@type'
Extensible_MVO:
type: object
description: >-
Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means
that the Entity described by the schema MUST be extended with the @type
properties:
'@type':
type: string
description: 'When sub-classing, this defines the sub-class Extensible name'
'@baseType':
type: string
description: 'When sub-classing, this defines the super-class'
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes and relationships
```
------------------------------
Sander Sokk
TeliaCompany
------------------------------