Re: [Testdev] [model-test] referencing external schema

Okay.  We have two strategies in mind:

1) have a top level definitions folder, then use absolute URIs (e.g.,
/annotation-model/definitions/my_def.json)
2) have that top level folder, and have ajv automatically import all of the
.json files in that folder during initialization.

Would either of those work for you Tim?


On Wed, Jun 8, 2016 at 2:50 PM, Timothy Cole <t-cole3@illinois.edu> wrote:

> Yes. I actually had created the definitions folder before I realized
> relative addressing wasn't working.  I'm in the process of creating some
> better examples of re-useable definitions – the samples I included in my
> email are out of date and will be replaced.
>
>
>
> Thanks,
>
>
>
> Tim Cole
>
>
>
>
>
> *From:* Testdev [mailto:testdev-bounces@lists.spec-ops.io] *On Behalf Of *Benjamin
> Young
> *Sent:* Wednesday, June 08, 2016 2:26 PM
>
> *To:* Discussions about Test Development <testdev@lists.spec-ops.io>
> *Cc:* W3C Public Annotation List <public-annotation@w3.org>
> *Subject:* Re: [Testdev] [model-test] referencing external schema
>
>
>
> Hey Tim,
>
>
>
> Sorry for the wait. Shane and I just chatted about this $ref thing and I
> think we can make it work in WPT. It’s mostly a question of what the
> relative path expectations of `ajv` tucked inside of WPT might be.
>
>
>
> It looks like we may also be able to hack around the defaults (if need be)
> using wptserve’s Pipes system:
>
> https://wptserve.readthedocs.io/en/latest/pipes.html
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__wptserve.readthedocs.io_en_latest_pipes.html&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=yKFYr73mCj5fVvAFd-pW7tFFDalI4fVfaycO-20g66Q&e=>
>
>
>
> What we’re thinking right now is taking the JSON objects you now have in
> the `definitions` object (which you pasted below) and putting those inside
> of a `definitions` folder and then working through the relative path
> details with WPT.
>
>
>
> Would that serve as a solution for what you’re attempting here?
>
>
>
> Cheers!
>
> Benjamin
>
>
>
> *From:* Testdev [mailto:testdev-bounces@lists.spec-ops.io
> <testdev-bounces@lists.spec-ops.io>] *On Behalf Of *Shane McCarron
> *Sent:* Wednesday, June 8, 2016 10:46 AM
> *To:* Discussions about Test Development <testdev@lists.spec-ops.io>
> *Cc:* W3C Public Annotation List <public-annotation@w3.org>
> *Subject:* Re: [Testdev] [model-test] referencing external schema
>
>
>
> Did you get any traction on this Tim?
>
>
>
> On Thu, Jun 2, 2016 at 10:19 AM, Timothy Cole <t-cole3@illinois.edu>
> wrote:
>
> We are currently developing json schemas to help test for implementations
> of SpecificResource features of the data model.  I've uploaded 4 of the
> schemas currently being developed to
> https://github.com/w3c/web-annotation-tests/tree/master/SpecificResource
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_w3c_web-2Dannotation-2Dtests_tree_master_SpecificResource&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=V_xozOO0wxNGrG964fbg7j8vJDgiNPr-Zf3a3z7cUss&e=>
> (these are first drafts, not quite ready, still being debugged and
> refined). All 4 schemas share a definitions section containing 2
> sub-schemas (appended below).  These are easy to reference internally where
> needed, but it would be even more convenient to reference them as external
> schemas.  This should be possible using $ref, but I've had difficulties
> getting this approach to work with my local ajv instance, especially with
> regard to relative file locations.
>
>
>
> Is anyone familiar enough with how $ref works within the Web Platform
> Testing framework's implementation of ajv to advise?
>
>
>
> Below is the current way the sub-schemas are embedded in each primary
> schema. Obviously this works, but it means repeating the same sub-schemas
> in multiple files, which is obviously less efficient than if these
> sub-schemas could be referenced as individual files.
>
>
>
> Thanks,
>
> Tim Cole
>
>
>
> {
>
>     "definitions": {
>
>         "SpecificResource": {
>
>             "type": "object",
>
>             "properties": {
>
>                 "selector": {},
>
>                 "state": {},
>
>                 "styleClass": {},
>
>                 "renderedVia": {},
>
>                 "scope": {},
>
>                 "purpose": {}
>
>             },
>
>             "anyOf": [
>
>                 {"required": ["selector"]},
>
>                 {"required": ["state"]},
>
>                 {"required": ["styleClass"]},
>
>                 {"required": ["renderedVia"]},
>
>                 {"required": ["scope"]},
>
>                 {
>
>                     "required": ["purpose"],
>
>                     "not": {"required": ["value"]}
>
>                 }
>
>             ]
>
>         },
>
>         "SpecificResType" : {
>
>             "type": "object",
>
>             "properties": {
>
>                 "type": {
>
>                     "oneOf": [
>
>                         {"type": "string",
>
>                          "enum": ["SpecificResource"]},
>
>                         {"type": "array",
>
>                          "items": [{ "type": "string",
>
>                                     "enum": ["SpecificResource"] }]
>
>                         } ]
>
>                 }
>
>             },
>
>            "required": ["type"]
>
>        }
>
>     }
>
> }
>
>
> _______________________________________________
> Testdev mailing list
> Testdev@lists.spec-ops.io
> http://lists.spec-ops.io/listinfo.cgi/testdev-spec-ops.io
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.spec-2Dops.io_listinfo.cgi_testdev-2Dspec-2Dops.io&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=AKojwtr16bHcWXtHtf8ZR9e_-lTF7Oan-BiiKomym3I&e=>
>
>
>
>
>
> --
>
> Shane McCarron
>
> Projects Manager, Spec-Ops
>
> _______________________________________________
> Testdev mailing list
> Testdev@lists.spec-ops.io
> http://lists.spec-ops.io/listinfo.cgi/testdev-spec-ops.io
>
>


-- 
Shane McCarron
Projects Manager, Spec-Ops

Received on Wednesday, 8 June 2016 21:30:35 UTC