Friday, November 12, 2010

Re: [Geopriv] Extending PIDF (-local-civic)

A few clarifications and points inline.


> -----Original Message-----
> From: geopriv-bounces@ietf.org [mailto:geopriv-bounces@ietf.org] On Behalf
> Of Brian Rosen
> Sent: Friday, 12 November 2010 11:47 AM
> To: geopriv@ietf.org
> Subject: [Geopriv] Extending PIDF (-local-civic)
>
> As I wait for the geopriv meeting to start, I wanted to summarize my
> thoughts on extending PIDF (-local-civic).
>
> First of all, I agree that we need to do something. The current
> mechanisms we have for extending are not adequate. The fundamental
> problem is that to add a CAtype (or anything else), one needs to create a
> new namespace, which effectively wipes out backwards compatibility.
>
> -local civic correctly points out that one can add a new namespace, and
> define any new element in that namespace. It proposes to do that without
> any constraint - anyone who wants to add an element would be free to
> define a new namespace and create a new element. The issue several of us
> have with that is that it will be very difficult to maintain
> interoperability.

[AJW] And I think that this has been quite well refuted. The namespace defines a clear context in which those elements have significance. local-civic describes how to use them and describes what happens if nodes don't understand them. This doesn't lead to interoperability issues unless something doesn't follow basic XML rules, and in this case any extension will have problems.


Since the threshold to add new namespaces with
> uncontrolled elements will be low, we would expect a great many such
> namespaces, with all kinds of elements that may have a local name which is
> very similar to another element in another namespace, but be different, or
> alternatively have two (local) names for the same thing.

[AJW] Again, I think that this is not really a problem because the significance is placed in context by the namespace. Much more to the point, this solution categorically stops misinterpretation of two local elements with the same name but different meanings. Something that simply can't be caught otherwise. Elements without clear context are subject to misuse and misinterpretation, namespaces help mitigate this problem.

While this is
> not strictly speaking a problem, because of the uniqueness of the
> namespace, it seems very hard to do something like create a parser which
> could parse "Address Line 1" into a PIDF that would be likely to be
> acceptable to a server.


[AJW] I use DOM, it is quite good at doing this, and I know that there are a lot of other parsers that are faster and better. So I don't think that I agree that this is hard at all.

>
> The basic idea that Martin and James want to push out is that 5139, which
> added CAtypes and fixed some problems with 4119 contains the LAST official
> IETF PIDF-LO namespace, and the schema is hereby considered inviolate.
> Now, that's probably an overstatement, but they really do want to lock
> down any further changes, and confine them to some new namespace, and
> never change the schema in 5139.
>
[AJW] I think that this is an accurate assessment. A lot of people have data, implementations and specifications that all use 5139. By changing the base reference you will result in interoperability issues as systems will need to support both the new and the old formats. I don't believe that this is a tenable situation when perfectly good alternatives are available.

> There is a compromise proposal on the table, which would work as follows:
> We would create a new namespace in a new RFC. In that namespace, we would
> define two new CAtypes: extCAtype and localExtCAtype.

[AJW] I think the compromise consists of the extCAtype, there is no agreement on the localExtCAtype, in fact I am opposed to this latter type because it is open to the misuse and misinterpretation issues that I raised earlier.


These CAtypes would
> have a parameter "name". There would be two registries, the existing
> CAtype registry created by 5139 and a new one. New entries in the
> existing registry would be used with extCAtype as:
> <newns:extCAtype name="STP">Avenue</newns:extCAtype>
> The intention is that address elements with general use (like a street
> type prefix) would be defined in the existing registry with the existing
> management policy.
>
> Entries in the new registry would be used with localExtCAtype. The
> management for the policy with localExtCAtype would be expert review, with
> the instructions to seek to avoid clear duplication or spelling but
> otherwise to be liberal in allowing new definitions. The registry ONLY
> intends to foster re-use, not become a barrier to actual new address
> elements. The option to define a new namespace would remain as is.

[AJW] I think that what you describe here is one option, but certainly is not agreed to. I personally think that a registry of this nature has little to no practical use and adds burden on IANA.

>
> There is a problem with validation of location information using LoST.
> The proposal on the table is to extend the definition of the items in the
> <valid>, <invalid> and <unchecked> lists to allow a name like
> newns:extCAtype+STP (ie behave as if newns defined an element
> extCAtype+STP.

[AJW] This hack, as I think I have pointed out, works "sort-of" within the limited CAtype space, it really doesn't scale at all well to arbitrary types, and will be hard to implement with a localExt option.

>
> I am not thrilled with the LoST hack. I would prefer to actually fix the
> problem, but I recognize that means updating the schema, and thus the
> namespace for LoST, and we're back to the same issue. I can live with it
> if that is the consensus of the work group.
>
> However, I am unhappy about promising that we will never update the schema
> for PIDF-LO or LoST. We are not that good. Mistakes have been made. New
> features will arise that won't be able to be done with new namespaces.
> For example, I would like to change the part of the schema that contains
> the CAtype elements from what is now SEQUENCE, because SEQUENCE implies a
> fixed order, and there have been suggestions for things where SEQUENCE is
> problematic (INT). Now, actually, if INT was done with extCAtype,
> SEQUENCE would work, because there is only repeated instances of extCAtype
> (and localExtCAtype), and they are in a different namespace from the 5139
> namespace, so just consider this an example. I don't know what problems
> we will find, only that history suggests that will happen.
>
[AJW] I will reserve my comment on the concept of INT for another time as they will be quite large.

> We should not make such promises. We may be able to avoid updating the
> schema this time, we might not the next time.

[AJW] Understand please, that updating the schema, leads to ambiguity in the meaning and scope of the CATypes as delivered over DHCP. How does a device know if they should be put into the 5139 schema, or one of the 7 newer schemas you propose? What does a server do if it gets them in an older schema format that it was expecting? I a don't think that you can make this change as easily as you suggest Brian without having very far reaching consequences some of which I am sure we have not thought about.


>
> Brian
>
> _______________________________________________
> Geopriv mailing list
> Geopriv@ietf.org
> https://www.ietf.org/mailman/listinfo/geopriv
_______________________________________________
Geopriv mailing list
Geopriv@ietf.org
https://www.ietf.org/mailman/listinfo/geopriv