FEP Convergence (400e, 7888, 171b/Conversation Containers, 76ea)

@infinite love ⴳ You cannot assume the audience is the same as the category, context, forum, or sender. Some software, such as Hubzilla, has access control. You can set the audience for each individual thread.

Also, what happens when a post has multiple contexts? It is part of a category that you can follow. It was placed in a curated list of posts that you can follow. And it is also part of a thread that is in a forum you can follow. You have three contexts and three actors for the same post.

If you are displaying posts (notes, articles, whatever) as part of a conversation, then knowing which one of those is the thread would be useful.

@scott objects can exist in multiple contexts, same as how an object can be in reply to multiple objects.

The part where I disagree is that not everything needs to be a `context`. A "category" is just a taxonomy, like any tag; the posts exist separately from that taxonomy. A "curated list of posts" is just a Collection, and the posts exist separately from that curated collection.

To figure out what is a context, ask: "does this post make sense on its own?" if no, it exists in some context.

@scott objects can exist in multiple contexts, same as how an object can be in reply to multiple objects.

The part where I disagree is that not everything needs to be a `context`. A "category" is just a taxonomy, like any tag; the posts exist separately from that taxonomy. A "curated list of posts" is just a Collection, and the posts exist separately from that curated collection.

To figure out what is a context, ask: "does this post make sense on its own?" if no, it exists in some context.

@scott That is to say, the audience/category/context/forum/sender are all separate concepts. It's fine to set an audience for each thread separately. It's also fine to set an audience for each post separately. But if the post is meant to be viewed in the thread, then that thread is serving as a context. "Context" is loosely something that provides reason, purpose, understanding. It's got nothing to do with being in a collection or being followable (although a context MAY be those things.)

@scott That is to say, the audience/category/context/forum/sender are all separate concepts. It's fine to set an audience for each thread separately. It's also fine to set an audience for each post separately. But if the post is meant to be viewed in the thread, then that thread is serving as a context. "Context" is loosely something that provides reason, purpose, understanding. It's got nothing to do with being in a collection or being followable (although a context MAY be those things.)

@infinite love ⴳ So, does that mean that context = thread, and nothing else can be a context?

@infinite love ⴳ So, does that mean that context = thread, and nothing else can be a context?

@scott No, a thread is only a context it's declared as an object's context. The context for an object should be something that gives it reason or purpose for existing; processing an object without its context means you aren't fully understanding the object. The context helps you understand that object.

This is generally a "conversation" but not always. Other examples of contextual grouping include a "project" or an "environment".

@scott No, a thread is only a context it's declared as an object's context. The context for an object should be something that gives it reason or purpose for existing; processing an object without its context means you aren't fully understanding the object. The context helps you understand that object.

This is generally a "conversation" but not always. Other examples of contextual grouping include a "project" or an "environment".

@scott Also note that a context doesn't have to be a Collection. You can group by anything. You could set `context` to a Person or Note or Event or whatever you want, if it helped you understand the current object, and if you grouped all objects that shared the same `context` (in a task list, for example). So it's like a tag, but with purpose. If there isn't a purpose, consider using a basic tag.

For "post" objects, it generally makes sense to use a Collection representing the "conversation".

@scott Also note that a context doesn't have to be a Collection. You can group by anything. You could set `context` to a Person or Note or Event or whatever you want, if it helped you understand the current object, and if you grouped all objects that shared the same `context` (in a task list, for example). So it's like a tag, but with purpose. If there isn't a purpose, consider using a basic tag.

For "post" objects, it generally makes sense to use a Collection representing the "conversation".

@infinite love ⴳ So, what happens if a post is part of a thread and a project? How do you know which context is the thread?

My point is that a post can have more than one context.

@infinite love ⴳ So, what happens if a post is part of a thread and a project? How do you know which context is the thread?

My point is that a post can have more than one context.

@scott Right, so, if you have a specific meaning of "thread" in mind, then you can define a property for that. Would you say that a post can be part of more than one thread, or are you assuming a functional (max 1) relationship?

@scott Right, so, if you have a specific meaning of "thread" in mind, then you can define a property for that. Would you say that a post can be part of more than one thread, or are you assuming a functional (max 1) relationship?

@infinite love ⴳ Traditionally, a post can only reside in one thread. If you try to assign a post to more than one thread, it breaks a lot of things, like the access list (audience) for the thread, the “owner” of the thread, moderation by administrators, etc.  

That is probably why many people, including myself, want to define a thread as something separate from a collection.

So, I would say that a post can only reside in one thread, but can reside in multiple collections and/or contexts.

@scott Even if you define a thread property, that alone doesn’t stop someone from being able to declare multiple threads. I’m not convinced anyone can define “thread” in a way that is unique or even distinct from what we already have. Access lists are per-object, regardless of whether that object is a post or a collection of posts. You may be able to see a thread, but not all posts in that thread. Conversely, you may be able to see a post, but not the thread(s) it’s a part of.

@scott Even if you define a thread property, that alone doesn’t stop someone from being able to declare multiple threads. I’m not convinced anyone can define “thread” in a way that is unique or even distinct from what we already have. Access lists are per-object, regardless of whether that object is a post or a collection of posts. You may be able to see a thread, but not all posts in that thread. Conversely, you may be able to see a post, but not the thread(s) it’s a part of.

@scott In any case, being part of a collection isn’t the same as having some context. Being part of a thread *usually* maps onto the concept of having additional context, where the thread provides context for the post, and the post exists in context of that thread. The way you handle context is by using it to group things. That context MAY have an owner, and it MAY be a collection. IF it has an owner, it is common courtesy to send your object to them. IF it is a collection, they may Add it.

@scott In any case, being part of a collection isn’t the same as having some context. Being part of a thread *usually* maps onto the concept of having additional context, where the thread provides context for the post, and the post exists in context of that thread. The way you handle context is by using it to group things. That context MAY have an owner, and it MAY be a collection. IF it has an owner, it is common courtesy to send your object to them. IF it is a collection, they may Add it.