#social 2021-08-10

2021-08-10 UTC
heluecht[m] joined the channel
#
heluecht[m]
I'm currently trying to transmit XMPP and Matrix addresses in the profile. "vcard" can be used for this with "vcard:hasInstantMessage" - but I'm struggling with the details. Does anyone has got a clue?
nightpool[m] joined the channel
#
nightpool[m]
I'm not turning up any examples, unfortunately, and the vcard spec doesn't have a Range defined
#
nightpool[m]
maybe a Link would be appropriate? so you could add metadata about which service you're linking to
#
heluecht[m]
So just a link with "xmpp:user@server.tld" or "matrix:@user:server.tld"?
#
nightpool[m]
hmm, I was thinking an array of Link objects, but I guess since they each have their own scheme, just an array of strings works too
#
nightpool[m]
* hmm, I was thinking an array of Link objects, but I guess since they each have their own scheme, just an array of URIs works too
#
heluecht[m]
Possibly `"vcard:hasInstantMessage" => ["name" => "Matrix", "url" => "matrix:@user:server.tld"]`
#
nightpool[m]
right, that would be the Link object approach, that probably makes the most sense
#
nightpool[m]
it's a little weird because Link is aiui an as2 concept, which is weird to mix with a vcard concept
#
nightpool[m]
but I can't find any examples of how that vcard property is supposed to be used
#
heluecht[m]
I had searched for examples as well and found nothing.
#
heluecht[m]
Shouldn't a `type` then be part of the construct as well?
#
nightpool[m]
right, it would be `type: Link`
#
heluecht[m]
I had a look at https://www.w3.org/TR/vcard-rdf/. There they use this here for mails: <vcard:hasEmail rdf:resource="mailto:corky@example.com"/>
#
heluecht[m]
So possibly some `vcard:hasInstantMessage" => ["rdf:resource" => "matrix:@user:server.tld"]` would be correct?
#
heluecht[m]
I'm really bad in understand definitions :-)
#
heluecht[m]
I guess I will stick to the first approach with the "url". This shouldn't break anyone's parsing, so it should be fine.
xmpp-social, puckipedia, tenma, includeals, kaetahbo, englishm, timbl and join_subline joined the channel
#
nightpool[m]
heluecht: I believe rdf:resource is the same as the JSON-LD `@id` version, so if you're using the vcard JSON-LD context, `<vcard:hasEmail rdf:resource="mailto:corky@example.com"/>` turns into `{"vcard:hasInstantMessage": "mailto:corky@example.com"}`
#
nightpool[m]
sent a long message: nightpool[m]_2021-08-10_14:39:21.txt <https://matrix.cybre.space/_matrix/media/v1/download/cybre.space/fvoiOHJBjkarGeYohaMywsdO>
feld4, feld5, feld6, join_sub1ine, dmitriz, tantek and timbl joined the channel
#
heluecht[m]
nightpool: What would you prefer? `{"vcard:hasInstantMessage": "matrix:@user:server.tld"}` or `"vcard:hasInstantMessage" => ["name" => "Matrix", "url" => "matrix:@user:server.tld"]`?
#
nightpool[m]
I would probably prefer the former
#
nightpool[m]
it gives me more leeway to decide which protocols I support based on an existing registry (URI scheme)
#
nightpool[m]
vs. having to deal with a potentially unspecified list of `name`s
#
heluecht[m]
Und multiple IMs could be done like this: `{"vcard:hasInstantMessage": {"matrix:@user:server.tld", "xmpp:user@server.tld"}}`
#
heluecht[m]
* And multiple IMs could be done like this: `{"vcard:hasInstantMessage": {"matrix:@user:server.tld", "xmpp:user@server.tld"}}`
#
nightpool[m]
yep, exactly. using an array to list multiple URIs
#
heluecht[m]
Okay. Thanks for your help!
#
nightpool[m]
np!