After a couple of weeks of coding and testing, I've tagged a first alpha release of the ActivityPub module for Drupal! It implements the protocol so that you can communicate with other Drupal sites or platforms which support ActivityPub. Remote accounts on for example Mastodon or Pixelfed can follow any user on a Drupal site now and read content, like posts and reply from their platform. It's only the tip of the iceberg of what's possible with AP, but the main focus at this point is discovery of content and users on remote platforms and performing typical social responses (reply, favorite, announce).
The core of the implementation uses Drupal plugins to map fields and content types to activity types. Being in alpha means that the interfaces will most likely change as bugs are fixed and new features will be implemented, but I'll document those when I tag a new version. For more information, installation and configuration, check the README which I will continue to update as well.
- Enable ActivityPub per user, discovery via the Webfinger module
- Map Activity types and properties to content types and create posts to send out to the Fediverse.
- Create comments from Create activities from remote users to content
- Accept follow requests, Undo (follow), Outbox, Inbox and followers endpoints
- Send posts via drush or cron, with HttpSignature for authorization
Have an account on Mastodon, Pixelfed or Pleroma? Then you can follow me via @firstname.lastname@example.org. Discovery probably works on most other platforms as well, but I haven't interacted with those yet, and I hope other people will download and start testing with those as well.