This thread should give an overview and discuss how current ActivityPub implementations that work with the Event
object type handle them.
- Validation of events
- Minimum set of required attributes
- Common set of extended attributes.
This thread should give an overview and discuss how current ActivityPub implementations that work with the Event
object type handle them.
I started a list to collect what different fediverse applications do when importing/validating an incoming remote event via ActivityPub.
This document is still likely far from being complete and correct. I hope it can be a good starting point.
What seems important:
address
within the location
should be supportedtoot:focalPoint
?contentMap
, summaryMap
, nameMap
etc. be supported?Proposals which include already implemented solutions will follow, feel free to add yours!
It would be cool if we could integrate something like this into one of my support tables.
This would be something to address depending on the results of #109 - Pastures: More debug-like or more production-like? - helge/funfedidev - Codeberg.org
Thanks for bringing this up. It took me some time to understand but seems great! After FOSDEM/OFFDEM I will come back to this, and ask you if I should need some more guidance, I hope thats O.K.
I think this thread could be a starting point for our discussion:
location
what types of address within the location should be supported ? indicate that the event is solely online (and provide URL then):
{
"location": {
"type": "Place",
"name": "Nashville USA",
"address": "Houston, Harris County, Texas, 77028, United States",
"latitude": 29.8242366,
"longitude": -95.2845581
}
}
{
"location": {
"address": {
"addressCountry": "France",
"addressLocality": "Bourgoin-Jallieu",
"addressRegion": "Isère",
"postalCode": "38300",
"streetAddress": "30 Avenue Alexandre Flemming",
"type": "PostalAddress"
},
"id": "https://mobilizon.fr/address/e96ef587-9e7b-44ee-b96b-475b241adf5c",
"latitude": 45.597374,
"longitude": 5.243424,
"name": "30 Avenue Alexandre Flemming",
"type": "Place"
}
}
at least a location or an attachment link are mandatory?
what about if we want to organize an event of which we do not yet know the location?
should we introduce a locationStatus like ['ONLINE', 'UNKNOWN', 'MIXED', 'IRL']
?
Banner image
Whats the preferred “place” for it?
could we use attachments with type Document / Banner ?
Support of
toot:focalPoint
?
probably not mandatory?
joinMode
not mandatory?
Timezone control
not mandatory?
Should contentMap, summaryMap, nameMap etc. be supported?
not mandatory?
Common handling of what events might get listed, and how they can be searched.
should we implement a “follower only” event? how does this make any sense with applicationActor?
categories
Way to handle event categories: common defaults and new ones as categories are very helpful filters for a search.
starting point:
other people have already done this work, Core Public Event Vocabulary and Event - Schema.org Type.
For example, with respect to the topic on the type of place: eventAttendanceMode - Schema.org Property
We should find a synthesis between what is specified there and some properties that already have a place in Activity Pub: for example for images I see that in schema.org format there is image
attribute while in AP we already have attachment
, I would stay on the latter.
Friendica has implemented the events as well. See here for a list of fields we support:
Thanks for that! Do you maybe also know/can quickly point us to how Friendica validates incoming events?
We simply store the values. There is not a lot f validation here.
Some questions:
What do you think about multiple locations and or logical locations as stated in the specification?
Indicates one or more physical or logical locations associated with the object.
At first I thought one could get around by using a property like Mobilizons isOnline
. But as it seems a valid use case that in the future one only wants to reveal an online-link or a physical location to accepted attendees this is not possible anymore.
At OFFDEM we discussed about also noting whether the event has a physical location (secret or just not known yet) which would also cover hybrid (on and offline) events.
Looking forward to hear your thoughts!
I agree, none of these should be mandatory.
@les The ActivityPub specification also has an image attribute https://www.w3.org/ns/activitystreams#image
. The link Activity Vocabulary leads to the object type Image
not the property image
, take care.
Indicates an entity that describes an image for this object. Unlike the icon property, there are no aspect ratio or display size limitations assumed.
I think that this one suites the best for a banner image of an event, what do you think? (forgetting for a moment, that other ActivityPub implementations exist…, I don’t know if this is used anywhere in the wild yet.)