Skip to content

Roadmap

fge edited this page Sep 2, 2012 · 127 revisions

In 1.1

Not decided yet...

Candidate features

Not necessarily in order!

Nicer user API

Right now, the user API is rather messy, with plenty of methods named *Schema(), not all of which actually return a JsonSchema instance.

Find better names.

Android support

Android is a platform with many potential uses for such a library. Check compatibility, and see the cost to make the library fully compatible.

Accepting input from other JSON libraries

Jackson is the library to use for anyone wanting to do JSON in Java, but there are plenty others. Design an interface of some sort so that people can transform their existing JSON data to JsonNode.

Probably required for Android support...

Make some errors fatal

Example: in disallow, an unreachable $ref is encountered. This is normally an error, but the semantics of disallow, and the current implementation for that matter, may let this pass silently.

Try and make that a (controllable?) fatal error.

Untangle the type/disallow/extends/dependencies mess

These 4 keywords can potentially spawn other validators from within themselves. The draft is written like this... Try and find a more generic way to spawn validators: array and object validation in general also spawn validators.

This potentially requires a complete change of the internals. Also, there is the difficuly that we want to keep the "keyword validators built by reflection" feature, which is the accelerating feature of this library.

Improving performance of SchemaNode

Try and find a way to uniquely identify a node spawned from a schema using two strings: the locator of the container schema, and the path of that node into said schema. The difficulty comes from the fact that schema nodes spawned by object and array validation may not actually be proper paths into the schema.

When that info is available, it could be added into the validation message information as well.

Clone this wiki locally