Use JSON Schema in block definitions?
JSON Schema looks a lot like what we have for specifying inputs/outputs. I think we all prefer using existing standards where it makes sense. Does it make sense?
Example JSON Schema from http://tools.ietf.org/html/draft-zyp-json-schema-03#section-3
{
"name":"Product",
"properties":{
"id":{
"type":"number",
"description":"Product identifier",
"required":true
},
"name":{
"description":"Name of the product",
"type":"string",
"required":true
},
"price":{
"required":true,
"type": "number",
"minimum":0,
"required":true
},
"tags":{
"type":"array",
"items":{
"type":"string"
}
}
},
"links":[
{
"rel":"full",
"href":"{id}"
},
{
"rel":"comments",
"href":"comments/?id={id}"
}
]
}
Also, at a minimum we should probably use JSON Schema for specing the block definition, request/response, and pipeline formats.
Yeah that looks interesting. Where can I actually read about it? When I poked at their site I couldn't actually find anything that looked like what you posted.
On Wed, Nov 28, 2012 at 5:03 PM, Tom Robinson [email protected]:
Also, at a minimum we should probably use JSON Schema for specing the block definition, request/response, and pipeline formats.
— Reply to this email directly or view it on GitHubhttps://github.com/webpipes/spec/issues/2#issuecomment-10830763.
Jeff Lindsay http://progrium.com
That example was from the spec proposal: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-3
This tool is kind of cool: http://www.jsonschema.net/
I wholeheartedly support co-opting existing specifications when possible. Since node-webpipe, and other future frameworks, can hide the intricacies of JSON Schema from developers I don't have a problem with us adopting the format for block definitions.
That said, I'm trying to figure out what kind of direct benefits would be gained. JSON Schema seems like a jet engine when all we need is a servo. Am I wrong?
On Fri, Nov 30, 2012 at 2:07 AM, Tom Robinson [email protected]:
That example was from the spec proposal: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-3
This tool is kind of cool: http://www.jsonschema.net/
— Reply to this email directly or view it on GitHubhttps://github.com/webpipes/spec/issues/2#issuecomment-10880471.
V/R
Matthew Hudson Website http://www.matthewghudson.com/ | Bloghttp://blog.matthewghudson.com/ | Facebook http://facebook.com/matthewghudson | Google+https://plus.google.com/u/0/103902048207396109122/posts| Twitter http://twitter.com/matthewgh
No, you're right. I do like their "properties" format (object instead of array), but don't think we need to be strictly JSON Schema compatible.
"inputs":{
"id":{
"type":"number",
"description":"Product identifier",
"required":true
},
I do think it would be worth codifying some of the specs in JSON Schema, or some other machine readable description we can use for validation.