It seems that there are two camps:

        1) those that want the tree-diagrams to be as DRY as possible
        2) those that want the tree-diagrams to be as WET as possible

                DRY = Don't Repeat Yourself
                WET = Write Every Time

Tooling can help both cases.

For (1), the tree-diagrams are unexpanded, but surrounding text should point to 
where each used-grouping is defined.   The better tooling-assisted approach, is 
for the used groupings *inside the tree-diagram” to become hyperlinks (only 
possible in supporting formats).   Extending this idea further, hyperlinks 
could be provided for typedefs and identities too.

For (2), for plain-text and PDF formats, a link to where the image can be 
accessed would be nice.  For the HTML format, inlining the complete (unfolded) 
tree-diagram with horizontal-scrolling would be ideal.

Kent


> On Mar 5, 2024, at 3:01 AM, [email protected] wrote:
> 
> Hi Italo,
>  
> Thanks for sharing your thoughts.
>  
> Please see inline.
>  
> Cheers,
> Med
>  
> De : Italo Busi <[email protected] <mailto:[email protected]>>
> Envoyé : lundi 4 mars 2024 19:38
> À : Qin Wu <[email protected] <mailto:[email protected]>>; Mahesh 
> Jethanandani <[email protected] <mailto:[email protected]>>; 
> BOUCADAIR Mohamed INNOV/NET <[email protected] 
> <mailto:[email protected]>>
> Cc : [email protected] <mailto:[email protected]>
> Objet : RE: [netmod] Long trees RE: Next steps for 
> draft-ietf-netmod-rfc8407bis
>  
> Hi Med,
>  
> In my personal experience, I have found the YANG tree included in the IETF 
> RFCs/I-Ds useful only when they are complete, even if they are too long
> [Med] I agree that having readily available full trees is useful, however the 
> question is whether it should be embedded in the RFC text or would having 
> stable links to access such trees be much more convenient? Note also that 
> when the tree is too long, there are better places to display them for better 
> user experience (control views, etc.), which we don’t have with the txt 
> version.
>  
> In RFC8795 you can find an example of a too-long YANG tree which I am using 
> quite often
>  
> [Med] If the Datatracker includes a link to the tree or 8795 includes a 
> stable pointer to the full tree without the editing limitations of IETF docs, 
> the experience would be the same, if not better. No?
>  
>  
> I have found YANG trees with unexpanded grouping almost impossible to use. In 
> draft-ietf-teas-yang-te you can find an example of a YANG tree with 
> unexpanded grouping which I am not using at all. In this case, I refer to the 
> YANG catalog to get the complete tree
>  
> [Med] ACK.
>  
> I have also found the YANG tree pieces almost useless (even if much better 
> than the YANG trees with unexpanded grouping) without some overview.
>  
> [Med] Not having an overview to describe the overall structure and help 
> readers navigate among all the various levels is a bug of these specs, IMO. 
> The narrative part of the spec is supposed to help readers digest the 
> structure and zoom in/out when diving into specifics. I think that we need 
> collectively to better explain the rationale of a module design and 
> articulating the various parts of a module. The use of subtrees for too long 
> trees is a means to help structure the description sections.
>  
> RFC8348 is an example of YANG tree pieces which I am using very rarely. In 
> most of the cases, I refer to the YANG catalog to get the complete tree
> [Med] ACK.
>  
> I am wondering whether the issue of YANG tree too-long could be resolved by 
> updating the IETF tooling. For example, I have noted that the html-ized 
> version of the I-Ds is now working well with artwork exceeding the 72 
> characters limit …
>  
> Maybe the html or html-ized version of the I-D/RFC might include the jstree 
> pyang output instead of the tree pyang output
>  
> [Med] Fully agree that tooling is the way to go here. Having a stable pointer 
> to the tree (including displaying it from the Datatracker metadata) would 
> achieve that objective.
>  
> Back to the txt version, here is an updated version of the reco (for further 
> discussion):
>  
> ==
> NEW:
>    YANG tree diagrams provide a concise representation of a YANG module
>    and SHOULD be included to help readers understand YANG module
>    structure.  If the complete tree diagram for a module becomes long
>    (more than 2 pages, typically), the diagram SHOULD be split into
>    several smaller diagrams (a.k.a subtrees).  For the reader's
>    convenience, a subtree should fit within a page.  If the complete
>    tree diagram is too long (more than 5 pages, typically) even with
>    groupings unexpanded (Section 2.2 of [RFC8340]), the authors SHOULD
>    NOT include it in the document.  A stable pointer to retrieve the
>    full tree MAY be included.
>  
>    The document SHOULD include the following note if the full tree is
>    not included:
>  
>       -- If no stable pointer to retrieve the tree is included
>  
>       The full tree diagram of the module can be generated using,
>       e.g., the "pyang" tool. That tree is not included here because
>       it is too long (Section 3.4 of [RFCXXXX]). Instead, subtrees
>       are provided for the reader's convenience.
>  
>       -- If a stable pointer to retrieve the tree is included
>  
>       The full tree diagram of the module can be retrieved at
>       <stable_url_ref>. That tree is not included here because it is too
>       long (Section 3.4 of [RFCXXXX]). Instead, subtrees are provided
>       for the reader's convenience.
>  
>    These guidelines take precedence over the generic guidance in
>    Section 3 of [RFC8340].
> ==
>  
> My 2 cents
>  
> Italo
>  
> From: Qin Wu <[email protected] <mailto:[email protected]>>
> Sent: giovedì 29 febbraio 2024 02:51
> To: Mahesh Jethanandani <[email protected] 
> <mailto:[email protected]>>; [email protected] 
> <mailto:[email protected]>
> Cc: [email protected] <mailto:[email protected]>
> Subject: Re: [netmod] Long trees RE: Next steps for 
> draft-ietf-netmod-rfc8407bis
>  
> +1,  a few thoughts to share.
>  
> I know this is tricky question related to tooling or artifact generation and 
> representation.
> I am wondering whether we can make YANG tree diagram in a "collapsed" state 
> where all the Leaf nodes and only leaf nodes are hidden from view until its 
> parent node is expanded, which can improve readability of the tree diagram,
> In many cases can greatly reduce the size of YANG tree diagram, make it fit 
> into one page.
>  
> Moving compete tree diagram or artifacts is another option we can pursue. 
> Also generating YANG tree along with YANG file 
> inhttps://github.com/YangModels/yang/tree/main/standard/ietf
> Is another option we can take a look at.
>  
> -Qin
> 发件人: netmod [mailto:[email protected]] 代表 Mahesh Jethanandani
> 发送时间: 2024年2月29日 7:02
> 收件人: [email protected] <mailto:[email protected]>
> 抄送: [email protected] <mailto:[email protected]>
> 主题: Re: [netmod] Long trees RE: Next steps for draft-ietf-netmod-rfc8407bis
>  
> I would agree with Andy that it is not clear how long is “too long”. 
>  
> BGP YANG model, which is perhaps one of the biggest models at 150 pages long, 
> has multiple tree diagrams none of which are more than one page long.
>  
> If the complete tree diagram is too long, could it moved to the Appendix, 
> instead of banishing it from the document completely? Sorry Jan, but I hope 
> no one is cutting down trees to read the entire tree diagram. Sometimes, 
> albeit rarely, it is helpful to have the complete tree diagram handy to 
> reference where a particular node is in the tree.
>  
> Cheers.
>  
> 
> On Feb 28, 2024, at 8:29 AM, [email protected] 
> <mailto:[email protected]> wrote:
>  
> Hi Jan,
>  
> Thanks for the comments.
>  
> Here is a first attempt to address the long trees point while taking into 
> account expanded/unexpanded uses:
>  
> NEW:
>    YANG tree diagrams provide a concise representation of a YANG module
>    and SHOULD be included to help readers understand YANG module
>    structure.  If the complete tree diagram for a module becomes too
>    long, the diagram SHOULD be split into several smaller diagrams.  If
>    the complete tree diagram is too long even with groupings unexpanded
>    (Section 2.2 of [RFC8340]), authors SHOULD NOT include it in the
>    document.
>  
>    These guidelines take precedence over the generic guidance in
>    Section 3 of [RFC8340].
>  
> For convenience a diff for the proposed change can be 
> seenhttps://author-tools.ietf.org/api/iddiff?url_1=https://boucadair.github.io/rfc8407bis/draft-ietf-netmod-rfc8407bis.txt&url_2=https://boucadair.github.io/rfc8407bis/long-trees/draft-ietf-netmod-rfc8407bis.txt
>  
> Cheers,
> Med
>  
> De : Jan Lindblad <[email protected] <mailto:[email protected]>> 
> Envoyé : mercredi 28 février 2024 15:21
> À : BOUCADAIR Mohamed INNOV/NET <[email protected] 
> <mailto:[email protected]>>
> Cc : [email protected] <mailto:[email protected]>
> Objet : Re: [netmod] Next steps for draft-ietf-netmod-rfc8407bis
>  
> Med, author team,
>  
> Thank you for taking the time to get this work done, and well done! This is 
> one of those fundamental bricks that saves time and improves quality for the 
> entire YANG community.
>  
> I read the -09 version and like what I see. I have a couple of minor 
> suggestions you might consider.
>  
> + In section 3.4 about tree diagrams, the section text is already advocating 
> intermixing smaller tree snippets with explanations (which is great), but I 
> wish we could say that 
> tree diagrams of entire modules SHOULD NOT be included. Just a waste of 
> forest and attention span, imho.
>  
> + In section 4.2 about choice of prefixes, it is said that "Prefix values 
> SHOULD be short but are also likely to be unique." I used to say the same 
> thing. In recent years, however, I have started to stress the importance of 
> uniqueness much more. I'd say something like "Prefix values SHOULD be 
> selected carefully to be unique, and ideally not too long." The reason for my 
> change is I have met several engineers who have been deeply confused (to the 
> point of costing real money) when the same prefix has shown up in multiple 
> places. It's just an unnecessary part of the learning curve associated with 
> YANG.
>  
> In fact, I have started to recommend people to set the prefix to equal the 
> module name. This also solves another problem, which is that the "prefixes" 
> you see in RESTCONF are module names, and the confusion of what to use where 
> is sometimes suffocating. I understand if many think I'm going overboard 
> here, but when we pretend that modules don't have prefixes, only module 
> names, there is a lot less friction in learning the ropes.
>  
> + In section 4.6.2 regarding useless (in YANG Context) functions in the XPath 
> function library, it is said that the "YANG compiler" should return false, 
> etc. Better wording might be that the XPath execution environment (or 
> something) should return false, etc. The YANG compiler is not even running 
> when the calls to those functions are happening.
>  
> + In section 4.11.5 regarding booleans, it is said that booleans can take 
> values true and false. This is true in mathematics :-) but in YANG a boolean 
> leaf can additionally take the "value" of "not set". Actually, "not set" is a 
> possibility for leafs in general, unless it is declared mandatory true, or 
> has a default. In my experience, one of the most common YANG modeling issues 
> is when people model a leaf foo, which isn't mandatory, has no default and 
> the description statement does not say what happens if the leaf is not set. 
> In many cases, there is a sort of natural meaning, but with booleans leafs in 
> particular, the absence of the leaf is typically highly ambiguous. I think 
> this hole merits a recommendation clause in the I-D.
>  
> Best Regards,
> /jan
>  
>  
>  
> 
> On 28 Feb 2024, at 10:51, [email protected] 
> <mailto:[email protected]> wrote:
>  
> Hi all, 
> 
> I think that this version is ready for the WGLC.
> 
> The document fully covers the items promised when requesting adoption [1]. As 
> listed in the ACK section, we also solicited and integrated feedback from 
> many yangdoctors, solicited SAAG WG to review the security text, etc. Refer 
> to 1.1 for a comprehensive list of the changes.
> 
> Cheers,
> Med
> 
> [1] Slide#7 of 
> https://datatracker.ietf.org/meeting/117/materials/slides-117-netmod-7-guidelines-for-authors-and-reviewers-of-documents-containing-yang-data-models-00
>  
> 
> 
> -----Message d'origine-----
> De : I-D-Announce <[email protected] 
> <mailto:[email protected]>> De la part de
> [email protected] <mailto:[email protected]>
> Envoyé : mercredi 28 février 2024 10:01
> À : [email protected] <mailto:[email protected]>
> Cc : [email protected] <mailto:[email protected]>
> Objet : I-D Action: draft-ietf-netmod-rfc8407bis-09.txt
> 
> Internet-Draft draft-ietf-netmod-rfc8407bis-09.txt is now available.
> It is a work item of the Network Modeling (NETMOD) WG of the IETF.
> 
>   Title:   Guidelines for Authors and Reviewers of Documents
> Containing YANG Data Models
>   Authors: Andy Bierman
>            Mohamed Boucadair
>            Qin Wu
>   Name:    draft-ietf-netmod-rfc8407bis-09.txt
>   Pages:   84
>   Dates:   2024-02-28
> 
> Abstract:
> 
>   This memo provides guidelines for authors and reviewers of
>   specifications containing YANG modules, including IANA-maintained
>   modules.  Recommendations and procedures are defined, which are
>   intended to increase interoperability and usability of Network
>   Configuration Protocol (NETCONF) and RESTCONF protocol
>   implementations that utilize YANG modules.  This document obsoletes
>   RFC 8407.
> 
>   Also, this document updates RFC 8126 by providing additional
>   guidelines for writing the IANA considerations for RFCs that
> specify
>   IANA-maintained modules.
> 
> The IETF datatracker status page for this Internet-Draft is:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdata 
> <https://data/>
> tracker.ietf.org <http://tracker.ietf.org/>%2Fdoc%2Fdraft-ietf-netmod-
> rfc8407bis%2F&data=05%7C02%7Cmohamed.boucadair%40orange.com 
> <http://40orange.com/>%7C51672231
> 30c943a5a4c608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C
> 638447076716455966%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo
> iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=s5VX9Hb%2Fl
> P9v5QurysF69syyEyba9yYss7xd7K5E2FE%3D&reserved=0
> 
> There is also an HTML version available at:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww 
> <https://www/>.
> ietf.org <http://ietf.org/>%2Farchive%2Fid%2Fdraft-ietf-netmod-rfc8407bis-
> 09.html&data=05%7C02%7Cmohamed.boucadair%40orange.com 
> <http://40orange.com/>%7C5167223130c943
> a5a4c608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C638447
> 076716464395%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM
> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2Br3nHahSq8OV24f
> hFxBkJaqY43Q0GUxcbPZSFhji4uk%3D&reserved=0
> 
> A diff from the previous version is available at:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fauth 
> <https://auth/>
> or-tools.ietf.org 
> <http://or-tools.ietf.org/>%2Fiddiff%3Furl2%3Ddraft-ietf-netmod-rfc8407bis-
> 09&data=05%7C02%7Cmohamed.boucadair%40orange.com 
> <http://40orange.com/>%7C5167223130c943a5a4c
> 608dc383bce6b%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C63844707671
> 6470644%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC
> JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=zo%2FrtFJrYJkJXOceIpzR
> mlGAQF2c8m9Z%2F0vShl5o8gQ%3D&reserved=0
> 
> Internet-Drafts are also available by rsync at:
> rsync.ietf.org <http://rsync.ietf.org/>::internet-drafts
> 
> 
> 
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
> ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
> electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou 
> falsifie. Merci.
> 
> This message and its attachments may contain confidential or privileged 
> information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete 
> this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been 
> modified, changed or falsified.
> Thank you.
> 
> _______________________________________________
> netmod mailing list
> [email protected] <mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/netmod
> 
>  
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
> ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
> electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou 
> falsifie. Merci.
>  
> This message and its attachments may contain confidential or privileged 
> information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete 
> this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been 
> modified, changed or falsified.
> Thank you.
> _______________________________________________
> netmod mailing list
> [email protected] <mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/netmod
>  
> 
> Mahesh Jethanandani
> [email protected] <mailto:[email protected]>
>  
>  
>  
>  
> 
>  
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations 
> confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
> ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
> electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou 
> falsifie. Merci.
> 
> This message and its attachments may contain confidential or privileged 
> information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete 
> this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been 
> modified, changed or falsified.
> Thank you.
> _______________________________________________
> netmod mailing list
> [email protected] <mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to