Subject: [VCARDDAV] Extensibility issues with <sex/> in vcard xml

From: Laurent Eschenauer <[email-masked]>
Date: Tue, 13 Apr 2010 12:50:23 +0200

Hi all, I'm the architect of http://onesocialweb.org, a decentralized social
networks built on top of XMPP and using vcard-xml as our data model for user
profiles. (For those who followed the story, we switched from PoCo to
vcard-xml recently). We have just encountered quite an annoying issue with
the sex field wrt our requirements and would like your feedback.

The great thing about the current vcard-xml spec is that field themselves
are namespace extensible. This enable us, for example, to add our own access
control rules to a field.

      <fn>
        <text>Romeo Montague</text>
        <acl-rule xmlns="http://onesocialweb.org/spec/1.0/">
         ....
        </acl-rule>
      </fn>

It works great, but for the sex field. Simply because the value is directly
the text content of the <sex/> element. I don't see how to extend that one
in a XML compatible way. So, why not also wrap that one in a <text/> or
<int/> or <value/> or whatever else element ?

      <sex>
        <gender>1</gender>
        <acl-rule xmlns="http://onesocialweb.org/spec/1.0/">
         ....
        </acl-rule>
      </sex>

What do you think ? Is this only a <sex/> problem or do you see other places
where this would be an issue too ?

Feedback on this would be greatly appreciated.

Best regards,

Laurent Eschenauer

---

From: Simon Perreault <[email-masked]>
Date: Tue, 13 Apr 2010 08:18:37 -0400

Bonjour Laurent,

On 2010-04-13 06:50, Laurent Eschenauer wrote:
> Hi all, I'm the architect of http://onesocialweb.org,
> a decentralized social networks built on top of XMPP and using vcard-xml
> as our data model for user profiles. (For those who followed the story,
> we switched from PoCo to vcard-xml recently).

Yes I remember the story. Glad to have you on board! :)

> It works great, but for the sex field. Simply because the value is
> directly the text content of the <sex/> element. I don't see how to
> extend that one in a XML compatible way. So, why not also wrap that one
> in a <text/> or <int/> or <value/> or whatever else element ?
>
>        <sex>
>          <gender>1</gender>

Yes, this was discussed in Anaheim at IETF 77 in March. I vividly 
remember "Let's talk about sex!"

Since the value type is an integer, it should actually be:

<sex><integer>1</integer>...</sex>

Unless somebody opposes, it will be this way in the next version.

> What do you think ? Is this only a <sex/> problem or do you see other
> places where this would be an issue too ?

There are other problematic properties that use enumeration such as 
CLASS. In this case, since the value type is text, the content will be 
wrapped in a <text> element.

So I think this problem will be fully fixed in the next draft version.

Thanks,
Simon
-- 
NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca
STUN/TURN server        --> http://numb.viagenie.ca
vCard 4.0               --> http://www.vcarddav.org

---

From: Laurent Eschenauer <[email-masked]>
Date: Tue, 13 Apr 2010 14:30:30 +0200

> So I think this problem will be fully fixed in the next draft version.

Fantastic !

We'll move on with our implementation and will come back to you if we get
other issues.

Merci Simon,

Cheers,

-Laurent