As someone who creates ActivityPub services, it's often a puzzle to figure out exactly how someone else's service federates. Like, what does service X do when I send it a Delete/Note activity?

In an attempt to be a good citizen, I've drafted up a FEDERATION.md file for my fediverse event organizing service I'm working on. Here it is:

github.com/dariusk/gathio/blob

I've also started a meta-discussion about how we might start documenting this stuff generally:

socialhub.activitypub.rocks/t/

@darius

Having a question about events being actors

'id':`https://${domain}/${eventID}`,
'type': 'Person'
-> The spec. says "Represents an individual person"

I would rather expect "Service"
or ["Service", "Event"]

See "The core Actor Types include"
w3.org/TR/activitystreams-voca

· · Web · 2 · 0 · 2

@sl007
What meaning of the word "event"?
Like something that some people put on and others go to, like a conference or a show?
Or something that happened, like somebody did some work on something, like I mopped the floor?
Or some other meaning?
@darius

@bhaugen @sl007 @darius This is nice because I'm in the process of adding events to #Epicyon, but the Mobilizon Elixir code is hard to interpret.

@bob @sl007

Failed to look up thread. @darius means events that somebody is organizing.

@bhaugen @bob @darius

yes, no worries, I would also prefer " threaded comments" in mastodon ;)

I meant w3.org/TR/activitystreams-voca

"Represents any kind of event"

so anything is in conformance with specifications :)

@sl007 Does any activitypub software allow someone to "follow" a Service? (like, spec aside, I want this to work with existing software and am willing to fudge the types)

@darius @sl007 not yet, but the thing I work on[1] makes no distinction between types of actors. It's missing the important bits though, federation and distinguishing between actors than can allow/deny a request and the ones that the server should just accept for (like a service).

[1] github.com/go-ap/fedbox

@mariusor @sl007 this is a cool project, I especially love the `processing` repo!

@darius @sl007 that's the one I'm having the most issues with as there are very little details in the spec for it. :D

@darius @sl007 In #SkoHub (skohub.io) SKOS concepts are also an as:Service and can be followed. See e.g. the ActivityStreams representation of w3id.org/kim/hcrt/slide - > w3id.org/kim/hcrt/slide.jsonas

Any software should allow multiple values unless not specified else (maybe only 'id' and xsd:...) so it could also be ["Service", "Event", "Person"]

Personally I think "Person" is semantically misleading.

But "Service" is a Core Actor Type and the spec. clearly defines how to deal with Actors.
If activitypub software does not allow to "follow" an actor something must be wrong with the software ;)

@darius

I mean, since I am doing an ActivityPub server / client myself, I would have the following problem to federate with gath.io :

See github.com/redaktor/widgets-pr (still a mess) –

The widgets e.g. "Cards" do render _all_ the AP types and differently.
I am currently working on the layout for "Event", see screenshot (random words)
It will have "where" and "when" below the headline (after coffee) …

However, for all gath.io events it would now render a "Person" card …

@darius

I doubt that it helps ActivityPub if we try to downgrade anything to the very limited possibilities of mastodon UI.
I think mastodon would "convert it".

Also see e.g. w3.org/TR/activitypub/#conform

ActivityPub conformant Server
"This designation applies to any implementation of the entirety of the server portion of the client to server protocol."

This does not mean "only Note object type, only Person actor type, no i18n support, few properties etc."
It means "the entirety" …

cc @cwebber

@sl007 @cwebber why would I release AP software that publishes events nobody I know can consume today? If there were a way for me to publish these as both an Event and as a Person for compatibility I would definitely consider it. That way, the gathio software can get used by current popular software, newer clients that are more compliant could benefit from gathio in the ecosystem, and then the popular software could hopefully eventually support the "correct" object vocabulary.

@sl007 @cwebber (I'm working on Event support for Hometown by the way)

@darius @cwebber

How about a task for the
conf.activitypub.rocks
Hackathon

• "Event Federation"

Apart from being an actor and "type" a lot of 'flows' might be involved like "Offer"/'tickets' or "Question"/'are you going?'
I would be thrilled to let Hometown and redaktor federate like a superhero.

@darius @cwebber

Also Hometown currently supports all Actor types, see github.com/hometown-fork/homet
"SUPPORTED_TYPES"

So how about ["Application", "Event"] because mastodon/hometown flags "Service" as '(bot)'

@sl007 sorry it was very late last night and there are some critical issues with the actual semantics here that I'm worried about. It seems that Application would be the thing someone would follow? But that would mean I'd have to create an Application for each event, which would then emit Events, right? I can't just have a top level Application for Gathio because people don't want to follow the entire instance, just individual events (lower case, the human concept of a birthday party I mean)

@sl007 the big big problem for me is that I believe parties and concerts should be able to be Actors in and of themselves. This is not supported by the AS 2.0 spec if we are being strict about hewing to it.

@sl007 also, I forgot because it's been a long time, and it's possible that I may need to update FEDERATION.md but the gathio Person does emit Event objects, which are consumed correctly by Friendica

@darius

I see, then it is not very different from like redaktor will handle it …

@darius @sl007 the way I would do it to remain compatible to the spec, I would have a Group actor represent the addressable part of the Event. The top level actor for the whole server I would make into a Service actor.

@sl007 @darius Hey Sebastian, no I didn't plan to attend. I have too much going on at the moment to dedicate to other things, sorry. :)

@mariusor

shame, however, the keynote of
@darius
and all talks will go to peertube so at least you can watch them anytime :) here
@apconf

@sl007 @darius @apconf despite not attending I feel like I thank you for putting this together. :)

@darius @cwebber

So, which software would _not_ support it ?
I think any software supports "Actors" ?
For mastodon and pleroma it is described here :
git.pleroma.social/pleroma/ple

[only downside: mastodon will show '(bot)' after the event name in the profile]

Redaktor does it the same way than pleroma (and skohub, see previous comment) …

So, mastodon and pleroma should be ok with ["Service", "Event"].

In github.com/Chocobozzz/PeerTube
you can see that peertube supports all actor types too.

If we quickly define "popular" in ActivityPub software then I would research the others too !

and maybe also @pukkamustard knows how widely it is supported.
Cause we talked about that also OpenEngiadina supports multiple "type" -
for the example in redaktor it would be
["Service", "Event", "redaktor.me/ns/redaktor/Event"]

Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!