Patrick,

Sorry again about the long delay in my review of your feedback.  Thank you for 
doing the detailed review.  I include my responses to your feedback embedded 
below.

  
—
 
JG



James Gould
Distinguished Engineer
jgo...@verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com <http://verisigninc.com/> 

On 11/23/17, 12:42 AM, "regext on behalf of Patrick Mevzek" 
<regext-boun...@ietf.org on behalf of p...@dotandco.com> wrote:

    Hello James and Kal,
    
    Here are my comments on the draft:
    
    The abstract is almost longer than the introduction,
    and I believe it should be the opposite.
    
    I prefer this sentence in the abstract:
    notifying clients of operations on client sponsored
       objects that were not initiated by the client through EPP. 
    
    over this one in the introduction:
    to notify clients of operations they are not
       directly involved in, on objects that the client sponsors.
       
    I think the given clients are directly involved as they are
    the sponsors on the objects being operated. I think it is best
    to say something like in the abstract, which is that the goal
    of this extension is to notify clients of operations conducted
    on objects they sponsor and which were not initiated by them.
    (please rephrase that in proper English).

Ok, we’ll look at the abstract and introduction.  
    
    "Using this extension clients can more easily keep"
    A missing "," after extension?

Agreed, I’ll add the missing ‘,’.  
    
    "a poll message can be inserted"
    The whole purpose of the extension is to add these poll messages,
    so maybe being more affirmative like "one or more poll messages
    are inserted".

I would love to be more affirmative, but the definition of “client needs” and 
what the server can do in what iteration is a gap that may not meet the more 
affirmative language.  The goal is certainly that a poll message is inserted 
for all changes that the client needs to be notified of, but I don’t believe 
the draft can force the server policy.  
    
    Also, RFC5730 speaks about the poll *command* but otherwise it is
    about *service messages*, so it is maybe better to align
    the terminology.
    
Since RFC 5730 explicitly refers to the poll command and that is understood 
terminology in the industry, I believe it’s best to stick to the poll command 
and response terminology.  

    2.1
    
    For transfer, why is the op attribute optional, especially since
    it has no default value?
    RFC5730 defines 5 transfer sub-operations with no extension possible,
    so I believe here the op attribute should be mandatory
   
    As for restore that has a sub operation case too, I think the same
    reasoning apply.

How about changing the language in describing the “transfer” and “restore” and 
“custom” operations to require the setting of the “op” attribute as in: 

Transfer operation as defined in [RFC5730] that MUST set the "op" attribute 
with one of the possible transfer type values that include "request", 
"approve", "cancel", or "reject".
Restore operation as defined in [RFC3915] that MUST set the "op" attribute with 
one of the possible restore type values that include "request" or "report".
Custom operation that MUST set the "op" attribute with the custom operation 
name.
    
    2.2 Maybe a little rephrasing to be clearer, I suggest:
    "The <changePoll:who> element defines who executed the operation,
    for audit purposes."

Agreed, I’ll make that change.
    
    Further below, you capitalize who as Who but I see no reason to
    do that.

That is chaptalized since it referring to the term being defined.  It may be 
better to refer to the <changePoll:who> element instead if the first sentence 
leads with the <changePoll:who> element.  I’ll change it to reference the 
<changePoll:who> element instead of the capitalized Who.  
    
    Then you list 3 possible cases for the content of the who attributes,
    but since it is just a normalizedString, the consumer of such poll
    messages has no indication in which of these 3 cases we are, or others.
    Maybe it would be better to add an attribute to the who element,
    like "type" that remains free text but will allow the registry
    to explain what the who content is about with such values
    as "identifier" (and/or "roid" and/or "gurid" for example°),
    "name" or maybe better "individual", and "role", or "batch".

The main question is whether a client will need or want to know this?  This is 
somewhat similar to the domain:crID and domain:upID in RFC 5731, where the 
client may use the information for capturing but they will not drive logic on 
it.  We certainly do need to capture who made the change, but I’m not convinced 
that adding a “type” is needed by the client.   
    
    I found the whole section 2 to not be clear enough. You state that
    it is an extension to object mappings and then you discuss only two
    attributes, while others are discussed later in section 3.

Yes, this is a command response extension of any object mapping, and the Object 
Attributes section provides extra information on the general attributes used 
within the extension.  This is consistent with what has been done in other 
extensions like the RGP extension (RFC 3915) and the DNSSEC Extension (RFC 
5910).  The more complex attributes are more fully defined in section 2 and 
referenced from section 3, and the rest of the attributes are defined under the 
commands in section 3.  
    
    3.1.2 
    
    Should be retitled about service messages and poll commands, as this
    sentence is wrong:
    This extension adds transaction detail of the operations to the EPP
       <info> poll response,
    There is no <info> poll response, but just a poll response with
    a service message it has nothing to do with the info command.

How about changing the sentence to “This extension adds operation detail of EPP 
Object Mapping operations [section 2.1] to an EPP poll response, as described 
in [RFC5730], that is an extension of the EPP Object Mapping info response.”?  
The key point is that this is truly an extension of the object’s info response 
that is used in an EPP poll response.  

    you say "Object Mapping" with uppercases, and before you
    had "object mapping". Please double check the whole documenthe
    and apply some uniform formatting.

I will revise it to lowercase “object mapping” throughout the document.
    
    This sentence is not clear:
    "This extension adds transaction detail of the operations"
    Which operations? Why using the term "transaction"?
    Did you want instead to clearly speak about "transform
    operations" like you do elsewhere.

I changed transaction to operation.
    
    changePoll:date : please specify in what timezone it SHOULD
    or MUST be.
    RFC5731 section 2.4 says about date and times:
     Date and time attribute values MUST be represented in Universal
       Coordinated Time (UTC) using the Gregorian calendar.
    Maybe you should do the same here for homogeneity?
  
I believe that a “Dates and Times” section needs to be added to section 2 to 
address this generically.  
  
    changepoll:caseId has only two specified values for its type
    attribute (UDRP and URS) but if we go back to the abstract
    where you listed possible cases, you listed UDRP and URS,
    but also court directed actions, and bulk updates.
    So why not also add types "court" and "bulk" for example
    That would make the informal abstract and the formal technical
    specification more closely aligned.
    
The reason why is because these are the only known external case identifiers 
that can be referenced.  The abstract includes sample use cases but not an 
exhaustive list.  The “custom” enumerated value with the “name” attribute can 
be used for new cases.  If “court” and “bulk” are common cases with external 
identifiers, then they can be added, but I don’t believe this is the case.      
    
    I am not sure to understand the example for the autopurge.
    If the registry deletes a domain with an immediate purge I expect the 
    domain not to exist anymore. But in your example you show the "after"
    state
    and there you have a domain:name and a domain:clID still... but the
    domain
    should not exist anymore.
    In my view you should have the before state with all domain:infDatq, and
    for the
    after state, there should be no domain data anymore.
    I agree it creates a problem as you loose the domain name itself
    in the message, but I still think there should be no domain
    data if it was purged.
    What do you think?

I thought about this one, and yes this is a grey area.  I believe it’s more 
important to keep the use of the required “after” state here.  The use of the 
“before” state is optional and I don’t want to add complexity by adding support 
for it here.  In this case, the operation is identifying to the client that the 
specified record that is included was purged from the system.           
    
    As a more generic note, you may include a non exhaustive list of
    cases to show when such messages could be produced:
    - for out of band contact eligibility tests by registry, contact
    data may change
    - when a domain name is transfered in-bailiwick hosts get transfered
    too, that could add service messages for them. But then which registrars
    should get the messages about the hosts? The one before or after the
    transfer? Both?
    - for out of band domain tests by registry, like technical ones
    related to resolution
    - for contacts being automatically purged by a registry after
    some time of non-use
    - etc.

Thanks for additional cases that can be considered for inclusion.  I believe 
that there is a long list of possible cases, but I have a concern with 
attempting to focus too much on the cases that the extension can support 
instead of focusing on the elements of the extension itself.   The extension 
has been made generic enough to apply to a very large set of cases.        
    
    
    Implementation status: you can add Net::DRI as a client if you like,
    it implements all the draft.
   
Thanks again for the work on Net::DRI, and we can certainly add Net::DRI to the 
Implementation Status section.  Can you provide the following key values to add 
to the draft or you can also submit a pull request to the 
EPP-Allocation-Token-Specification GitHub project 
(https://github.com/james-f-gould/EPP-Allocation-Token-Specification.git) if 
you want to define it yourself?      

1. Organization
2. Description
3. Level of maturity
4. Coverage
5. Licensing
6. Contact
7. URL
 
    -- 
      Patrick Mevzek
      p...@dotandco.com
    
    _______________________________________________
    regext mailing list
    regext@ietf.org
    https://www.ietf.org/mailman/listinfo/regext
    

_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to