Existing implementations of Conversation Containers (#Streams and #Hubzilla) add a context property to top-level posts of conversations.
-
silverpill@mitra.socialreplied to trwnh@mastodon.social last edited by
@trwnh @jenniferplusplus @julian
There should be a way to go directly from
y
tothread-activities
:id: x context: thread-activities actor: a type: Create object: id: y thread: thread-posts threadContext: thread-activities content: "foo"
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by trwnh@mastodon.social
@silverpill @jenniferplusplus @julian in other words something like
```yaml
id: some-collection
summary: "alice's followers"
type: Collection
items: [bob, charlie, david]
itemsObjectOf:
type: Relationship
subject: alice
relationship: IsFollowedBy
itemsSubjectOf:
type: Relationship
relationship: IsFollowing
object: alice
``` -
Is it clearer now?
To re-iterate: root post is not excluded, I was talking about two different "contexts". With examples:
- NodeBB https://community.nodebb.org/post/102409 -
context
property is a pointer to a collection of posts
- Hubzilla https://hub.somaton.com/conversation/0145da10-b608-4b19-b1d5-89a461e473d0 -context
property is a pointer to a collection of activities (conversation container)If you're planning to implement Conversation Containers, you need a different property name for one of those collections
-
trwnh@mastodon.socialreplied to silverpill@mitra.social last edited by
@silverpill @jenniferplusplus @julian i don't understand why anyone would need to go directly from a single post to a collection of activities having to do with the thread. isn't it enough to pass through the thread itself first? e.g. take the Note.context.outbox for an "activity log", or if you're going to define a new property, then define it on the thread instead of on the post -- Note.context.history for example following https://w3id.org/fep/bad1
-
silverpill@mitra.socialreplied to trwnh@mastodon.social last edited by
@trwnh I want a direct link because I'm interested in all activities, not just posts. Going from Note to .context to .history requires additional HTTP requests.
contextHistory
is a good name though -
trwnh@mastodon.socialreplied to silverpill@mitra.social last edited by
@silverpill @jenniferplusplus @julian it's at worst 1 extra request, but there are other reasons why that doesn't seem like a good idea. first of all, it's conceptually not a property of the post; it's a property of the *Create activity* et al. it's like asking for a property that goes directly on posts whose value is the outbox of its author, instead of simply following attributedTo.outbox as a property path...
-
julian@community.nodebb.orgreplied to silverpill@mitra.social last edited by
@silverpill@mitra.social @trwnh@mastodon.social Yes, although I have not heard a convincing argument as to why both conversation containers and conversational contexts* cannot be referenced via
as:context
cc @jenniferplusplus@hachyderm.io
* "conversational contexts" is a working name... basically, the object collection.
-
@julian @silverpill @jenniferplusplus i'm still of the opinion that going directly from "post" to "conversation activities" without first passing through "conversation" doesn't make sense
-
>why both conversation containers and conversational contexts* cannot be referenced via as:context
How would you do that? Two
as:context
properties on a single object?Both collections should be discoverable via conversation root
-
trwnh@mastodon.socialreplied to silverpill@mitra.social last edited by
@silverpill @jenniferplusplus @julian
context on the object vs context on the activity?
the objects added into the conversation are the .items, and the activities related to the conversation can be put in the .outbox or .history or some other property of the conversation (not a property of the individual items)
-
julian@community.nodebb.orgreplied to trwnh@mastodon.social last edited by
@trwnh@mastodon.social @silverpill@mitra.social One or the other can be represented in
as:context
.I am of the opinion that we ought to be flexible with what
as:context
resolves to.If it resolves to:
- an
OrderedCollection
containing objects - a 171b conversation container containing activities
- the former but with full activity history via
outbox
There is room for all of us; the concession is implementors need to be flexible enough to handle activities OR notes.
This is not a decision between 7888 XOR 171b, 171b can be 7888-compliant.
- an
-
@julian @silverpill @jenniferplusplus this is less about feps to me and more about being clear and correct with the statements and descriptions. it’s not just the property or the value. the current subject also matters.
the context binding several activities together is not the same as the context binding the objects of those activities. we shouldn’t semantically confuse the two.
-
julian@community.nodebb.orgreplied to trwnh@mastodon.social last edited by
@trwnh@mastodon.social I know we had some discussions about what exactly a context collection should contain (plain objects vs. activities), but I don't actually see why the collection can't contain activities, at least from an implementor POV (which I'll wager @silverpill@mitra.social is also of that camp).
There's the distinction that if an object references a collection then it should be a member of said collection, but when it comes down to it, I'm actually perfectly ok with "an object references a collection, and it is indirect contained in it via a
Create
orAdd
" -
@trwnh@mastodon.social the more I mull it over, the more appealing it is to have access to the entire activity history so one can "replay" the activities to do more than backfill objects.
I'd be equally happy reading it via
outbox
though. I'm pretty flexible. -
@julian @jenniferplusplus @silverpill sure, but the set of instructions to replay is not the same as the final resulting state to be displayed. they are (or should be) distinct concepts
i’m not against exposing both, i’m just against exposing the activity log as the context for non-activity objects. doing that would be inaccurate or imprecise (you’d be collapsing the two contexts together)
of course there’s still flexibility where an activity may belong to both contexts
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@julian @jenniferplusplus @silverpill for example, if you intend to have a Move activity show up in the displayed conversation, it would in theory have two contexts: one context binds the activity log, and the other context binds the current conversation items
if both are declared explicitly, then the way you’d tell the two apart is by some heuristic (probably using new types or properties). but the activity log context may be implicit by way of the outbox.