https://github.com/anewton1998/draft-regext-rdap-extensions/issues/40

> Section 2.4.3, paragraph 3
>> It is RECOMMENDED that object class names comprise lowercase ASCII 
>> characters, and that the "_" (underscore) character be used as a word 
>> separator.  Though "objectClassName" is a string and [RFC9083] does define 
>> one object class name with a space separator (i.e. "ip network"), usage of 
>> the space character or any other character that requires URL-encoding is NOT 
>> RECOMMENDED.  When object class names are also used in URLs, extensions MUST 
>> specify that the names are to be URL-encoded as defined in [RFC3986] if the 
>> object class names contain any characters requiring URL-encoding.

> I don't think we need such recommendation.

[JS] In our opinion, we need some constriction since the current definition is 
just a string.

> First: why only lowercase with underscore? There does not seem to be any 
> explanation.

[JS] Lowercase has been the de facto convention so far. As for the underscore, 
the idea was to do better than white spaces and reduce the URL-encoding 
overhead.

> URL path segments are case-sensitive. Especially with the notion of 
> underscore being a separator between extension identifier and name, usage of 
> underscore in name itself is even counterproductive. Actually if the 
> extension identifier would contain underscore and the name would contain 
> underscore and the separator will also be underscore it will be impossible to 
> figure out which part is which.

[JS] Why/when is such figuring out (parsing) useful?

[TH] Although it's not strictly necessary for a client to parse the name, I 
think it's useful to be able to see at a glance that a string is for object X 
from extension P, rather than having to consider the role of each segment in 
the string.  But this may be a moot point if his separate camel-casing 
suggestion in this respect is accepted (which I think would be a good idea).

> Second: mandating extensions to say something already defined by http 
> (URL-encoding of path segments) on one side not needed on the other side even 
> harmful in the current version. Here it does not tell where to URL-encode

[JS] Doesn’t URL-encoding connote sufficiently?

> It is not required in JSON values for example (or in other words JSON defines 
> its own encoding for certain characters).

[JS] Of course.

[TH] I think the argument here is that the sentence '[w]hen object class names 
are also used in URLs...' could be read as 'an object class name that is never 
used in a URL does not need to be URL-encoded anywhere, but an object class 
name that is used (even once) in a URL needs to be URL-encoded everywhere'.  As 
with the previous part, this becomes moot if camel-casing is recommended.  (I 
suppose there is a chance that somebody goes ahead and uses a character that 
requires URL encoding notwithstanding the recommendation, but in that case it's 
implicit that URL encoding is required in the URL only.)

> Section 2.4.7, paragraph 1
>> The styling convention used in [RFC9083] for JSON names is often called 
>> "camel casing", in reference to the hump of a camel.  In this style, the 
>> first letter of every word, except the first word, composing a name is 
>> capitalized.  This convention was adopted to visually separate the namespace 
>> from the name, with an underscore between them.  Extension authors SHOULD 
>> use camel casing for JSON names defined in extensions.

> Why is it recommended and what are the negative consequences of not following 
> this recommendation?

[JS] Because of the precedence/status quo.

> Also this is somehow inconsistent when 2.4.3. is actually recommending the 
> opposite when it comes to object class name.

[JS] That’s an interesting observation. Perhaps, object class name could also 
be camel-cased for consistency with JSON member names?

[TH] Per earlier comments, I think this is a good idea.
_______________________________________________
regext mailing list -- regext@ietf.org
To unsubscribe send an email to regext-le...@ietf.org

Reply via email to