[dispatch] JCR proposal for DISPATCH

Andrew Newton <andy@hxr.us> Mon, 12 March 2018 14:13 UTC

Return-Path: <andy@hxr.us>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E9954127369 for <dispatch@ietfa.amsl.com>; Mon, 12 Mar 2018 07:13:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=hxr-us.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ri4Xifqvko_X for <dispatch@ietfa.amsl.com>; Mon, 12 Mar 2018 07:13:29 -0700 (PDT)
Received: from mail-it0-x22a.google.com (mail-it0-x22a.google.com [IPv6:2607:f8b0:4001:c0b::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 55B34126C22 for <dispatch@ietf.org>; Mon, 12 Mar 2018 07:13:29 -0700 (PDT)
Received: by mail-it0-x22a.google.com with SMTP id k135so11347106ite.2 for <dispatch@ietf.org>; Mon, 12 Mar 2018 07:13:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hxr-us.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=1UW2ZNgMXGYorqEfALMKCSirAHSMEnO+ePZs/7mXOcQ=; b=vvLG01sHDeaHwMmVFC4fGCf0TWabHq44c/X37u4ISKEUoDRgB9NL8+r46z9arsHxAN ynOyedhO/pwTFCkOj47XgV7gcBFmxO5Jli4hlF2XEjN18SddDtqDcSwxJBz2enT4L0Uf B9QCEhpZPIXRiFZ4Q0gwEosBYOfREI9ph3lZ8nqPhMZrKUbWClGurYi5Zex9sAD3kzNu G5lYoZ8zS2VNmbQxkkP+Qp5yqKBNABie/9a4mnTWjDERBRCh8ZCnG89JpH8TlyOmdOeb KDYT7T5rupmjZxK6mUeDeUDV0yYKg9ONu1EcGnlKBxSgahFJhoNTQS45/S5k1h3wE7gq Ba4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1UW2ZNgMXGYorqEfALMKCSirAHSMEnO+ePZs/7mXOcQ=; b=Wk7FunBWRShnbQX8jKreeXYVEGx8NeKzS+adeE2FPbvzAtau7gKK1KFBLh7ouWoocy h/XQegXn/LXOs6z2XiDspWMWLGc1j7ErVIXtVvlP2HsWtdqlLtzLbi+CMUSBr4pug+m+ s4svP1IVynlwFDVlP7WSe9k52oPhZHvOQg/ycPsCZFx6NwEcVN55jUfTX6iDfB17m6Ea SqpYLa3VtKxB+mzF3oxEUILf7oVFRGEb+EOMm3IGpCvG3VruoBsWAdgukSZ2A2utFlry TeLH06Z+f9ev3v7ZihbSDTpSmRLbxyMxP4hhy9EiaCaHgQ90Azz2lqG4/dJV62+SuOGr so2g==
X-Gm-Message-State: AElRT7HyXQOzBccTgeDsqgowFpOASlj55Qykbi6Y3a5zaGoUSq2N9Naa lUP4eqPQN1R7fb3qrKLIsnQRSDK2o1y7MCupfmctJEjK
X-Google-Smtp-Source: AG47ELto/uZ5+lIrt5YGjSsPf7lMti0Zj2DVpMALVpqLCwcynAkZfv++n68LDWhrtaWw6oqsNjXZA6uFXH23LoK31DM=
X-Received: by 10.36.98.21 with SMTP id d21mr9079127itc.1.1520864008491; Mon, 12 Mar 2018 07:13:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.200.203 with HTTP; Mon, 12 Mar 2018 07:13:27 -0700 (PDT)
X-Originating-IP: [2001:500:110:802:fd0c:d3c1:d18f:d1b]
From: Andrew Newton <andy@hxr.us>
Date: Mon, 12 Mar 2018 10:13:27 -0400
Message-ID: <CAAQiQReDQ31RVhDLds5j41MTMLDe7cEkZH-tydJCcHJomtogLw@mail.gmail.com>
To: dispatch@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/ePjG55pJ8n9CT7jMVp-aSWogmeY>
Subject: [dispatch] JCR proposal for DISPATCH
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Mar 2018 14:13:31 -0000

Proposed Deliverable for JSON Content Rules (draft-newton-json-content-rules)
=============================================================================

This is a proposal for the progression of the JSON Content Rules (JCR) work
(draft-newton-json-content-rules) via the DISPATCH working group as an AD
sponsored document (in accordance with direction from Alexey Melnikov).

JCR is a data definition language (or schema language) for JSON intended to:

* help specification authors concisely and clearly describe complex JSON data
  structures.

* aid software developers to verify their implementations conform to
  specifications by validating any generated JSON against
  the specified JCR.

* aid software developers by permitting specification of JCR based test sets.

* aid software implementors to resolve interoperability issues.

* facilitate monitoring of JSON based protocols via comparison of observed
  JSON messages against their JCR specification.

One example of interoperability usage is
[NicInfo](https://github.com/arineng/nicinfo), an RDAP client which can use
JCR to help RDAP server operators find compatibility issues.

Based on feedback from many individuals via the GitHub issue tracker,
private email, and the JSON working group (now closed), JCR has evolved to
the point where the authors feel this document can be formally progressed in
the IETF. Additionally the authors have tested many of the ideas present in
JCR with software implementations,
[JCR Validator](https://github.com/arineng/jcrvalidator) being a complete
implementation of the specification.

At present, the authors feel there are only two open issues left:

- a better means for ORing object members and their values
- a more formal method for extension to rules

Link to JCR draft:
https://datatracker.ietf.org/doc/draft-newton-json-content-rules/

Link to JCR for RDAP draft:
https://datatracker.ietf.org/doc/draft-newton-rdap-jcr/