Thatâs true - at least at first. Instances can use a bound context (or multiple bound contexts) at first which they can use to discover each other, and then switch to an unbound context when itâs no longer necessary - for example, when a network grows large enough.
If context
is a Service
, maybe the outbox (or a similar concept) could be used? The only problem is that the outbox
is activities and not a real representation of a thread.
It does bring up another issue (maybe for another thread) - why there isnât a standardized endpoint specified for Actors that represents the current state/summary of all related objects? It seems like what we have in the outbox is effectively an activity log, when it would be nice to have a list of objects (current state).
For example, a standardized way to get this from an Actor:
{
"type": "Collection",
"name": "Sally's content",
"items": [
"https://sally.com/note/1",
"https://sally.com/note/3"
]
}
vs what we have in the current outbox:
{
"type": "Collection",
"summary": "Sally's outbox",
"items": [
"https://sally.com/create/note/1", // activity creates note 1
"https://sally.com/create/note/2", // activity creates note 2
"https://sally.com/delete/note/2", // activity deletes note 2
"https://sally.com/create/note/3", // activity creates note 3
"https://sally.com/edit/note/1" // sally then edited note 1
]
}
edit to expand that a little further, we can define vocabulary used to specify that a context would represent a thread vs. subject matter (for example, whatâs being discussed):
{
"id": "https://sally.com/note/1",
"name": "My favorite places to hike",
"context": [
{
"type": ["Service", "forum:Thread"],
"name": "Thread of Sally's Note #1 - 'Favorite Hiking Places'",
"id": "https://sally.com/thread/1"
},
{
"type": ["Service", "forum:SubjectMatter"],
"name": "Hiking",
"id": "https://sally.com/subject-matter/hiking"
}
]
}
Note I use âSubject Matterâ here instead of âTopicâ (just because that can get confused with Thread).