Existing implementations of Conversation Containers (#Streams and #Hubzilla) add a context property to top-level posts of conversations.
-
julian@community.nodebb.organtwortete an silverpill@mitra.social zuletzt editiert von
@silverpill@mitra.social I would think that FEP-7888 merely suggests that
as:context
be used to group objects, although I think an implementation using it to group activities would be considered compliant. (@trwnh@mastodon.social to comment?)I don't see why a top-level post linking to its conversation container would need to use a property separate from
as:context
. It sounds like you consider the conversation container and the collection of posts to be separate entities, but that needn't be the case, they can be one and the same, unless I am misunderstanding.Last time ForumWG met we voted to recommend that individual objects use
as:context
. There is no additional guidance at this time as to what it points to or whether it should resolve (although that would be a logical next step). -
>It sounds like you consider the conversation container and the collection of posts to be separate entities, but that needn't be the case, they can be one and the same, unless I am misunderstanding.
Yes, conversation container is separate from collection of posts. Container contains activities (in the original implementation, it is a collection of
Add
activities). Top-level post is not part of that collection, and therefore shouldn't have it ascontext
. -
jenniferplusplus@hachyderm.ioantwortete an silverpill@mitra.social zuletzt editiert von
@silverpill @trwnh @julian
why would a top level post not be part of its own context? -
silverpill@mitra.socialantwortete an jenniferplusplus@hachyderm.io zuletzt editiert von
@jenniferplusplus In our case, conversation context is a collection of activities. If we add top-level post (Note) to that collection, it becomes a mixed bag. It's harder to parse, and generally doesn't feel right to me.
So I want to have two collections, one with activities and one with posts, and use two different properties:
1.
Note.threadContext
(orNote.conversationContext
) - points to a collection of activities.
2.Note.thread
(orNote.context
) - points to a collection of posts. -
jenniferplusplus@hachyderm.ioantwortete an silverpill@mitra.social zuletzt editiert von
@silverpill @trwnh @julian
Yes, I get that you want a collection of activities. But that's not what I asked. You said the top level post should not be part of it's own context collection. Why not? -
trwnh@mastodon.socialantwortete an jenniferplusplus@hachyderm.io zuletzt editiert von
@jenniferplusplus @silverpill @julian my read of the topic so far (if i understand correctly) is that there's confusion on a context being bound by "posts" or "activities". imo it can be whatever -- participants optionally declare a context they consider their objects created within, but moderators then optionally add what they want (since it's a collection they own). the "next step" would be to signal the moderator's criteria for what might get added, but there are no hard-and-fast rules in AP,
-
@jenniferplusplus @silverpill @julian ...so it's anyone's opinion on what should end up in any collection
personally i still think the `outbox` is the most natural place to put activities. especially if they're Add activities. in its simplest form, consider such an `outbox` to basically be an append-only log of Add and Remove activities. this logically implies that the collection contains the objects of the Add/Remove
this can be more or less automated by making the collection Add to itself
-
jenniferplusplus@hachyderm.ioantwortete an trwnh@mastodon.social zuletzt editiert von
@trwnh @silverpill @julian
No, that is not the confusion.silverpill said:
> Yes, conversation container is separate from collection of posts.Cool
> Container contains activities (in the original implementation, it is a collection of Add activities).
I can live with this
> Top-level post is not part of that collection, and therefore shouldn't have it as context.
Why? This makes no sense. Why is the first post in a thread not part of the context?
-
@jenniferplusplus @silverpill @julian i'm not really happy with this 100% but there's no getting around the difference in implementations because it really stems from a more fundamental issue -- that of the "fediverse" not actually being a single replicated network, but really an ersatz way to publish resources to the Web that describe more or less the same end result but in multiple possible (and logically equivalent) forms
-
@trwnh@mastodon.social @jenniferplusplus@hachyderm.io @silverpill@mitra.social I think that makes sense considering that outboxes already do contain activities, so it's not a stretch from prior art.
I'd also like to know the thinking behind excluding root-level post from the context collection. I think it belongs within, but other software may consider root level objects to be like "topics", and so would be on a separate level from replies. The easiest example I can think of right now is Lemmy, which is how it handles posts.
-
silverpill@mitra.socialantwortete an jenniferplusplus@hachyderm.io zuletzt editiert von
@jenniferplusplus @trwnh @julian
I'm talking about two different collections:
- Collection of activities (conversation container, conversation context, thread context). I said that top-level post shouldn't be a part of this collection because it is not an activity.
- Collection of posts (conversation, thread). Top-level post certainly should be a part of this collection, but implementations of Conversation Containers currently don't publish this collection. I want to publish both collections. -
@julian @jenniferplusplus @silverpill personally i'd mostly be interested in a collection of "posts" (including the first one) so i would probably back that interpretation as well, and i'd say that if the "first post" was *not* part of the collection, then there's probably something else going on -- maybe captured by a property like `comments`?
something like lemmy with its Page/Note split is more of an antipattern imo. then again, replies and comments are both subject to this bc topical drift.
-
@silverpill @jenniferplusplus @julian have you considered that maybe "posts" can have their own `context`, and "activities" can also have their own `context`?
-
@trwnh @jenniferplusplus @julian Both collections are "contexts" in a sense that they represent groups of related entities. I refer to collection of posts as "thread" because this is what it is.
-
@silverpill @jenniferplusplus @julian
```yaml
id: x
context: thread-activities
actor: a
type: Create
object:
id: y
context: thread-posts
content: "foo"
```thread-posts can contain your contentful objects, and thread-activities can contain everything even tangentially related to that conversation
-
@trwnh @jenniferplusplus @julian Yes, that's exactly what I am proposing, two collections. I just find it confusing when both of them are "contexts"
-
@silverpill @jenniferplusplus @julian conceptually they still are both "contexts" in that they group things that belong together, but there's probably a missing piece somewhere to signal a more specific purpose, like some way to describe the implied relationship between some subject and all collection items (linked by some predicate)
this is a more general problem bc you don't know that a given collection is e.g. a followers collection or a replies collection.
-
@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"
-
@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