Suppose I have an object, for which I’d like to be able to provide an
OrderedCollection of activities related to it. For example, imagine an
Issue object displayed on a web page, and under the description there’s a list of the comments and/or other related events. If you look at this example you can see comments and other events displayed together, and if you choose “show history only” you’ll see only non-comment events.
If the object for which I’d like to display events is an ActivityPub actor, then I can make sure all the related events land in its inbox, right? And make that inbox publicly accessible (possibly filtering out any private/team/staff/admin related events). But what if the object isn’t an actor? This leads me to ask:
- Should an object become an actor whenever I want to provide a view of events related to it? For example should every issue of every repo be an actor?
- If not, how do I provide the collection-of-events?
If the answer to (1) is no, i.e. don’t make it an actor, then we can just add some field to the object, whose value is a collection of events. I’d like to propose, that we give this property a standard name, so that it can be easily recognized. But to avoid confusion, that name probably shouldn’t be “inbox”. It may be tempting to use “inbox” because it’s standard, but it’s also misleading, because it’s not an actual inbox, because no delivery happens there. It’s just a collection generated from the inbox of some parent object that is an actor and has a real inbox.
I’d like to suggest the name “events” for this property. It’s not a final name, and open to feedback. It’s just the name I’m using in Vervis to provide a collection of events related to issues, much like those events in the example I linked. (and hmm I don’t have a specific suggestion for the JSON-LD context that would define this property)
Thoughts and feedback very welcome!!! What do you think and what do you use in your projects