Hi Schimon,
I see multiple options to use vCard:
1. Use a group with a URL and the custom X-ABLabel property. This is a
widely implemented custom property used to label URLs (and other
fields, including IMPP). It's supported by at least Apple (iOS and
macOS), Nextcloud and Android (DAVx5). In vCard notation it looks like
this:
myi2psite.URL:http://myi2psite.i2p
myi2psite.X-ABLabel:My I2P Site
mybusinesssite.URL;TYPE=work:http://mybusinesssite.i2p
mybusinesssite.X-ABLabel:My Business Site
The reason why this is not possible using standard LABEL (if it were
specified), NOTE or similar properties, is that grouping support is
optional in vCard. Clients are allowed to strip all group prefixes
(what is before the property name, separated by ".") if they don't want
to have grouping support, meaning that any official property must be
designed with that in mind and thus can't relate to a specific other
property.
X-ABLabel, in contrast, requires clients to support grouping and is
entirely ignored by clients that don't support it. Thus a non grouping-
and thus also non-X-ABLabel-aware client would read the above as:
URL:http://myi2psite.i2p
URL;TYPE=work:http://mybusinesssite.i2p
Which of course is a loss of information, but still a very good
fallback.
The XML notation of above would be:
<group name="myi2psite">
<url><uri>http://myi2psite.i2p</uri></url>
<x-ablabel><text>My I2P Site</text></x-ablabel>
</group>
<group name="mybusinesssite">
<url>
<parameters><type><text>work</text></type></parameters>
<uri>http://mybusinesssite.i2p</uri>
</url>
<x-ablabel><text>My Business Site</text></x-ablabel>
</group>
2. If you don't feel like using groups and don't need or want
interoperability with existing implementations, you can also declare a
new custom property
myi2psite.URL;X-FASI-Label=My I2P Site:http://myi2psite.i2p
mybusinesssite.URL;TYPE=work;X-FASI-Label=My Business
Site:http://mybusinesssite.i2p
The XML notation of above would be:
<url>
<parameters><x-fasi-label><text>My I2P Site</text></x-fasi-
label></parameters>
<uri>http://myi2psite.i2p</uri>
</url>
<url>
<parameters>
<type><text>work</text></type>
<x-fasi-label><text>My Business Site</text></x-fasi-label>
</parameters>
<uri>http://mybusinesssite.i2p</uri>
</url>
3. If even convertibility to plain vCard is not necessary for you, you
could even use any custom namespace inside the vCard <url> property.
Clients unaware of it would strip it out when parsing or converting to
plain vCard, leaving only the plain URLs intact. While technically
possible, I think solutions 1 and 2 are way better - with 1 being
probably the best and most interoperable option.
Marvin
PS: The functionality of the LABEL property in vCard before version 4
is still present today, it just has a completely different meaning.
LABEL is referring to postal address labels, the property would include
the text that needs to be written on a postal label to deliver to the
person referred to in the vCard. In vCard 4.0 this became a property
parameter of ADR, because it is directly tied to a physical address.
On Tue, 2024-10-29 at 09:08 +0200, Schimon Jehudah wrote:
Good day. Marvin.
Apparently, vCard4 Over XMPP does not support my objective.
I wish to have custom labels or additional label, specifically for
URIs
and URLs.
From:
https://xmpp.org/extensions/xep-0292.html#mapping-removed
NOTE:
vcard-temp allowed a LABEL element, but it was removed from vCard4
If there is a link to a Movim instance, then I want a label with the
name of the instance (i.e. monocles, Movim, Pimux), and so for
Libervia, PeerTube, Pleroma etc.
<i2p>
<parameters />
<uri>http://mycoolsite.i2p</uri>
</i2p>
<movim>
<parameters />
<uri>https://mov.im/?blog/sch</uri>
</movim>
<peertube>
<parameters />
<uri>https://video.xmpp-it.net/c/sch/videos</uri>
</peertube>
<xmpp>
<parameters />
<uri>xmpp:sch@mov.im</uri>
</xmpp>
or
<url>
<label>My I2P Site</label>
<uri>http://myi2psite.i2p</uri>
<photo>http://myi2psite.i2p/logo.svg</photo>
</url>
<url>
<label>📔️ My Journal</label>
<uri>http://journal.myi2psite.i2p</uri>
</url>
<url>
<label>My Business Site</label>
<uri>http://mybusinesssite.i2p</uri>
<photo>http://mybusinesssite.i2p/logo.svg</photo>
</url>
<url>
<label>☁️ Movim</label>
<uri>https://mov.im/?blog/sch</uri>
</url>
<url>
<label>📺️ PeerTube</label>
<uri>https://video.xmpp-it.net/c/sch/videos</uri>
</url>
<url>
<label>💠️ My IPFS Nest</label>
<uri>ipfs://hash_to_a_current_collection</uri>
</url>
<url>
<label>🫏️ eDonkey2000</label>
<uri>ed2k://my_ed2k_identity</uri>
</url>
<impp>
<label>💡️ Jabber</label>
<uri>xmpp:sch@mov.im</uri>
</impp>
<encryption>
<label>🔐️ OpenPGP</label>
<text>0000 1111 0000 1111 0000</text>
</encryption>
<encryption>
<label>🖥️ SSH</label>
<text>1111 0000 1111 0000 1111</text>
</encryption>
Mr. Stephen Paul Weber has suggested to add a custom child element
Could also do a namespaced child element of
<url/>
{https://mycoolproject.com}branded-type or something
He has also raised the possibility for registering a new label, or
adding "x-BRAND" to non-registered label.
use x (not suggested). It's not a perfect fit
but you could use
sort-as
I mean if you could come up with some more
generic things than
"peertube" (maybe social-video) is whatever I could see registering
them as tuypes being not impossible. But it's work of course.
I am not sure whether I am ready to complicate this, and intervene
with
a standard node (urn:xmpp:vcard4), as it might lead to confusion
amongst people who develop for XMPP for the first time, and also to
myself.
Unless there is another XEP which I could use, I intend to create a
custom Node Name, and a custom XML with labels and attributes that
would indicate of types, and suggest of an XEP for an extended vCard
to
which I might call "Resource Collection" or "Reference Collection",
or
"Extended Virtual Card".
P.S. If I recall correctly, years ago, there were discussions about
custom fields for XMPP Profile. I wonder how it was concluded.
Kind regards,
Schimon
On Sat, 26 Oct 2024 19:47:03 +0300
Schimon Jehudah <sch(a)fedora.email> wrote:
> Greetings, Marvin!
>
> Thank you for your respond and reference!
>
> Yes. I think a public profile page is indeed a vCard.
>
> I will observe XEP-0292 and inform of further progress.
>
> Cheers,
> Schimon
>
> On Fri, 25 Oct 2024 17:52:12 +0200
> Marvin W <xmpp(a)larma.de> wrote:
>
> > Hey,
> >
> > Profile page sounds like vCard to me. You can have arbitrary many
> > URLs in a vCard 4 and publish it via XEP-0292.
> >
> > Best,
> > Marvin
> >
> > On Fri, 2024-10-25 at 07:53 +0300, Schimon Jehudah wrote:
> > > Good day, one and all!
> > >
> > > I want to work on an XEP which would define "link collections",
> > > which I
> > > think would also be useful for FASI (HTML invite page for
> > > XMPP),
> > > which
> > > already indicates of articles, when articles are present (see
> > > attached
> > > image).
> > >
> > > See example profiles under "New Members"
> > > at
https://libertylinks.io
> > >
> > > Would Data Forms be the appropriate mean to achieve it?
> > >
> > > Kind regards,
> > > Schimon
> > > _______________________________________________
> > > Standards mailing list -- standards(a)xmpp.org
> > > To unsubscribe send an email to standards-leave(a)xmpp.org
> >
> > _______________________________________________
> > Standards mailing list -- standards(a)xmpp.org
> > To unsubscribe send an email to standards-leave(a)xmpp.org
> _______________________________________________
> Standards mailing list -- standards(a)xmpp.org
> To unsubscribe send an email to standards-leave(a)xmpp.org