Skip to content

1b12: Group Federation

NodeBB has elected to follow FEP 1b12 for Group Federation. Nomenclature-wise, the term "group" here refers to the content submitted by a collection of users, represented by the Group Actor Type.

The proposal explicitly mentions "internet forums", and this concept is most analogous to both user groups and categories in NodeBB. In NodeBB, FEP 1b12 is implemented for categories only.

Our implementation

Each category in NodeBB is potentially able to federate content outward to the fediverse. They identify themselves as Group actors, and can maintain follow relationships with other actors/remote-users.

Additionally, NodeBB categories can follow other Group actors. This special handling was created in order for categories across disparate forums (e.g. separate NodeBB instances, or even other AP-enabled forum software) to synchronize their content with each other.

The audience

NodeBB sets the audience property to the NodeBB category that houses a particular post. While the FEP was written with the expectation that the audience is one order higher than the post, in forums, the audience is actually the second-order parent, with the first-order parent being the topic, which is expressed in context (see FEP 7888.)

The handle

Each category is given a handle that can be used to reference it locally or remotely. Like users and user groups, they must be unique, and the default is a "slugified" variant of the category name (e.g. "Category About Cats" would have the default handle category-about-cats.)

The announce

Whenever a user (local to the forum or remotely) posts content (new topic or reply), that category will federate an Announce activity to its followers, for that new post. This is analogous to an internet "share", and allows posted content to be more widely consumed by relevant parties.

There is no Announce federation for the Uncategorized category.

Direct address

Remote users may post new topics to a category by directly addressing their handle. In the contrived example above, a user may elect to post a new Note to @[email protected], and the category will capture that post and automatically slot it in the category.