Skip to content

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).