In the published beta specs there were some issues, and still work in progress.
But be aware that Extensible is not a real entity, it's just a short-hand complex data type for the @ attributes (type, baseType, schemaLocation). So I wouldn't read too much into this. P.S. in my most recent generation of APIs, in the last few days, I see only Extensible_FVO, not Extensible_MVO.
------------------------------
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: Mar 07, 2023 10:59
From: Markus Wolf
Subject: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification
It looks a bit weird to me.
Extensible, Extensible_FVO and Extensible_MVO are exactly the same.
For Addressable it makes sense, since on a POST of a new Entity you probably would not send its "href" and similar for a PATCH. However, would you really post the "id" of an object in a POST or PATCH? I always thought that the "id" is also created by the API responsible for the resource and not passed in.
In the old scheme with _Create and _Update the attributes "id" and "href" exactly where attributes not in _Create and _Update.
------------------------------
Markus Wolf
DEUTSCHE TELEKOM IT GMBH
Original Message:
Sent: Nov 29, 2022 05:44
From: Jonathan Goldberg
Subject: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification
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
------------------------------