Re: [apps-discuss] Last Call: <draft-ietf-appsawg-http-problem-01.txt> (Problem Details for HTTP APIs) to Proposed Standard

Erik Wilde <erik.wilde@dret.net> Fri, 04 December 2015 14:06 UTC

Return-Path: <erik.wilde@dret.net>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B4871B31CF; Fri, 4 Dec 2015 06:06:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
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 8aLNISSc6dts; Fri, 4 Dec 2015 06:06:33 -0800 (PST)
Received: from cm01fe.ist.berkeley.edu (cm01fe.ist.berkeley.edu [169.229.218.142]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 579A61B31C6; Fri, 4 Dec 2015 06:06:33 -0800 (PST)
Received: from 46-126-159-4.dynamic.hispeed.ch ([46.126.159.4] helo=dretair11.local) by cm01fe.ist.berkeley.edu with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (auth plain:dret@berkeley.edu) (envelope-from <erik.wilde@dret.net>) id 1a4r0G-0007Dl-4s; Fri, 04 Dec 2015 06:06:32 -0800
Subject: Re: [apps-discuss] Last Call: <draft-ietf-appsawg-http-problem-01.txt> (Problem Details for HTTP APIs) to Proposed Standard
To: Julian Reschke <julian.reschke@greenbytes.de>, ietf@ietf.org
References: <20151120205655.17511.99851.idtracker@ietfa.amsl.com> <565588D8.50402@greenbytes.de>
From: Erik Wilde <erik.wilde@dret.net>
Message-ID: <56619DDF.3090002@dret.net>
Date: Fri, 04 Dec 2015 15:06:23 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
MIME-Version: 1.0
In-Reply-To: <565588D8.50402@greenbytes.de>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/ietf/MvD7nIxDVj_SyzPjeaUvnLkjmhQ>
Cc: appsawg-chairs@ietf.org, draft-ietf-appsawg-http-problem@ietf.org, apps-discuss@ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Dec 2015 14:06:36 -0000

On 2015-11-25 11:09, Julian Reschke wrote:
> I don't believe that all of my WGLC feedback from December 2014 has been
> addressed (and that includes subjects on where we agreed on changes).
> See
> <http://www.ietf.org/mail-archive/web/apps-discuss/current/msg13453.html>.

quoting from this message, these changes should address your issues:

> 2) The spec talks about using Accept to instruct the server whether to return problem details or HTML. Maybe it would be worthwhile to mention that if you use XML, you could *always* send problem details, and then use <http://www.w3.org/TR/xml-stylesheet/> to instruct the UA to convert to HTML; that would get rid of the conneg complexity.

https://github.com/dret/I-D-1/commit/6f37bcaca5a5295a76592231a1a614b0f0f76957 
should take care of this. it recommends to use XSLT 1.0.

>>    The data model for problem details is a JSON [RFC7159] object; when
>>    formatted as a JSON document, it uses the "application/problem+json"
>>    media type.  Appendix A defines how to express them in an equivalent
>>    XML format, which uses the "application/problem+xml" media type.
> Why is this an appendix?

i am honestly not sure about this. mark preferred to have it as an 
appendix, and since he is the main author, that's where it ended up.

>>    The OPTIONAL RELAX NG schema [ISO-19757-2] for the XML format is:
> What does "OPTIONAL" mean here? The schema doesn't seem optional at all; lacking it, you wouldn't even know what XML namespace to use.

the idea was to not mandate that people use RELAX NG. we picked RELAX NG 
because it's easier to read than XSD, but the idea is that there should 
be no normative schema because schemas never completely capture what's 
in a spec. i agree that the term "OPTIONAL" may be a bit confusing here, 
though, so i rephrased that section a bit.

https://github.com/dret/I-D-1/commit/46b02840131147b75795d64baa09ac1004e5e132

>>    default namespace ns = "urn:ietf:rfc:XXXX"
> This needs to state that it will be updated based on the assigned RFC number.

https://github.com/mnot/I-D/blob/gh-pages/http-problem/draft-ietf-appsawg-http-problem-02.txt#L29 
takes care of that.

>>    Extension arrays and objects can be serialized into the XML format by
>>    considering an element containing a child or children to represent an
>>    object, except for elements that contain only child element(s) named
>>    'i', which are considered arrays.  For example, an alternate version
>>    of the example above would appear in XML as:
> This is written like guidance, but it's normative, right?

yes, these are the rules how it has to be done. does this rephrasing 
work for you?

https://github.com/dret/I-D-1/commit/eac63fbd5659b89ac2a408987368f4e21030382e

>>      <instance>
>>        http://example.net/account/12345/msgs/abc
>>      </instance>
> It would be good to point out that due to the type definitions in the schema, the whitespace inside <instance> is ignorable.

that may be more complicated and potentially confusing than to simply 
fix the XML to not contain whitespace, right?

https://github.com/dret/I-D-1/commit/69c39606c4087c53710695124cdb9020a5438ac3

https://github.com/mnot/I-D/pull/165 is where all the commits live for 
now, i hope they are addressing all of your issues?

thanks and cheers,

dret.

-- 
erik wilde | mailto:erik.wilde@dret.net |
            | http://dret.net/netdret    |
            | http://twitter.com/dret    |