Re: [regext] Extension Prefixes, JSON Values, and URI Path Segments

"Gould, James" <jgould@verisign.com> Fri, 27 May 2022 14:25 UTC

Return-Path: <jgould@verisign.com>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3C7CC19E867 for <regext@ietfa.amsl.com>; Fri, 27 May 2022 07:25:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.099
X-Spam-Level:
X-Spam-Status: No, score=-7.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=verisign.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p4GOOe4aOkKY for <regext@ietfa.amsl.com>; Fri, 27 May 2022 07:25:18 -0700 (PDT)
Received: from mail4.verisign.com (mail4.verisign.com [69.58.187.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 30C77C28E0CC for <regext@ietf.org>; Fri, 27 May 2022 07:25:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=verisign.com; l=7472; q=dns/txt; s=VRSN; t=1653661518; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=y93LeL52RvRF7D4aHXX4m/JbdNs73i77RZXAHqH7lKo=; b=iPMZ1mNmtA58DHHTseM6uQSTXrpMBJqZKxHA4z0+V/nDIkEoe+IPu6bF +RTIs8RP+5fg4f0XYN22Wy+wf5aeoPrCNX6V/FzlLr3QgPKharO3sLdks x2bFFuCJUtf6EXjAMd/UTMFjPgYHQGqQD4voxGULpWKmF/3RTT+Y+ibj3 /5YhDKeDLHmGadXk9lRFiQQEyPyiSuUlKHFURE5f1e15FTAUKfoKfHhdv G6k1kAn9Kfr/31D5RKL82XvTT8WGEcOtNppZ8+yB2z4dABu8wE5seoX75 ZqUgjoVN7l0/ZSLbr5XTCb36lb7Wv4yiLlMMG6gO/7plJE6zyvLuYhDf5 Q==;
IronPort-Data: A9a23:rwTIBqsRexyJpezowtoWHxkCS+fnVBVfMUV32f8akzHdYApBsoF/q tZmKWCHbK3YM2XzLd8kPduw8U1Vv8PcytI2TQBlrC5mESpA9ZOVVN+UEBz9bniYRiHhoOCLz O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfld4YQL9EngZqTVMEU/Nsjo+3b9g6mJUqYLhWVnV5 Imt+5e31GKNgFaYDEpFs8pvlzsy5JweiBtA1rDpTakW1LN2vyB94KM3fcldHVOhKmVnNrfSq 9L48V2M1jixEyEFUYr5z+mhIiXmdZaJVeSGoiI+t6GK3EAe9nRqukoxHKJ0hUx/011lkz3to TnkWFPZpQoBZ8XxdOohvxZwFwZFJrJ9oIf8O2GxsMGiy2brclT+6qA7ZK02FdVwFudfK1tor MM+BQBVN1adjOWs2PSyRq9ynN8lasLsOevzuFk5lXeAUq1gGM2YBfmajTNb9G5YasRmH/nZe s4VQSRidhXbYhJJfFwQDfrSmc/x2imuKm0G8zp5o4IVu3CP6g9p+YSyPfraePiVRegSvWOx8 zeuE2PRR0ty2Mak4T+M6HOrwOvIky3hVY4VPLy56rhhhkfVx3B7IAcbWlarvdG4h1KwHdVFJ CQpFjEGp7I0rVOtQ8mlBlijvmTCux8HHtBXVecg7ljL1LDP5UCSAW1soiN9VeHKffQeHVQCv mJlVfuwbdCzmNV5kU6gy4o=
IronPort-HdrOrdr: A9a23:B9qpmKrhoxYDyx9/zS1P1/saV5r2eYIsimQD101hICG9Ffbo8v xG/c5rtyMc5wxwZJhNo7690cq7Lk80nKQdibX5Vo3SPzUO1lHIEKhSqaXvxDH6EzDz+6p3xc 5bH5RWOZnVAUJhhcj3pCu1A78bquWvweSNif3Fx3lgCTt2bbpthj0VNi+AHlZoSBJ9CZ01KZ qZ6qN8zAadRQ==
X-IronPort-AV: E=Sophos;i="5.91,255,1647316800"; d="scan'208";a="14891863"
Received: from BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) by BRN1WNEX01.vcorp.ad.vrsn.com (10.173.153.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.24; Fri, 27 May 2022 10:25:16 -0400
Received: from BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) by BRN1WNEX01.vcorp.ad.vrsn.com ([10.173.153.48]) with mapi id 15.01.2375.024; Fri, 27 May 2022 10:25:16 -0400
From: "Gould, James" <jgould@verisign.com>
To: "mario.loffredo@iit.cnr.it" <mario.loffredo@iit.cnr.it>, "Hollenbeck, Scott" <shollenbeck@verisign.com>, "regext@ietf.org" <regext@ietf.org>
Thread-Topic: Re: [regext] Extension Prefixes, JSON Values, and URI Path Segments
Thread-Index: AQHYcdWVZarGPyHyAkuPFnBkUqQg+g==
Date: Fri, 27 May 2022 14:25:16 +0000
Message-ID: <CA0CA8B0-8AA1-427A-8D9A-506189574367@verisign.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.59.22031300
x-originating-ip: [10.170.148.18]
Content-Type: text/plain; charset="utf-8"
Content-ID: <BBB5A0F5333A1E4B9FB451AB45C22933@verisign.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/kLhHjivCb2vx-2zcp8u-CVXXMZo>
Subject: Re: [regext] Extension Prefixes, JSON Values, and URI Path Segments
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 May 2022 14:25:23 -0000

Mario,

    [ML] My only objection to Approach C is that every new version would 
    result in registering a new extension identifier. I would opt for a less 
    verbose solution, if any.

I'm not aware of the plan for new versions of the existing extensions, so I don't view it as a scalability issue.  While an extension is an Internet Draft, the pointed versions will not be registered until the draft becomes an RFC.  This is similar to what happens with the EPP extensions, where pre-RFC implementers can use the pointed version contained in the draft for signaling that will eventually become a full registered version (e.g., "0_N" becoming "1" or "1_N" becoming "2") in the registry.  When there are multiple versions of an extension, I believe it is important to capture those versions in the RDAP Extension Registry with a link to the associated specification.  Mixing versioning with the prefixes I believe is unnecessary and brittle, so I don't support Approach A.  Approach B provides the flexibility to define the full RDAP Conformance version in the specification, so it supports versioning without the brittle side effects, but I view Approach C as being better since the versioning is more explicit in the registry.  If there is the risk of an overload of versions in the registry, then I would agree with the concern of Approach C, but I don't believe that risk exists.         

-- 
 
JG



James Gould
Fellow Engineer
jgould@Verisign.com <applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/jgould@Verisign.com>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com <http://verisigninc.com/>

On 5/27/22, 10:10 AM, "Mario Loffredo" <mario.loffredo@iit.cnr.it> wrote:

    Hi james,

    my comment inline.

    Il 27/05/2022 14:43, Gould, James ha scritto:
    > Mario,
    >
    > Thank you for providing an example of the complexity of versioning that is associated with tightly coupling the RDAP compliance value with the set of prefixes.  Unfortunately, RDAP doesn't include the same sort of version negotiation that exists in EPP with the use of XML namespace URIs in the greeting and login services.  I view the RDAP Conformance being closer to the EPP greeting services.  I'll continue down the EPP line of discussion, where EPP leverages the XML namespace URIs for versioning that is tied to XML schemas and leverages XML namespace prefixes for grouping of the XML elements.  EPP explicitly requires the use of a namespace-aware XML parser, which enables the use of any XML namespace prefix.  There is no direct tie in the RFCs to the specific XML namespace prefix to use that is linked with the versioned XML namespace URIs.
    [ML] Agreed. I only meant to make WG see things from a different angle 
    beyond the considerations based on what RFCs currently permit presenting 
    what could be the operational consequences of opting for Approach A.
    >    
    >
    > REST and JSON is schema-less, so are we attempting to bring in XML concepts into REST and JSON with the tight coupling of extension RDAP conformance values and the extension elements?
    [ML] Clearly stated that we shouldn't. But what is most important,
    > Approach C that is currently implemented in draft-ietf-regext-rdap-redacted includes the registration of a full versioned identifier for the RDAP Conformance, with "redacted_level_0_3" and the registration of the prefix "redacted" to ensure uniqueness with other extensions.  The "redacted" prefix looks a lot like "redacted_level_0_3", but that is not required.  The tie between the tie is based on the use of the same "Published specification" value in the RDAP Extension Registry.  I haven't heard of a concrete case to help the client out by having the RDAP Conformance value match the prefix with the optional support for versioning in both.  An extension should be additive, and the client would first key off the set of versioned RDAP conformance values, to determine what is supported based on what is defined in the specification.  We have no equivalent of an XML schema, and I don't believe we should attempt to model that in RDAP.
    [ML] Me too.
    > I view attempting to model XML schemas with predefined XML prefixes as brittle and unneeded.
    [ML] Fully agreed. I'd also say "unpractical" as it would reduce the 
    benefits from using REST and JSON.
    > Enable true versioning in the RDAP conformance and enable prefixes to be independently registered in the RDAP Extension Registry without any predefined linkage.

    [ML] My only objection to Approach C is that every new version would 
    result in registering a new extension identifier. I would opt for a less 
    verbose solution, if any.

    Summarizing, I'm OK with either approach B or C.


    Best,

    Mario

    >   
    >
    > Thanks,
    >
    -- 
    Dr. Mario Loffredo
    Technological Unit “Digital Innovation”
    Institute of Informatics and Telematics (IIT)
    National Research Council (CNR)
    via G. Moruzzi 1, I-56124 PISA, Italy
    Phone: +39.0503153497
    Web: http://secure-web.cisco.com/16t5sBrz_iAuxdO4FzKpp7t63WvEdOI56N9ldgS_C5bon4NCc-fivU9_kFZf8_evpDmkcPCcQiuBoJ7ofMrxCHVesyRtQIvx85qEcFV0qX_2PuNNpIb30pT3SRzrneNKg75w7-OAskVaeHoaFH9yk1uOXj-IB65xr1AE0B_z08bGMucXu9VhZ-ghBF2wZjUuw9-C2po2YN2kn9i4nBpQQqX0Kc1A-h2sVt4NJuokO7CbStWfhVUom1hVeNIZuUWn3/http%3A%2F%2Fwww.iit.cnr.it%2Fmario.loffredo