Re: [eppext] EPP service message extension

Michael Holloway <michael.holloway@comlaude.com> Tue, 04 November 2014 17:34 UTC

Return-Path: <michael.holloway@comlaude.com>
X-Original-To: eppext@ietfa.amsl.com
Delivered-To: eppext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E03951AC40C for <eppext@ietfa.amsl.com>; Tue, 4 Nov 2014 09:34:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.199
X-Spam-Level: *
X-Spam-Status: No, score=1.199 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_21=0.6, J_CHICKENPOX_47=0.6, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no
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 FZc8k74Yxd0W for <eppext@ietfa.amsl.com>; Tue, 4 Nov 2014 09:34:31 -0800 (PST)
Received: from smtp75.iad3a.emailsrvr.com (smtp75.iad3a.emailsrvr.com [173.203.187.75]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C97751AC410 for <eppext@ietf.org>; Tue, 4 Nov 2014 09:34:30 -0800 (PST)
Received: from smtp26.relay.iad3a.emailsrvr.com (localhost.localdomain [127.0.0.1]) by smtp26.relay.iad3a.emailsrvr.com (SMTP Server) with ESMTP id 130F18019D for <eppext@ietf.org>; Tue, 4 Nov 2014 12:34:30 -0500 (EST)
X-SMTPDoctor-Processed: csmtpprox 2.7.1
Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp26.relay.iad3a.emailsrvr.com (SMTP Server) with ESMTP id 0F41580183 for <eppext@ietf.org>; Tue, 4 Nov 2014 12:34:30 -0500 (EST)
X-Virus-Scanned: OK
Received: by smtp26.relay.iad3a.emailsrvr.com (Authenticated sender: m4bh-AT-comlaude.com) with ESMTPSA id 94A898019D for <eppext@ietf.org>; Tue, 4 Nov 2014 12:34:29 -0500 (EST)
X-Sender-Id: m4bh@comlaude.com
Received: from [192.168.156.24] ([UNAVAILABLE]. [212.95.225.130]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA) by 0.0.0.0:465 (trex/5.3.2); Tue, 04 Nov 2014 17:34:29 GMT
Message-ID: <54590E25.3060701@comlaude.com>
Date: Tue, 04 Nov 2014 18:34:29 +0100
From: Michael Holloway <michael.holloway@comlaude.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: eppext@ietf.org
References: <19F54F2956911544A32543B8A9BDE0753E0F7D0D@NICS-EXCH2.sbg.nic.at> <544E88B1.2060800@centralnic.com>
In-Reply-To: <544E88B1.2060800@centralnic.com>
Content-Type: multipart/alternative; boundary="------------080902080303010004040902"
Archived-At: http://mailarchive.ietf.org/arch/msg/eppext/Xt1quW-Qsa29v2Evb50WCO3eE4o
Subject: Re: [eppext] EPP service message extension
X-BeenThere: eppext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: EPPEXT <eppext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/eppext>, <mailto:eppext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/eppext/>
List-Post: <mailto:eppext@ietf.org>
List-Help: <mailto:eppext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/eppext>, <mailto:eppext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Nov 2014 17:34:37 -0000

Hi Alexander

Agreed this is in principle a good idea! But like Gavin, I am a little 
concerned that its too flexible - so just wanted to add a couple of 
points here.

I think it is key that each message should be related to a single object 
where possible (e.g. not a Registrar object). In a case where a registry 
wanted to sent a message similar to HasExpired in the draft, they could 
potentially have multiple dates and multiple domains in the same 
message, leading to confusion about which domain are expiring on which 
date. Given the draft doesn't specify "how" to do this, we could end up 
with a little guess work.

<data>
      <entry name="date">2016-02-25</entry>
      <entry name="domain">test-expire1.example</entry>
      <entry name="date">2016-02-27</entry>
      <entry name="domain">test-expire2.example</entry>
      <entry name="domain">test-expire3.example</entry>
</data>



This draft also means that we have to always assume that there are (or 
can be) multiple entry elements with the same name (and treat it as an 
array) - which feels like it can spiral into a multi-multi relationship 
of untyped elements. We know a domain can have multiple statuses, but it 
cannot have multiple expiry dates. Registrar software will need to 
figure what's being sent and still check for multiple expiry dates (and 
what would we do with that?:) . I think in the end each message handler 
will need to be coded by the registrar software because its too untyped 
to handle so the flexibility means that its not really simplifying or 
even standardising the notifications much.

I might have be able to provide more useful input after having a look at 
in action. This doesn't seems to be on the CPAN version of Net-DRI (or 
did I miss it?). Do you have a link to the latest TLDBox version?  I am 
pro standardisation so would be happy to look and give some input!

Cheers,
Michael


*Michael Holloway
Senior Systems Administrator**| Com Laude*
2^nd Floor, 28-30 Little Russell Street
London, WC1A 2HN, United Kingdom

michael.holloway@comlaude.com <mailto:michael.holloway@comlaude.com>
www.comlaude.com <http://www.comlaude.com>



On 27.10.2014 19:02, Gavin Brown wrote:
> Hi Alexander,
>
> I've reviewed this draft. It addresses a pressing issue which a lot of
> registrars want to see resolved.
>
> My initial concern is that your draft is too flexible. There is a fine
> balance to be struck between being flexible enough to allow for a
> variety of different business rules, and being so flexible that you end
> up with wildly different (and non-interoperable) implementations. There
> are a few things that I think you could do to tighten up the specification:
>
> * the list of events which would trigger a message should be enumerated,
> and a unique token for each be included in the schema. I am sure that
> this mailing list could produce an almost comprehensive list of such events.
>
> So the synax would look like this:
>
> <message xmlns="http://tld-box.at/xmlns/resdata-1.0">
>    <type>transferApproved</type>
>    <!-- ... -->
> </message>
>
> Events that are not covered by this list could be handled using a
> "custom" value with an optional attribute, like so:
>
> <message xmlns="http://tld-box.at/xmlns/resdata-1.0">
>    <type name="somethingCustom">custom</type>
>    <!-- ... -->
> </message>
>
> * require that all messages have a timestamp, like so:
>
> <message xmlns="http://tld-box.at/xmlns/resdata-1.0">
>    <type>transferApproved</type>
>    <eventDate>2014-10-27T17:48:21.0Z</eventDate>
>    <!-- ... -->
> </message>
>
> * require that all messages be associated with a single object in the
> repository. The object should be specified by its namespace, and its
> unique identifier (and optionally ROID), for example:
>
> <message xmlns="http://tld-box.at/xmlns/resdata-1.0">
>    <type>transferApproved</type>
>    <eventDate>2014-10-27T17:48:21.0Z</eventDate>
>    <desc>Inbound transfer of test.example was APPROVED.
>      Subordinate hosts ns1.test.example, ns2.test.example were
>      also transferred.</desc>
>    <object>
>      <objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
>      <objID>ns1.text.example</objID>
>      <objROID>hostroid-1</objROID>
>    </object>
> </message>
>
> If an event affects multiple objects, queue multiple messages.
>
> * Where an event has resulted in a change to the attributes of an
> object, it should be possible to include a partial <info> response in
> the message, containing the changed object attributes (plus the minimum
> necessary elements to allow the element to validate against the schema),
> like so:
>
> <message xmlns="http://tld-box.at/xmlns/resdata-1.0">
>    <type>transferApproved</type>
>    <eventDate>2014-10-27T17:48:21.0Z</eventDate>
>    <desc>Inbound transfer of test.example was APPROVED.
>      Subordinate hosts ns1.test.example, ns2.test.example were
>      also transferred.</desc>
>    <object>
>      <objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
>      <objID>ns1.test.example</objID>
>      <objInfo xmlns:host="urn:ietf:params:xml:ns:host-1.0">
>        <host:name>ns1.test.example</host:name>
>        <host:roid>hostroid-1</host:roid>
>        <!-- ... -->
>      </objInfo>
>    </object>
> </message>
>
> G.
>
> On 23/10/2014 17:14, Alexander Mayrhofer wrote:
>> All,
>>
>> i've just posted a first version of the description of our EPP service message extension. I'm aiming at registering that extension with the hopefully-soon-to-be EPP Extensions Registry, and therefore i do believe it is of interest to the group. The document defines the state of the extension as it is currently deployed (including the shady legacy corners), rather than defining a "nice to have" structure. The extension is also contained in the Net::DRI Perl EPP client toolkit.
>>
>> I'm happy to present that draft during the upcoming meeting, if the chairs can spare a time slot. WG adoption is *not* my goal, since this document wouldn't be covered by the current charter anyways. Feedback is, however, of course appreciated :)
>>
>> Here's the announcement:
>>
>> A new version of I-D, draft-mayrhofer-eppext-servicemessage-00.txt
>> has been successfully submitted by A. Mayrhofer and posted to the IETF repository.
>>
>> Name:		draft-mayrhofer-eppext-servicemessage
>> Revision:	00
>> Title:		EPP Service Messages Extension
>> Document date:	2014-10-23
>> Group:		Individual Submission
>> Pages:		12
>> URL:            http://www.ietf.org/internet-drafts/draft-mayrhofer-eppext-servicemessage-00.txt
>> Status:         https://datatracker.ietf.org/doc/draft-mayrhofer-eppext-servicemessage/
>> Htmlized:       http://tools.ietf.org/html/draft-mayrhofer-eppext-servicemessage-00
>>
>>
>> thanks,
>> Alex
>>
>> _______________________________________________
>> EppExt mailing list
>> EppExt@ietf.org
>> https://www.ietf.org/mailman/listinfo/eppext
>>
>
>
> _______________________________________________
> EppExt mailing list
> EppExt@ietf.org
> https://www.ietf.org/mailman/listinfo/eppext