Open nedjo opened 4 years ago
I had no idea these types existed. I would probably separate this issue and start with the common one being @username@example.com - at least, that's what I think is the most common one :)
I would probably separate this issue and start with the common one being @username@example.com
Group
can definitely wait. But ideally we'd ship an initial version with both the Organization
and the Person
models covered.
Say we're taking about the site of a nonprofit organization. Typically they'll have a "Follow us on [Twitter/Facebook/whatever, etc.]" button where all the organization's content is in one place, rather than scattered between separate streams, one for each staff member. For that organization use case, we need a single actor for the site.
Is that model mutually exclusive from per-user, or are they compatible on a given site? Part of that question probably comes down to: is it okay to provide the same content in multiple streams?
Ok, been reading https://w3c.github.io/activitypub/#actors and https://www.w3.org/TR/activitystreams-vocabulary/#actor-types - especially the 'Note' at #actors is interesting - and typically AP in the end in terms of "well we don't know, you decide" :)
I don't have a strong opinion on this at the moment, but I feel like the organisation could simply be a dedicated drupal account where the (fediverse) username is the name of the organisation no? From that perspective, there's no difference from a technical point of view between organisation user and person user as far as I can see. Which means less code to write and maintain :)
I could be missing things. I'll take a peek at mastodon and others to see if they make a difference between both - my gut feeling is that they probably don't even make that distinction so far, but who knows :)
So my initial use case was (organic) groups as the actors. They are the ones organising, and publicising events.
Avoiding name clashes for the webfinger was one of the reasons to make a activitypub actor with a unique acct:name@domain.example.com
, where name has to unique over all actor types. The paths to the actor themselves, their inbox, outbox, followers etc. can be /type/machine_name/inbox
for example, so there it doesn't matter, only for the webfinger.
[Aside I had wondered about (for D8) using the same paths as the entities themselves '/user/123' and just switching on the HTTP Accept Content Type 'application/activity+json'. In D7 way that's way too funky. So I ended up with /activitypub/type/machine_name[/{outbox|inbox|followers}]... which actually follows much what Mastodon does, it even redirects you based on you content type accept headers].
Roughly parallel issue on Indieweb: https://github.com/swentel/indieweb/issues/458
Who should a site's content be assigned to? There are probably at least three common models:
@sitename@example.com
: the site has a single actor/author of typeOrganization
. Appropriate for organizational websites. Fediverse clients can follow the organization as a whole.@username@example.com
: each user is a separate actor of typePerson
.@groupname@example.com
: each group (per Groups or Organic Groups modules) is an actor of typeGroup
.