ActivityPub for Drupal

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.

Main features

  • 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

Follow me!

Have an account on Mastodon, Pixelfed or Pleroma? Then you can follow me via @swentel@realize.be. 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.

ActivityPub for Drupal: first alpha release! If you are on a federated platform, you can now follow me via swentel@realize.be :) #drupal #activitypub https://realize.be/blog/activitypub-drupal

Comments

https://mastod… on Mon, 12/10/2020 - 10:26

@swentel good work. Would love to see more of the Drupal Community spread out from birbsite.

Katherine M. Moss on Mon, 12/10/2020 - 17:50

Only thing I find with this, you should now have me as a follower, at indieweb.social, but when I look at your page, it shows nothing at all under Mastodon.

swentel on Mon, 12/10/2020 - 19:03

You should see it now in your account on indieweb.social, I still manually accept the follow requests at the moment, which I have just done :)

Katherine M. Moss on Mon, 12/10/2020 - 19:07

Nice! I didn't know that. I wonder if that module works any better than the one for Wordpress does. I think I am at least going to test it out, so watch out for adventure references.

e0ipso on Wed, 14/10/2020 - 10:08

Nice stuff! I am looking forward to play with this.

I tend to miss your posts because I have not been able to find an RSS feed to subscribe. Do you have a feed I can use? In any case, in many occasions someone sends me your posts.

swentel on Wed, 14/10/2020 - 11:00

There are several links on the homepage: rss, microformats, or now via ActivityPub of course :)

sounds good on Thu, 15/10/2020 - 10:51

lets reboot the #openweb

ZΛRΛ | Availab… on Mon, 03/05/2021 - 09:00

Definitely!
The goal is to win together, fam 💪🏽

Jeff Markel on Fri, 31/03/2023 - 13:45

I'm curious if you've looked at or done anything with Jacob Rockowitz's Schema.org Blueprints module(s). There's a lot of work there with JSON-LD, which ActivityPub is also based on.

swentel on Sun, 02/04/2023 - 13:38

Not yet, but it's on the radar for easy extension of objects and properties without having to write it all myself :)

Add reply

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Have you written a response to this? Let me know the URL by sending a webmention.