7888: Demystifying the context property
FEP 7888 deals with adding some specificity to the context
property as originally specified in the ActivityStreams vocabulary:
ActivityStreams Vocabulary defines the context property, but it is "intentionally vague". Unfortunately, this makes the definition so vague as to be practically useless. This FEP aims to provide more guidance on possible uses of the context property, as well as formalizing some best practices.
— FEP Summary
Our implementation
Every post in NodeBB has the capability to be federated outward (whether it is done so is governed by the containing category's privilege settings). When done so, the object will contain the context
property as indicated by the FEP.
This context
property is the URL of the NodeBB topic.
The resolvable context
The context
value in each post (aka ActivityPub Note
) is also resolvable via ActivityPub.
While FEP 7888 does not explicitly detail the specifics of the resolvable context, NodeBB sends back an OrderedCollection
that contains the posts in that topic, with the appropriate sub-properties to allow it to be paginated if necessary.
This resolvable context enables the ability for other implementors to backfill an entire topic (or their nomenclatural equivalent) in its entirety without relying on other less-performant alternatives such as inReplyTo
traversal.
The Add
activity (or Inbox Forwarding)
The FEP specifies the sending of Add
activities when new content is discovered. At this time, NodeBB will not send the Add
activity or forward the accepted activity to its followers.
The future
FEP 7888 has done a great service in presenting a framework for use of the context
property. It takes into account that the property is already used by other implementors in a different fashion, and should work seamlessly in conjunction with them.
Much of the future of context
is currently undecided, but it is the primary focus of the SWICG Forums and Threaded Discussions Task Force (ForumWG).