Open APIs

 View Only
  • 1.  TMF620: Where are Mandatory/Optional attributes defined, if not in swagger / rules.yaml?

    TM Forum Member
    Posted Nov 30, 2020 16:02
    TMF620B_Product_Catalog_Management_Conformance _Profile_R19.0 includes several attributes marked as mandatory, which differ or are not mentioned in the swagger or rules.yaml files. For example:

    Category.name is designated as a mandatory attribute in the Conformance_Profile doc (section 3.7), which would imply that it is mandatory for all operations (as M is not qualified like it is for some other attributes), but the swagger and rules  mark it as only mandatory in the post operation.

    and

    ProductOfferingPrice.price.value is designated as mandatory in the Conformance_Profile doc (if the optional price sub-resource is present), but neither swagger nor rules files designate it as mandatory.

    So what is the master source of mandatory / optional designation? I thought the Conformance_Profile doc was auto-generated from the swagger and rules.yaml files?



    ------------------------------
    Richard Williams
    Oracle Corporation
    ------------------------------


  • 2.  RE: TMF620: Where are Mandatory/Optional attributes defined, if not in swagger / rules.yaml?

    TM Forum Member
    Posted Dec 07, 2020 08:49
    Hi Richard

    Apologies for the delay in answering.

    In the more recent Open APIs, the generation and publication process is closer to automation, but we are still not there yet. The conformance profile is now expressed as a yaml file which is indeed generated from the swagger and rules. But the conformance is more detailed in terms of mandatory and optional information than the rules + swagger.

    Note that TMF620 was one of the earliest APIs to be published in v4.0, and yours truly had to create the conformance profile more-or-less manually (this conformance profile afterwards became the test case for the tooling development!).

    I hope the situation will be improved still more as we move towards v5.0, perhaps @Joel Burgess (a colleague of yours from Oracle) can comment on this.

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



  • 3.  RE: TMF620: Where are Mandatory/Optional attributes defined, if not in swagger / rules.yaml?

    TM Forum Member
    Posted Dec 07, 2020 12:18
    Hi Jonathan

    Thanks for the reply.
    This was actually a more general question about the process to create and then test conformance profiles. TMF620 provided a rich set of documentation to help understand the contributing collateral and process!

    I read the "API Conformance v4" presentation, which includes a workflow, but without more context it wasn't clear if this represents the process that API owners are currently adopting to create a conformance doc. It would be useful to be able to see what collateral went into a version of the conformance spec (for example, if it was generated using swagger2confspec then what versions of what files were used as input). 
    Has the conformance profile generation process been discussed recently in a meeting? If so, I'd be keen to watch the recording.

    Many thanks!

    Richard

    ------------------------------
    Richard Williams
    Oracle Corporation
    ------------------------------



  • 4.  RE: TMF620: Where are Mandatory/Optional attributes defined, if not in swagger / rules.yaml?

    TM Forum Member
    Posted Dec 08, 2020 10:55
    There have been education and tooling sessions within the Open API team, maybe @Alan Pope can comment regarding the availability of recordings.​

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