Vocabulary: Add 'managedBy' property for objects to specify parent actor (#159)
When an ActivityPub client or server wants to interact with some remote
object, it needs to identify *which actor controls this object*, and
send the activity (at least) to that actor. Right now, as far as I can
tell, the way to identify that actor is case-specific:
- When commenting on a Note, notify the Note's `attributedTo`
- When interacting with a Ticket, its `context` specifies the tracker
actor
- When interacting with a Commit, its `context` specifies the Repository
that contains it
- When sending a Grant providing access to some resource... hmm no
generic way to determine who the actor (who controls the resource) is!
Q: Why not use the `context` property for this?
A: Because it's a standard general-purpose commonly used/abused/overloaded
property. It's much safer and more friendly to have a dedicated property
for this, allowing devs to continue using `context` for whatever stuff
they're already using it for.
Q: `managedBy` isn't specific to forges, why put it in ForgeFed?
A: It's indeed not specific to forges. At a later time, I'd like it to
be elsewhere, in its own spec or Fediverse Enhancement Proposal. For
now, to make it already available for experimentation and implementation, for
now it's in ForgeFed, along with some other properties and types (such as
Grant).
Co-authored-by: fr33domlover <fr33domlover@riseup.net>
Reviewed-on: https://codeberg.org/ForgeFed/ForgeFed/pulls/159
Reviewed-by: Anthony Wang <xy@noreply.codeberg.org>