Hello Roger, On 2017-04-25 23:40, Roger D Carney wrote:
> Good Afternoon, > > Here is the update draft document. This should include all of the agreed > upon changes from the Chicago meeting (biggest change was the > simplification of the <check> call). Thanks for this new version. Here are a couple of comments/corrections/suggestions: * Typo (messed up quotes) in the XSD for this "minOccurs" attribute: <element name="command" type="fee:commandType" minOccurs=""1" "maxOccurs="unbounded" /> * Typos: "elelment", "objectCheckTpye" * The attribute "name" in commandType should really be mandatory, but is currently optional due to the default minOccurs=0 for XML attributes. I don't see a use case for a nameless command, and the text seems to assume that a name is always present. * The semantics of the <cd> element's "avail" attribute in conjunction with the fees and/or reasons of nested <command> elements seem unclear. Take the following <check> for example: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <command> <check> <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:name>example.tld</domain:name> </domain:check> </check> <extension> <fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.17"> <fee:currency>EUR</fee:currency> <fee:command name="create"/> </fee:check> </extension> <clTRID>e1f8b4cd61f84469436bf16585f976b3</clTRID> </command> </epp> Since no phase/subphase is specified, the draft calls for returning data for "all valid server combinations of currently active phase(s) and active subphase(s)" for the "create" operation. The period defaults to 1. A possible response is: <?xml version="1.0" encoding="UTF-8"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> <domain:cd> <domain:name avail="true">example.tld</domain:name> </domain:cd> </domain:chkData> </resData> <extension> <chkData xmlns="urn:ietf:params:xml:ns:fee-0.17"> <currency>EUR</currency> <cd avail="???"> <objID>example.tld</objID> <command name="create" phase="open"> <period unit="y">1</period> <fee applied="immediate" description="domain creation in phase 'open'" grace-period="PT1M" refundable="true">60.00</fee> </command> <command name="create" phase="custom" subphase="defensive"> <period unit="y">1</period> <fee applied="immediate" description="domain creation in phase 'defensive-registration'" grace-period="PT1M" refundable="true">30.00</fee> </command> <command name="create" phase="custom" subphase="promotion"> <reason>domain name not available as a promotion name</reason> </command> </cd> </chkData> </extension> <trID> <clTRID>e1f8b4cd61f84469436bf16585f976b3</clTRID> <svTRID>1493309414927-16</svTRID> </trID> </response> </epp> In this example, there are three active phases: * example.tld is available in phase "open" for 60.00 EUR per year * example.tld is available in phase "defensive" for 30.00 EUR per year * example.tld is not available in phase "promotion" since the name is not part of that promotion phase For this example, should the <cd> element carry avail="false" or avail="true"? Turns out that both options are not OK since: "If the "avail" attribute of the <fee:cd> element is false, then the <fee:command> element MUST NOT contain any <fee:fee> or <fee:credit> child elements. If the "avail" attribute is true, then the <fee:command> element MUST NOT contain a <fee:reason> element." However, mixed cases like the above (with some phases permitting a name and other phases not allowing it) are not unlikely in real life. Now, according to the draft's wording "the server MAY eliminate some or all of the <fee:command> element(s)" the server's only option here is to either eliminate the commands with the <reason> element (and set avail="true") or eliminate the commands with fee information (and set avail="false"), but it doesn't seem prudent to withhold useful information that has probably already been computed. This wording also leaves too much room for interpretation, leading to uncertainty about what to expect on the client side. I'd therefore suggest to move the "avail" attribute back to the <command> level and allowing mixed results like the above. The avail attribute on the <cd> may be retained, but should probably only be false if no fees whatsoever could be assessed for any possible combination of phases/subphase for a name. Best regards, Thomas -- TANGO REGISTRY SERVICES® is a product of: Knipp Medien und Kommunikation GmbH Technologiepark Phone: +49 231 9703-222 Martin-Schmeisser-Weg 9 Fax: +49 231 9703-200 D-44227 Dortmund E-Mail: supp...@tango-rs.com Germany _______________________________________________ regext mailing list regext@ietf.org https://www.ietf.org/mailman/listinfo/regext