Open APIs

 View Only
  • 1.  Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Oct 04, 2022 03:35
    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
    ------------------------------


  • 2.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Nov 28, 2022 16:40
    I have the same question. What is _MVO and _FVO. @Jonathan Goldberg can you help us?​

    ------------------------------
    Paul Stanek
    Suntech S.A.
    ------------------------------



  • 3.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Nov 29, 2022 05:45
    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.
    ------------------------------



  • 4.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Nov 29, 2022 05:49
    @Jonathan Goldberg Thanks a lot for your answer​​

    ------------------------------
    Paul Stanek
    Suntech S.A.
    ------------------------------



  • 5.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Nov 30, 2022 02:10
    @Jonathan Goldberg Thanks a lot. ​

    ------------------------------
    Sander Sokk
    TeliaCompany
    ------------------------------



  • 6.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Mar 07, 2023 11:00

    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
    ------------------------------



  • 7.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Mar 07, 2023 12:14

    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.
    ------------------------------



  • 8.  RE: Intention/Meaning of MVO and FVO schemas within TroubleTicket API 5.x Early Adoption based specification

    TM Forum Member
    Posted Mar 09, 2023 03:24

    Hi Jonathan,

    thanks for the  info. I understand that they are a sort of "abstract base classes". Nevertheless, it does not make sense to have several of these when they are strictly the same.
    Same with Addressable. We discussed this yesterday and would it not make sense to have "id" and "href" as "readOnly" attributes in Addressable and then only have "Addressable" since you probably never POST or PATCH an "id" or "href".



    ------------------------------
    Markus Wolf
    DEUTSCHE TELEKOM IT GMBH
    ------------------------------