Skip to content

Roadmap

fge edited this page Aug 25, 2012 · 127 revisions

In 1.0

Ability to register format specifiers

This would allow to separate the package cleanly. Formats defined by the draft but which nobody would use anyway could be ousted to a separate project entirely.

In 0.6

Better error messages

Right now, they are poor, to say the least.

Make a structured (JSON based?) validation message class containing all the necessary information.

Strict RFC compliance mode for host-name and email format specifiers

Current versions choose to adopt the users' point of view: emails and hostnames should have a domain part. However, there is no requirement at all in the relevant RFCs that either have one. Introduce the ability to restore RFC compliance.

In 0.5.0

Add namespace support

Add the ability to assign a namespace to a JsonSchemaFactory (via its builder): this would allow to retrieve schemas with relative URIs if need be. The schema registry would still only ever accept absolute URIs.

DONE

Add schema URI "redirections"

That is, allow to tell a schema factory that retrieving a particular URI would silently be redirected to another locator.

That would allow for instance to retrieve schemas bundled by the library, such as the main draft v3 schema, via its URL and have it silently redirected to fetch it from a local resource instead.

ALMOST DONE: internal API is implemented and tested, it now needs to be exposed and tested.

And for the future...

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.

SMILE/BSON support

To be considered... SMILE is a "binary JSON" format, BSON is MongoDB's own JSON representation.

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.

Clone this wiki locally