Skip to content

Inconsistencies between ODPS v4.x documentation and YAML schema requirements. #76

@mtingey

Description

@mtingey

Describe the bug
Thank you for the awesome work you've put in on ODPS!!! In my efforts to adopt ODPS standards for creating data products, I am running into discrepancies between what I am learning from documentation and examples online and what is enforced by the YAML schema published for v4.0. This appears to be an issue within v4.1 as well as comparing the YAML schemas across those versions does not reveal a change related to the issues I've encountered. Unless I am misunderstanding the intent of these artifacts and also the YAML builder for ODPS GPT is leading me astray.

Specifically:

  • The YAML schema requires a #/product/pricingPlans element while the documentation lists it under optional.
  • The YAML schema requires a #/product/support element while it is not listed under Mandatory attributes and elements of #/product.
  • The YAML schema requires #/product/license while the documentation lists license as an optional element.
  • The YAML schema requires that #/product/paymentGateways object be defined, but the ODPS documentation lists paymentGateways as optional.
  • The ODPS YAML and JSON schema files contain several differences in requirements, among which I have observed
    • JSON not using multi-language support convention
    • Several differences in required elements
    • Several differences in accepted values for specific attributes (#product/details/visibility, #contract/type, etc.)

To Reproduce
Steps to reproduce the behavior:

  1. Create a dataproduct.yaml which conforms to the https://opendataproducts.org/v4.0/schema/odps.yaml spec
  2. Validate your dataproduct.yaml against https://opendataproducts.org/v4.0/schema/odps.yaml
  3. Validate your dataproduct.yaml against https://opendataproducts.org/v4.0/schema/odps.json
  4. Observe errors found across different schema standards
  5. Optionally, create a dataproduct.yaml which validates to https://opendataproducts.org/v4.0/schema/odps.json spec and then switch to the YAML version and observe differences in requirements in that direction.

Expected behavior
Case 1:

GIVEN
- A `dataproduct.yaml` file is created in accordance with the guidance provided in ODPS documentation and knowledge base content

WHEN
- the same `dataproduct.yaml` file is validated against either the YAML or JSON schema file for the same version of ODPS used,

THEN
- the YAML schema validation should enforce the same requirements as state din the documentation, knowledge base, and examples for that same ODPS version.

Case 2:

GIVEN
- A `dataproduct.yaml` file which conforms and validates correctly to either of the https://opendataproducts.org/v4.0/schema/odps.yaml OR the https://opendataproducts.org/v4.0/schema/odps.json spec files,

WHEN
- the same `dataproduct.yaml` file is validated against the other of the YAML or JSON schema files mentioned above, 

THEN
- the `dataproduct.yaml` file should validate successfully against both of the YAML and JSON schema standards

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 11 and Mac OS 15.6.1
  • Browser chrome (but this is not important...I'm using VS code for IDE)
  • Version ODPS 4.0, 4.1

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions