#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!