Extending ActivityPub: A Recipe

Occasionally there are online discussions about using schema.org vocabularies with ActivityPub (AP) and Activity Streams 2.0 (AS2). There are many ways to do this, but this article will explore one approach using a schema.org Recipe type. The information is focused on AP/AS2 messaging rather than user interface considerations related to displaying the recipe. Although the … Read more

FIRM: Authorization Support

Initial ActivityPub authorization (authz) support has been added to the FIRM software. It’s a plugin and specific implementations can customize the policies. Unfortunately, ActivityPub has very minimal guidance on authorization and access control, so different implementations may use significantly different policies. This initial version is relatively simple. In the future, I plan to explore other, … Read more

FIRM Server 0.2.0: – Linked Data

Version 0.2.0 of the FIRM Server has been released. This version adds support for Linked Data storage and queries. The new RdfResourceStore uses Oxigraph to store RDF information for ActivityPub and other types of data. The FIRM Core logic is the same whether the data is plain JSON stored on the filesystem, or RDF triples … Read more

FIRM: Initial Release

FIRM is a Federated Information Resource Manager. It’s a flexible server platform for experimentation with ActivityPub and Social Web software. The focus is not on performance or scalability, but on the ability to create rapid prototypes of new functionality. This is a work in progress so expect bugs and breaking changes. The source code is … Read more

ActivityPub: An Inbox is Not a Queue

It’s not unusual to see AP Fediverse posts discussing message queue middleware and message brokers and pondering whether using them is conformant with “inboxes” as defined in the ActivityPub Recommendation (AP). The answer is that conformance is not relevant because an inbox is not a queue. AP discusses an inbox from two perspectives: inbox endpoints … Read more

ActivityPub: A Box is not a Timeline

A key concept in the ActivityPub specification is the inbox and outbox. These are ordered collections of activities where the inbox contains activities received from other actors (typically on other servers) and the outbox contains activities produced by the actor owning the outbox. The inbox is part of the Server-to-Server (S2S) protocol that implements federation … Read more

ActivityPub Test Suite Redux

There’s recently been much discussion on the Fediverse about ActivityPub (AP) testing and associated test suites. The original ActivityPub test suite, originally hosted at activitypub.rocks, is frequently mentioned. The test suite hasn’t been running for years and it’s been difficult to find a maintainer because of the implementation programming language, Guile. Because of that situation, … Read more

Fediverse Account Migration

This article describes my findings about the current state of the art for Fediverse account migration at the time I wrote it. It does not cover all the issues of what Fediverse account migration should be. That’s a much bigger and more complex topic. However, many people are not clear about the current situation so … Read more

Decentralization in ActivityPub

The ActivityPub protocol is a decentralized social networking protocol … ActivityPub specification abstract The term, decentralized, is often used when discussing the virtues of the ActivityPub (AP) protocol. But what does that really mean? It seems that those involved in the discussions are typically thinking of decentralization in terms of computing resources. They also seem to … Read more

Mastodon