-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gCloud schemas for common business data #26
Comments
In GitLab by @pvdbosch on Oct 5, 2018, 16:27 changed the description |
In GitLab by @pvdbosch on Oct 5, 2018, 16:41 The proposed domains currently used for schemas to regroup types are loosely based on the Ontology name in the vocabularies:
I've split off personidentifier and organizationidentifier from person and organization because the identifiers are often used in services without any other of the related vocabularies, so it would be more difficult to version them together. Versions for types not validated yet in functional WG, is 'v1beta'. Open issues:
|
In GitLab by @pvdbosch on Nov 26, 2018, 17:17 Update after October meeting :
Open issues:
Current structure:
Version of types not validated yet in functional WG is 'v1beta'. |
In GitLab by @pvdbosch on Jan 3, 2019, 14:03 updated schemas on git master:
To do:
|
In GitLab by @pvdbosch on Mar 13, 2019, 14:35 After validation in functional WG:
|
In GitLab by @pvdbosch on Mar 13, 2019, 14:57 There is no support in code generators for custom formats (decimal, email, uuid). I added a proposition for UUID to common-v1beta.yaml:
This type disallows capital case A-F for the hex characters (it's stricter than what we currently use at CBSS). For email, the multitude of regexps in use are a bit overwhelming so I didn't add it yet. |
In GitLab by @pvdbosch on Dec 9, 2019, 13:39 changelog since last review on REST guide WG:
TODOs: In REST WG - final validation of beta types:
Functional WG:
On hold:
|
In GitLab by @pvdbosch on Jan 6, 2020, 15:18 feedback from last WG:
|
validated types were graduated from v1beta to v1 and YearMonth data type (0195d67) added |
In the latest JSON Schema spec, there are predefined formats for uuid and email, which refer to other RFCs without giving regexps. Those formats aren't part of the OpenAPI 2.0/3.0 specs however. For UUID, our type in common-v1 would validate the example given in the spec (lowercase, with dashes). For email, we don't have a type defined in our schemas yet. |
Including a Duration type in "time" schemas was discussed in earlier working groups, but not pursued further because WG members didn't have sufficient use cases for which a common type could be defined. Rationale:
|
added a wiki page on organization of the data types and collobaration with functional WG: https://github.com/belgif/rest-guide/wiki/OpenAPI-data-types . Any feedback is welcome. |
At functional WG, there was a request from Smals to add a data type for an IP address (a single one for both ipv4 and ipv6). More info in IP address_20200127.docx. There is a regexp in the doc that's very long (I think this is ipv6 notation only?). For IPv6 there are a lot of possible notations that can be used for a single address. Do we want to use such a complex expression? Do we allow hexadecimal a-f characters both in lower and in upper case? A canonical representation exists but requires quite some computation to transform into. |
I've updated all schemas with types using regexp patterns to match the entire string values. Unlike XML Schema, Example: |
YearMonth type was validated in WG of March and promoted in the repo from v1beta to v1 |
added proposition for a type Year in time-v1beta.yaml
I spotted also usage of integer for a year (in vehicle register API), but a string-based type would be more aligned with other time-related types. |
Didn't we only opt for string-based types if the prefix zero's were significant? I don't see why we should format a year without any separators and significant zero's as a string. |
String-based was more to align it with OpenAPI time types based on rfc3339 which are string based and have a year part "0000" up to "9999". Conversion would be easier (just substring or concatenate) than for integer (int<>string conversion and 0-padding), but dunno if that's important enough. |
We'll convert Year to integer:
updated on master. Last validation required by functional WG before promoting to stable. |
Issues on schemas moved to individual repos. Overview project board: https://github.com/orgs/belgif/projects/1 |
All type descriptions in Swagger are now aligned with the fedvoc Excel file. Only cbeNumber description still needed to be changed. |
Further followup of all openapi schema-related issues will be done using project board: https://github.com/orgs/belgif/projects/1 |
In GitLab by @pvdbosch on Oct 5, 2018, 16:26
create and validate JSON Schemas for most common functional types, based on output of the gCloud functional workgroup.
Primarily, we can standardize simple types with a well defined format (e.g. ssin, cbe number, quarter, month, ...). Object types are most of the time too context-dependent to be standardized (e.g. the selection of properties are included in a Person type). Some basic JSON object types, like a period, may be useful.
gCloud vocabularies
can be found in this excel. Navigate to the tab VocabularyAdoption, and hide blank values in FED column filter.
Some type restrictions (e.g. pattern, string or number) can be found in the 'Datamodels' tab.
todo
Done: align descriptions in Swagger files with those in vocabularies spreadsheet. They shouldn't get too long however in Swagger => belgif/fedvoc#3
The text was updated successfully, but these errors were encountered: