as part of my studies on Z-Way programming and debugging, I was faced to read and understand JSON files within the home automation Module and userModule folders.

Google searches resulted into several tools especially online ones for handling JSON files. But one local editing tool was in my case the winner and helped me to easily work with JSON files. This info might be interesting for others in this forum:

A small easy windows EXE file called JSONedit seems to be a good helper. here the link to the site: http://tomeko.net/software/JSONedit/. At the end of page you can download the latest version 0.9.8 (as per 30.06.2014) and have a look at it. Also the data on the site http://www.json.org/ was very helpful for me.

Now if Z-Way developers would provide some data about implemented JSON features in the Z-Way-Server, then one could modify and generate much more easier JSON files for home automation modules.

Thank you pofs.
The features I'm asking are about keywords possible for module.json files mentioned in the latest Z-Way Developers Documentation, version 1.7 ( http://razberry.z-wave.me/docs/zwayDev.pdf ) on page 49. The few lines there explaining about autoload, singleton, defaults, actions and metrics are not reflecting all the keywords I'm finding in several module.json files in the automation/modules/* subfolders.

You find there key words like: options, schema, required, lable, helper, user view, title, description, field, type and many many other keywords beside the metadata within the files.

My question is if there is any kind reference data how to compose those files or
understand how they are built.

Indeed, options and schema are not really documented. Here we use third part AlpacaJS project. The only extension we have made is namespaces:... stuff to load data from dictionaries. These are quite obvious. Other things are documented in AlpacaJS project. I would suggest to look on examples in modules and copy them.

which explains in detail many of my questions and I see in addition modifications beyond namespaces:... stuff.
For example you use the keyword defaults {...} instead the keyword data {...} or you define in your document Z-Way Developers Documentation, version 1.7 ( http://razberry.z-wave.me/docs/zwayDev.pdf ) on page 49 additional keywords like actions and metrics.

I was also not able to play around with the "VIEW_WEB_EDIT", "VIEW_WEB_EDIT_LIST", "VIEW_WEB_EDIT_TABLE" options in the layout.

Do you have any additional data, which you can provide about namespaces,
layout options or other modifications

Indeed, defaults is additional stuff from us - we use it to initialize data if empty. But note that data is read from config.json file in storage/ and is filled automatically.

As for namespaces, there is a field saying that data will come from a namespace. Then after : goes the name of the namespace and then after another : the key to be used (in optionLabels we use deviceName, in schema - deviceId)