mirror of
https://code.sup39.dev/repos/Wqawg
synced 2024-12-27 16:34:52 +09:00
FEDERATION.md: Write events
property proposal
This commit is contained in:
parent
53cb99877b
commit
0ff5f71626
1 changed files with 42 additions and 0 deletions
|
@ -549,6 +549,39 @@ independent of any domain-specific vocabulary or extension.
|
|||
|
||||
The current working name for this property is `managedBy`.
|
||||
|
||||
#### (7) Events collection
|
||||
|
||||
Defines a standard property to provide a collection of activities related to a
|
||||
given object.
|
||||
|
||||
Suppose Aviva is writing a story, and publishing its chapters as ActivityPub
|
||||
activities. Aviva is an actor, with an inbox and with an outbox, but the
|
||||
chapters aren't actors. She publishes them using Create activities, in which
|
||||
the objects are of type Chapter or something like that. So, when Aviva
|
||||
publishes a chapter, it appears in her outbox.
|
||||
|
||||
A while later, Luke joins her story writing project, and he writes some
|
||||
chapters too. When he writes a chapter, he publishes it and delivers to Aviva's
|
||||
inbox.
|
||||
|
||||
From Aviva's point of view, her story's activities exist in 2 places:
|
||||
|
||||
- Some of them exist in her outbox (the ones she publishes)
|
||||
- And some in her inbox (and ones Luke publishes, or any future contributor)
|
||||
|
||||
If we wanted to get a list of all the activities and changes to the story, how
|
||||
would we do that? If the story were an actor, we could deliver everything to
|
||||
its inbox, and then its inbox would reflect all the events and changes. But
|
||||
since the story isn't an actor, there's no obvious place for this. We'd have to
|
||||
somehow get a filtered view of Aviva's outbox and a filtered view of Aviva's
|
||||
inbox for this. And the latter is especially problematic, because inboxes are
|
||||
generally private.
|
||||
|
||||
This proposal suggests a property named `events`, which maps to an
|
||||
`OrderedCollection` of the activities related to the object. That way, even
|
||||
objects that aren't stand-alone and aren't actors can provide a stream of
|
||||
updates.
|
||||
|
||||
### (C) ForgeFed
|
||||
|
||||
#### (1) Actors
|
||||
|
@ -721,6 +754,10 @@ TODO:
|
|||
{ "@id": "ext:dependedBy"
|
||||
, "@type": "@id"
|
||||
}
|
||||
, "events":
|
||||
{ "@id": "ext:events"
|
||||
, "@type": "@id"
|
||||
}
|
||||
}
|
||||
]
|
||||
, "id": "https://dev.federated.coop/luke/text-adventure/issues/113"
|
||||
|
@ -748,9 +785,14 @@ TODO:
|
|||
, "https://dev.community/jerry/text-game-engine/issues/1219"
|
||||
]
|
||||
, "dependedBy": "https://dev.federated.coop/luke/text-adventure/issues/87"
|
||||
, "events":
|
||||
[ ...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
TODO list actual examples under the "events" property (proposal B.7)
|
||||
|
||||
TODO replies and depends (ForgeFed #12)
|
||||
|
||||
TODO content/source and media types (ForgeFed #11)
|
||||
|
|
Loading…
Reference in a new issue