Re: [netmod] Comments on draft-lhotka-netmod-yang-markup-00

Ladislav Lhotka <lhotka@nic.cz> Fri, 17 March 2017 15:08 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9060512946E for <netmod@ietfa.amsl.com>; Fri, 17 Mar 2017 08:08:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 gAx8EZ3SLxtd for <netmod@ietfa.amsl.com>; Fri, 17 Mar 2017 08:08:56 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 89842129464 for <netmod@ietf.org>; Fri, 17 Mar 2017 08:08:44 -0700 (PDT)
Received: from [IPv6:2001:1488:fffe:6:ffff:ffff:ffff:10] (unknown [IPv6:2001:1488:fffe:6:ffff:ffff:ffff:10]) by mail.nic.cz (Postfix) with ESMTPSA id AEBBF61E3D; Fri, 17 Mar 2017 16:08:42 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1489763322; bh=YXw/AyGKo8LvDEPmEeeG1hAeyR863nJtcfJ4SJ7bWgE=; h=From:Date:To; b=TLfuJrxSD4oswtAz/O1Ix7+POjQGIH3DLvhnE5AdU4+coR1KBwjQsvS8Nvdk6JH/F XqWGEFSTcl4c/ipOFvsr6uVhzmzJ5ud85R6hhR00jS5eT9j7lGf+g3r6eDDIYko2oE H1M4rpy0ZeCQEkzD449XqW4EC1J/LdWHRepxGPx8=
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <18a2e042-919b-9468-2dc8-f751bd924125@cisco.com>
Date: Fri, 17 Mar 2017 16:08:42 +0100
Cc: "netmod@ietf.org" <netmod@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D40AF2AD-B025-4D1C-9B96-E3729D01BD3B@nic.cz>
References: <e17f7458-1192-b0d7-d72d-4f56e4b18386@cisco.com> <EC2B7E9C-E060-4C21-9FC1-FD077B835B73@nic.cz> <18a2e042-919b-9468-2dc8-f751bd924125@cisco.com>
To: Robert Wilton <rwilton@cisco.com>
X-Mailer: Apple Mail (2.3259)
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/H-L_cO7gLUK_ABBsMvsSa9AJ6o4>
Subject: Re: [netmod] Comments on draft-lhotka-netmod-yang-markup-00
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Mar 2017 15:08:59 -0000

> On 17 Mar 2017, at 15:11, Robert Wilton <rwilton@cisco.com> wrote:
> 
> 
> 
> On 17/03/2017 12:55, Ladislav Lhotka wrote:
>> Hi Rob,
>> 
>> thank you for reading the draft.
>> 
>>> On 17 Mar 2017, at 13:30, Robert Wilton <rwilton@cisco.com> wrote:
>>> 
>>> Hi Lada,
>>> 
>>> I've had a quick scan of your YANG markup extension draft and I have a few comments:
>>> 
>>> Allowing description, and similar descriptive statements, to use something other than text seems like it could be useful in some cases.
>>> 
>>> I'm not sure that allowing the statements to use any text-like media type is a good idea, this could increase the burden on tool makers if each module author chooses their own preferred format.
>>> 
>>> Instead, I think that it might be better to restrict it to a very small set of media types, that could be extended in future.  I would think that initially just allowing plain text and one particular flavour of markdown would be a reasonable starting point.
>> I agree although I am not sure that we can easily find an agreement on the particular flavour. So maybe we can leave it open and let the "market" decide.
> I think that would be a mistake.  How would device/tools vendors know which versions to spend time implementing?

I would agree to have a fixed choice in 6087bis, but there may be niche communities or special cases that need something else, so YANG IMO shouldn't preclude it a priori.

> 
>> 
>>> I think that the only formats that should be allowed are those that are still readily readable as plain text, so that tools that don't want to parse the formatted text can still sensibly display the descriptive statements.  I.e. I don't think that it would be helpful to allow things like text/xml since it isn't easy to read.
>> Sure, and the draft says:
>> 
>>    It is RECOMMENDED to use only media types representing "lightweight"
>>    markup that is easy to read even in the unprocessed source form, such
>>    as "text/markdown".
> I was proposing REQUIRED instead of RECOMMENDED. 

I usually write my modules in the YIN format with a very restricted set of HTML tags that are used in the text arguments:

https://gitlab.labs.nic.cz/labs/yang-tools/wikis/editing_yang#yin-schema-extensions

It would be useful to indicate "text/html" media type, and a YIN->YANG convertor could translate it e.g. to "text/markdown".

> 
>> 
>>> Allowing this extension on particular descriptive statements may also be helpful.  It seems plausible that the vast majority of these statements in a module might just be written in plain text with just a few of them using more advanced formatting like markdown.
>> Yes, I was thinking about this. On the other hand, plain text is typically compatible with any markup format, so this would probably be useful only if somebody wanted to use multiple different markup formats in the same module, which sounds crazy. But we can discuss it.
> I was only thinking of a mix of some plain text descriptions and some using markup.
> 
> Tooling may choose to format raw text differently from markup text (e.g. converting lines into a paragraph).  Also a markup processor would be extra work, and may not warn or error on the structure of a plain text description that doesn't conform to the markup rules.

Actually, the design philosophy behind markdown is that there is no formal concept of validity and so processors should never complain.

On the other hand, it is conceivable that some descriptions may use a more specialized format. For example, we could use a media type (variant) for the top-level "contact" statements that we include in modules, and tools could then more easily extract this metadata.

So maybe we could really permit the "text-media-type" extension anywhere and apply some natural scoping rules.

Lada

> 
>> 
>>> Finally, I have a concern that if more structured formatting in the comments is used then would that encourage model writers to produce more verbose comments, and if so that might possibly reduce the readability of the modules.  Although, I guess ultimately one has to trust the model writers to do the right thing.
>> Well, this draft doesn't permit anything above what module writers can do already now - the descriptions etc. have to be valid YANG strings as before. The only new thing is a piece of metadata that may be helpful for some tools but that can also be safely ignored.
> Thanks,
> Rob
> 
>> 
>> Thanks, Lada
>> 
>>> Thanks,
>>> Rob
>>> 
>> --
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>> 
>> 
>> 
>> 
>> 
>> .

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67