[x3d-public] JSON Schema updated (draft07), updates to draft 2019 09 still unavailable

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Fri Oct 18 22:30:56 PDT 2019


OK good points all... very funny, "ship sailed without the crew" ! 8)

yes, validation is important.  huh, achieving standardization takes work.

Changelog page for JSON schema itself:

===================================================
http://json-schema.org/draft/2019-09/release-notes.html

> NOTE: This page is still being written, and is currently a fairly minimal listing of changes.
> 
> For the vast majority of schema authors, we hope that these changes are minimally disruptive.
> 
> The most likely to be frustrating is that format is no longer treated as a validation assertion by default (although it is still possible for an application or user to configure a validator to treat it as one). We decided this was acceptable because many schema authors are already extremely frustrated by its inconsistent behavior.
> 
> For implementors, there is a lot more to consider, and further guidance on implementation topics will be forthcoming.==================================================

Not a big confidence builder that their new IETF label implies maturity!

Anyway it's super that you can get to draft-07 at least.  Until we get an actual validator, I guess we are stuck as before.  If there are major changes, it does not yet seem practicalto deep dive into changes in schema, translator, and thousands of models until we can sort things out stably.  No sense in a partial 07 effort that might get unraveled/refactored in 09.  Meanwhile with a Java build process I appear stuck waaay back at draft 04.

So the name change might indicate improving maturing from IETF perspective, but with still-lagging support, JSON Schema is not yet ready for us.

I got the constructive feedback from Altova:
============================================
> Hello Don,
> 
> Thank you for contacting us.
> 
> I am unable to say when this might be implemented, but I have now entered it as a feature request into our issues tracking database. It has the tracking number and title:
> "60452 - Support for JSON schema 2019-09 (formerly known as Draft 8)"
> 
> I would encourage you to subscribe to our occasional Developer's Newsletter to receive alerts regarding new releases which may at some point see this request realised:  https://www.altova.com/company
> 
> Thanks for the feedback - it's much appreciated.
=========================================

Also got good feedback from json-schema-validator contributor:

=========================================
https://github.com/java-json-tools/json-schema-validator/issues/287#issuecomment-543624251

> @brutzman MVN central will not be updated at com.github.fge, per the README. Try https://mvnrepository.com/artifact/com.github.java-json-tools/json-schema-validator.
> 
> There's no existing plan to fund support for Draft 05 - 09, not that we don't want that support. I haven't done a scoping operation for any of it, and as I've only come onboard recently through volunteering to overhaul Google's internal use of the library, which required deps fixes to avoid CVEs in dependent libraries, my context about the newer drafts is super limited. I would be happy to accept contributions so long as there's a mini-design doc for implementing them reviewed first.
=========================================

I tested their upgraded jar but it failed, apparent internal jar error, sheesh:

> HelloWorld.json creation with X3dToJson.xslt
> HelloWorld.json validation checking with jslint using lib/jslint4java-2.0.5.jar
> HelloWorld.json validation checking with lib/json-schema-validator-2.2.11.jar
> Error: Unable to initialize main class com.github.fge.jsonschema.main.cli.Main
> Caused by: java.lang.NoClassDefFoundError: joptsimple/HelpFormatter
> Java Result: 1

Reverted the build scripts with updated help links inserted.  Trouble report sent:
https://github.com/java-json-tools/json-schema-validator/issues/287#issuecomment-544100447

Also posted same question to people at everit-org/json-schema, each of these libraries seems to be stuck back in drydock...

https://github.com/everit-org/json-schema/issues/257#issuecomment-544095265
"Wondering if support for latest JSON Schema Draft 2019-09 is contemplated?"

So still stuck.  Sitting back down on this one until one or more tools mature, someday I hope.  Thanks for patiently tracking together on this.


On 10/18/2019 7:06 PM, John Carlson wrote:
> Schemata besides 3.3 have been updated to latest X3DUOM for testing before automation
> 
> John
> 
> $ svn commit -m "Upgraded schemas" x3d-3.[012]-JSONSchema.json x3d-4.0-JSONSchema.json
> 
> Sending        x3d-3.0-JSONSchema.json
> 
> Sending        x3d-3.1-JSONSchema.json
> 
> Sending        x3d-3.2-JSONSchema.json
> 
> Sending        x3d-4.0-JSONSchema.json
> 
> Transmitting file data ....done
> 
> Committing transaction...
> 
> Committed revision 29363.
> 
> Schema 3.3 autogenerated file has been updated.
> 
> $ svn commit -m "Updated schema" x3d-3.3-JSONSchema.autogenerated.json
> 
> Sending        x3d-3.3-JSONSchema.autogenerated.json
> 
> Transmitting file data .done
> 
> Committing transaction...
> 
> Committed revision 29364.
> 
> Good luck!
> 
> John
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> *From: *John Carlson <mailto:yottzumm at gmail.com>
> *Sent: *Friday, October 18, 2019 8:42 PM
> *To: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *RE: JSON Schema updated to draft 2019-09
> 
> So what needs to be automated in the Ant build? Building the JSON schemas.  Here are some examples of commands which you might use in Ant:
> 
> #!/bin/sh
> 
> echo 3.0
> 
> python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml | jsonlint > ../schema/x3d-3.0-JSONSchema.json
> 
> echo 3.1
> 
> python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml | jsonlint > ../schema/x3d-3.1-JSONSchema.json
> 
> echo 3.2
> 
> python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml | jsonlint > ../schema/x3d-3.2-JSONSchema.json
> 
> echo 3.3
> 
> python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml | jsonlint > ../schema/x3d-3.3-JSONSchema.json
> 
> echo 4.0
> 
> python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml | jsonlint > ../schema/x3d-4.0-JSONSchema.json
> 
> https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema.py
> 
> Please suggest an appropriate license on the etgenerateJSONschema.py, and I will back out the 2019-09 changes, apply license, and check into sourceforge.   Please suggest a good naming convention and location for the python file on sourceforge.
> 
> I’m looking forward to getting this automated without the need for a JSON schema validator.  That will be the step after generating the schemas.  One step at a time.
> 
> Thanks,
> 
> John
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> *From: *John Carlson <mailto:yottzumm at gmail.com>
> *Sent: *Friday, October 18, 2019 5:55 PM
> *To: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *RE: JSON Schema updated to draft 2019-09
> 
> I don’t see any implementations of the new draft.  I won’t check in/commit changes until there’s an implementation.
> 
> Since they’re going to many drafts as standards (what good is a standard until you can pick from several?), I would be willing to back out my changes to go to draft-07 if everyone agrees this is a good thing. – “The JSON Schema project intends to shepherd all four draft series to RFC status.”
> 
> I have Java and JavaScript script (shell script) for draft-07.  Likely they can be altered to suit Ant.  Please check the Everit and Ajv licenses for suitability with incorporating into Ant.
> 
> So the decision is to go with draft-07 with existing implementations, or wait for draft 2019-09 implementations?
> 
> Seems pretty much like there’s not much to talk about unless you have XMLSpy.  X3D is a open, royalty-free standard.  If you need help with XMLSpy, will the Web3D Consortium buy me a license?
> 
> The link you gave me for json-schema-validator says draft-04?  And the issue says no release for drafts 05 – 09 (there is no draft -09)
> 
> What are you in a huff about?  What is our goal for next week?  Let me know when you roll the X3DUOM, and I can reroll either draft-07 or draft 2019-09
> 
> Looks like the 2019-09 boat sailed without the crew, IMO.
> 
> https://json-schema.org/implementations.html#validators
> 
> I am perfectly willing to go with draft-07. That boat is still in the dock, and the crew have been waiting for MONTHS for the passengers to get on board.
> 
> The new empty shiny boat is likely due to crash, unless somehow, it’s self-driving.  But to what purpose without passengers and crew?
> 
> Hmm,
> 
> John
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> *From: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
> *Sent: *Friday, October 18, 2019 3:41 AM
> *To: *John Carlson <mailto:yottzumm at gmail.com>; X3D Graphics public mailing list <mailto:x3d-public at web3d.org>
> *Subject: *JSON Schema updated to draft 2019-09
> 
> Reported at http://json-schema.org
> 
>                  JSON Schema
> 
>                  NEW DRAFT PUBLISHED!
> 
>                  The current version is 2019-09!
> 
>                  Project Status
> 
>                  16 September 2019: Draft 2019-09 (formerly known as draft-08) has been published!
> 
>                  The IETF document IDs are of the form draft-handrews-*-02.
> 
>                  We are now using dates for meta-schemas, which are what implementations should use to determine behavior,
> 
>                  so we will usually refer to 2019-09 (without the word “draft”) on this web site.
> 
> Meanwhile Altova XMLSpy has a new v2020 release that includes support for prior draft-07.  I have sent them an issue report requesting when that might be available, and have offered to beta test.  They generally ship revisions 3-4 times per year.
> 
>                  JSON Schema Editor and Generator: Enterprise-grade, graphical JSON schema editor
> 
>                  https://www.altova.com/xmlspy-xml-editor/json_schema_editor
> 
> "Just as XMLSpy pioneered the first graphical XML Schema editor, it now also includes the first enterprise-grade, graphical JSON Schema editor to greatly speed schema generation, development, and validation for developers working with JSON."
> 
> As I recall the differences are not too great between your latest and the official latest.  Hoping to examine your patterns and finally update our JSON schema validator.
> 
> John, can we retackle X3D JSON Schema next week?  I would like to roll another X3DUOM autogenerator that can match your latest patterns.  We might find some corresponding tweaks to the X3Dv4 JSON encoding as well.  XMLSpy will also let us autogenerate documentation.
> 
> Am expecting that rechecks will find other JSON schema validators are coming up to date.  I'll still be looking for a command-line tool we can integrate into the X3D Examples Archive build process.  That will give us a full suite of unit tests... these are already configured using the following (last edited 5 SEP), will need to rebuild/upgrade the latest jar.  Status request posted.
> 
>                  https://github.com/java-json-tools/json-schema-validator
> 
>                  https://github.com/java-json-tools/json-schema-validator/wiki
> 
>                  https://github.com/java-json-tools/json-schema-validator/wiki/Status
> 
>                  https://github.com/java-json-tools/json-schema-validator/issues/287
> 
> References
> 
> [1] X3D JSON Encoding
> 
>       https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding
> 
> [2] X3D to JSON Stylesheet Converter
> 
>       https://www.web3d.org/x3d/stylesheets/X3dToJson.html
> 
> [3] X3D Specifications: Schema and DOCTYPE Validation
> 
>       https://www.web3d.org/specifications
> 
> Thanks for your patient persistence getting to this point.  When we have autogeneration of JSON schemas in place, that will be another important foundation block for X3D authoring quality assurance (QA) and widespread X3Dv4 adoption.
> 
> all the best, Don
> 
> -- 
> 
> Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
> 
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
> 
> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
> 


all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman


More information about the x3d-public mailing list