[x3d-public] X3DUOM autogeneration; X3DUOM services

John Carlson yottzumm at gmail.com
Mon Jul 15 12:11:13 PDT 2019


I have found a simple AJAX front-end and flask python back-end if some is
willing to do the work.   See link:

https://github.com/coderextreme/Flask-AppBuilder-Skeleton

Have fun.   There are basically two files required out of all of this, see
readme.rst.  I don’t know how to create a node.js AJAX client yet, but it
would be a welcome addition to this project and X3DJSONLD if someone want
to spend time doing it.

On Wed, Jul 10, 2019 at 5:03 PM John Carlson <yottzumm at gmail.com> wrote:

> >I am hoping that we will have a proper README and stabilized beta of
> native Python x3d package getting autogenerated in time for Web3D 2019
> conference.
>
>
>
> >Wondering if we might somehow use X3DUOM autogeneration to complement
> some of the modules in your X3DJSONLD library to keep that synchronized
> with X3Dv4 specification changes.
>
>
>
> Yeah, currently the generators create static files.  It would be nice to
> create a service to keep them up to date, so we don’t have to march around
> the file system running ant scripts and copying X3DUOM files around.
>
>
>
> If there’s a service, then we have a well known place to find any
> information about X3DUOM, instead of relying on various copies currently
> found in various projects.
>
>
>
> To take first steps, I think we may need to create a complete build script
> for X3DJSONLD.  Ideally, the build would provide a service. Do you
> recommend python, so we can use existing generator code, found in
> www.web3d.org/x3d/stylesheets/java/src/python/pyjnius, or X3DJSONLD
> JavaScript, what I currently have my service written in?  Or do we base it
> on Vince’s service?
>
>
>
> Current X3DUOM on my file system are:
>
>
>
> X3DJSONLD/src/specifications/X3dUnifiedObjectModel-3.3.xml
>
> X3DJSONLD/src/specifications/X3dUnifiedObjectModel-4.0.xml
>
> X3DJSAIL/src/specifications/X3dUnifiedObjectModel-4.0.xml
>
> pythonSAI/X3dUnifiedObjectModel-3.3.xml
>
> pythonSAI/X3dUnifiedObjectModel-4.0.xml
>
>
>
> These should be copied from /c/x3d-code/www.web3d.org/specifications.
> There are also various .xsd files.
>
>
>
> Is X3DUOM finalized for v4?
>
>
>
> Let’s try to create a task list.
>
>
>
>    1. Create base service that all serializers inherit from or delegate
>    to.
>    2. Make a decision to go with file or service interface
>    3. Decide on file or service protocol
>    4. Decide on caching
>    5. Implement
>
>
>
> Thanks,
>
>
>
> John
>
>
>
> Files which currently make use of X3DUOM:
>
>
>
> $ find pythonSAI/ X3DJSONLD/ /c/git/X3DJSAIL/ -type f|xargs grep
> UnifiedObject|grep -v '\.git'
>
>
>
> [ abbreviated listing ]
>
> pythonSAI/classes.py:soup =
> BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
>
> pythonSAI/fieldtypes.py:soup =
> BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
>
> pythonSAI/old.py:soup =
> BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
>
> pythonSAI/packagemaker.py:soup =
> xml.etree.ElementTree.parse(open("X3dUnifiedObjectModel-4.0.xml")).getroot()
>
> pythonSAI/parseom.py:soup =
> BeautifulSoup(open("X3dUnifiedObjectModel-4.0.xml"), "xml")
>
>
>
> X3DJSONLD/src/main/node/omtojs.js:      var xml =
> fs.readFileSync("X3DUnifiedObjectModel-3.3.xml");
>
> X3DJSONLD/src/main/node/omtojs.js:
> console.error("X3DUnifiedObjectModel-3.3.xml", e);
>
> X3DJSONLD/src/main/python/classes.py:soup =
> BeautifulSoup(open("../../specifications/X3DUnifiedObjectModel-3.3.xml"),
> "xml")
>
> X3DJSONLD/src/main/python/fieldtypes.py:soup =
> xml.etree.ElementTree.parse(open("../../specifications/X3dUnifiedObjectModel-3.3.xml")).getroot()
>
> X3DJSONLD/src/main/python/mapToMethod.py:soup =
> xml.etree.ElementTree.parse(open("../../specifications/X3dUnifiedObjectModel-4.0.xml")).getroot()
>
> X3DJSONLD/src/main/python/nodeclasses.py:soup =
> BeautifulSoup(open("../../specifications/X3DUnifiedObjectModel-3.3.xml"),
> "xml")
>
> X3DJSONLD/src/main/shell/generateSchema.sh:python
> ../python/etgenerateJSONschema.py < /c/x3d-code/
> www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml | jsonlint >
> ../schema/x3d-3.0-JSONSchema.json
>
> X3DJSONLD/src/main/shell/generateSchema.sh:python
> ../python/etgenerateJSONschema.py < /c/x3d-code/
> www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml | jsonlint >
> ../schema/x3d-3.1-JSONSchema.json
>
> X3DJSONLD/src/main/shell/generateSchema.sh:python
> ../python/etgenerateJSONschema.py < /c/x3d-code/
> www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml | jsonlint >
> ../schema/x3d-3.2-JSONSchema.json
>
> X3DJSONLD/src/main/shell/generateSchema.sh:python
> ../python/etgenerateJSONschema.py < /c/x3d-code/
> www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml | jsonlint >
> ../schema/x3d-3.3-JSONSchema.json
>
> X3DJSONLD/src/main/shell/generateSchema.sh:python
> ../python/etgenerateJSONschema.py < /c/x3d-code/
> www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml | jsonlint >
> ../schema/x3d-4.0-JSONSchema.json
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190715/ba815219/attachment.html>


More information about the x3d-public mailing list