{"action":"created","issue":{"url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/255","labels_url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/255/labels{/name}","comments_url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/255/comments","events_url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/255/events","html_url":"https://github.com/Z-Wave-Me/home-automation/issues/255","id":95276137,"number":255,"title":"JSON-Schema for module.json: Fundamental problem?","user":{"login":"pz1","id":7747627,"avatar_url":"https://avatars.githubusercontent.com/u/7747627?v=3","gravatar_id":"","url":"https://api.github.com/users/pz1","html_url":"https://github.com/pz1","followers_url":"https://api.github.com/users/pz1/followers","following_url":"https://api.github.com/users/pz1/following{/other_user}","gists_url":"https://api.github.com/users/pz1/gists{/gist_id}","starred_url":"https://api.github.com/users/pz1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pz1/subscriptions","organizations_url":"https://api.github.com/users/pz1/orgs","repos_url":"https://api.github.com/users/pz1/repos","events_url":"https://api.github.com/users/pz1/events{/privacy}","received_events_url":"https://api.github.com/users/pz1/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-15T19:56:50Z","updated_at":"2015-09-13T19:58:23Z","closed_at":"2015-09-13T19:26:46Z","body":"As an option for documenting all the possibilities to configure a module, I thought of defining a json-schema. My main experience is with xmt-dtd and xml-schema, so it's been kind of a culture shock. After a day of playing I must say it remains quite a challenge, since ZWay-modules have a bit more diversity than bookstores;)  Anyhow I got something on the very superficial level.\r\n\r\nUnfortunately I did stumble into a fundamental problem if I understand things correctly.\r\n\r\nThe problem is in the keyword **required**; an obvious choice in the context of javascripting, but problematic for json-schema, since it is a **Keyword** for them. See [specification](http://json-schema.org/latest/json-schema-core.html) Paragraph 2: Conventions.\r\nActually it looks like a showstopper, since all of the on-line validators that I tested were complaining. \r\n\r\nI'm afraid the keyword **required** in module.json should be replaced by something not conflicting for schema to work. (For my further experiments I can of course use an alternate term)\r\n "},"comment":{"url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/comments/139913125","html_url":"https://github.com/Z-Wave-Me/home-automation/issues/255#issuecomment-139913125","issue_url":"https://api.github.com/repos/Z-Wave-Me/home-automation/issues/255","id":139913125,"user":{"login":"PoltoS","id":3664383,"avatar_url":"https://avatars.githubusercontent.com/u/3664383?v=3","gravatar_id":"","url":"https://api.github.com/users/PoltoS","html_url":"https://github.com/PoltoS","followers_url":"https://api.github.com/users/PoltoS/followers","following_url":"https://api.github.com/users/PoltoS/following{/other_user}","gists_url":"https://api.github.com/users/PoltoS/gists{/gist_id}","starred_url":"https://api.github.com/users/PoltoS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PoltoS/subscriptions","organizations_url":"https://api.github.com/users/PoltoS/orgs","repos_url":"https://api.github.com/users/PoltoS/repos","events_url":"https://api.github.com/users/PoltoS/events{/privacy}","received_events_url":"https://api.github.com/users/PoltoS/received_events","type":"User","site_admin":false},"created_at":"2015-09-13T19:58:23Z","updated_at":"2015-09-13T19:58:23Z","body":"Pieter, requires in paragraph 2 refers to a specific meaning in the text of the spec, but not to a keyword in JSON syntax. So this is ok.\r\n\r\nBtw, most of module.json is in the format driven by AlpacaJS project. It is well documented"}}