Does context have to be a collection?
-
Hi @[email protected]! The current recommendation is that
context
be ideally a URL.We have not voted on further recommendations but the consensus is that it should be resolvable to a Collection or OrderedCollection and the original post is contained within (first item of the collection).
Open to discussion as to whether this works for you or not. This is why the recommendation on that has not been solidified yet.
-
-
replied to julian last edited by
@julian @pfefferle there's a few options on what it would ideally be, but it *can* be any Object
1) group by `id`
2) possibly moderated by `attributedTo`
3) should have some collection associated with it somehow, just a flat list of everything includedthe jury's out on how best to do #3 because the goal is to eventually be able to Follow a conversation. but https://github.com/w3c/activitypub/issues/486 makes it problematic to try to Follow a Collection directly...
-
replied to infinite love ⴳ last edited by
@julian @pfefferle in terms of what kind of Object to use other than a Collection, i would say maybe don't use a Note because this is often not semantically correct. the current WIP idea is to define a `Conversation` entity that has something like a `posts` property. the thinking is that a conversation *has* a collection of posts, not that it *is* a collection of posts. this is the topic of a separate FEP though. nodeBB briefly went ahead and used Conversation before rolling it back as too early
-
replied to Matthias Pfefferle last edited byAnd there are situations where the context will NOT be a collection.
For example, for a project management system, the context may be a specific task, but multiple threads (conversations) are related to that task. There is no collection to serve, since each thread has their own collection, and may even be on different servers.
This is why I advocate for a thread field that indicates the thread, if it has one. There are other use cases for context. -
replied to Scott M. Stolz last edited by
@scott i imagine in the case that you're describing, a Task might have a `context` of a Project, but if you want to say that some Conversation is "related to" the Task, you would use something like `tag` instead? it doesn't make much sense to claim that an Article exists in context of a Task...
the other thing i have to ask is why even bother using AS2 for something that clearly isn't related to the AS2 content model of Note, Article, and Document? i'd consider using a different vocab entirely.
-
replied to infinite love ⴳ last edited by
@scott you might reuse *some* terms from AS2 but there's no need to overdo it. use different terms from different vocabs as appropriate. if an AS2 term isn't a perfect fit for a concept, don't try to force it in.
-
replied to infinite love ⴳ last edited by
-
@[email protected] you're right about that. While we haven't standardized on what the collection should resolve to, existing implementations today already resolve to a Collection-style type.
Take a look at this example to see how it is done in NodeBB:
Does context have to be a collection?
@julian I am reading through the context fep and I am wondering if nodeBB only supports the context to be a collection or could it also be a post that starts...
NodeBB Community (community.nodebb.org)
(As of writing this context only has 9 items so all items are shown as is, although one could break it up into pages as needed)
-
@[email protected] I would be thrilled to.
I would be on a beach in Mexico (family vacation), but I will make it happen.
-
replied to Matthias Pfefferle last edited by
@pfefferle You may want to read the previous version of FEP-7888, which says that context should resolve to a collection:
fep/fep/7888/fep-7888.md at 6db51e4893e32c603a93a7570d3db4e412f0a8c2
fep - Fediverse Enhancement Proposals
Codeberg.org (codeberg.org)
This is what various projects have implemented so far.
The FEP was changed several days ago and now it is a very different document. The recommendation to use collection is no longer present, so I don't see any reason to refer to this FEP anymore.
-
replied to infinite love ⴳ last edited by@infinite love ⴳ The projects and tasks would have its own API or protocol for syncing and sharing. I am not referring to that.
I am talking about when a AS2 Note or AS2 Article is associated with a Task or Project.
Server A might want to notify Server B of that association over ActivityPub, because AS2 Notes and AS2 Articles will be delivered over ActivityPub, not the Project API/protocol.
The user interface could then link to the related project or task. -
replied to Scott M. Stolz last edited by
@scott use `tag` for that
-
replied to silverpill last edited by
thanks @silverpill
-
replied to infinite love ⴳ last edited by@infinite love ⴳ That is doable. But the naming convention is a bit wonky.
You use context for collections. You use tags for context. You use summary for content warnings.
You don't want to use the term threads to describe threads because you want it to be a collection, which you call a context. So there is no way to specify the top level post without creating a collection.
It would be nice if the names reflected what the field is actually used for. -
replied to Scott M. Stolz last edited by
- context isnt just collections, it's basically a supertag that lets you group things that belong together, the other half of scoping (next to audience)
- tags are literally "related to" taxonomical references so this shouldn't be mismatched at all
- threads aren't necessarily trees with a top or root, they may be a chronologically sorted ordered set
- names have multiple interpretations and connotations, this is ideally why we use URIs not basic string terms. as2-vocab has definitions. -
replied to Scott M. Stolz last edited by
-
replied to infinite love ⴳ last edited by@infinite love ⴳ
- tags are literally "related to" taxonomical references so this shouldn't be mismatched at all
Exactly. It is not for #hastags like the name implies.