voc / schedule

http://c3voc.de/wiki/schedule
14 stars 18 forks source link

Add optional links of ActivityPub type to speaker and session #144

Open toto opened 1 month ago

toto commented 1 month ago

To allow consumers to integrate the open social web into their applications it would be a good idea to add Fediverse information to the schedule data.

Specifically:

Add entries to the links list for sessions and speakers. The links should have a new type: activitypub like this:

{ "type": "activitypub", "url": "https://social.mrtoto.net/@apptest/113085273939532302", "title": "Foo bar" },

For any speaker the link should lead to ActivityPub enabled user profile. This allows e.g. users to be followed on the session/user pages

{ "type": "activitypub", "url": "https://social.mrtoto.net/@apptest", "title": "Profile on Mastodon" },

and for sessions it should link to an ActivityPub enabled Note (aka post, e.g. a Mastodon post) for this session. E.g. replies to this can be shown as comments.

{ "type": "activitypub", "url": "https://social.mrtoto.net/@apptest/113085273939532302", "title": "Post on Mastodon" },

Hub issue: https://git.cccv.de/hub/hub/-/issues/572

toto commented 1 month ago

After taking to @saerdnaer refined this a bit to links of type == "activitypub" instead of special fields.

johnjohndoe commented 1 month ago

Could the type be derived from looking at the URL scheme?

toto commented 1 month ago

I don’t think so. They are just http urls. To find out if they are activitypub you need to send a HTTP request (e.g. HEAD or GET) with Accept: application/ld+json; profile="https://www.w3.org/ns/activitystreams", application/activity+json, application/json ) And for some resources even that requires some form of signing authorization (e.g. Threads).

Clients using this info would typically do that but for schedule import somewhere I think adding an explicit type is simpler.

On top of that it might be that someone wants to add a link to eg a profile which is activity pub enabled but not treated as such. In this case using type would also help.