buildingSMART / BCF-API

Web service specification for BIM Collaboration Format
Other
211 stars 61 forks source link

Move Schema Definitions from JSON to swagger.yaml #331

Closed GeorgDangl closed 2 months ago

GeorgDangl commented 6 months ago

We've discussed it in the group, we want to get rid of the embedded JSON schema files for all objects and instead only rely on a single swagger.yaml file. For this, we'll have to do a bit of work:

We need to sync those items:

NKnusperer commented 5 months ago

Hello, will 4.0 be a new version in terms of breaking changes or is this just some cleanup regarding the swagger.yaml ?

GeorgDangl commented 5 months ago

Hey @NKnusperer, it'll be a new version sometime in the future. There have been a few new features, and also some breaking changes. We don't yet know when this will be released, but the work for moving away from the JSON schemas to the Swagger file won't be made for currently released versions.

NKnusperer commented 5 months ago

Thank you @GeorgDangl. After looking into the changes in master compared to the current 3.0 specification the most interesting part seems to be the addition of custom_fields which was something I was actually missing in 3.0. I'm in a very early stage of implementing the BCF API and I'm wondering what would be the best way to already start using this in a "compliant" way until this has been ratified. The first which comes to mind is declaring the version like /bcf/4.0-draft.2024.02. Any thoughts on this?

GeorgDangl commented 5 months ago

Well you can also just include the fields already in your endpoints, clients should ignore any fields they don't know about. So including extra information right now should just work, and those fields can be consumed by clients that know about it.