Skip to content
This repository has been archived by the owner on Jul 26, 2024. It is now read-only.

Latest commit

 

History

History
73 lines (42 loc) · 6.37 KB

index.md

File metadata and controls

73 lines (42 loc) · 6.37 KB

Fediverse Tools for Joomla

Joomla! extensions to integrate Mastodon with your site

What's this all about?

This is a package of Joomla!™ extensions which allow you to integrate Mastodon and ActivityPub in meaningful ways with your Joomla! site.

There are three levels of integration which can be used concurrently or independently of each other:

  • Consume. You can display Mastodon posts (toots) and activity streams on your site.
  • Announce. You can announce your Mastodon presence on your own site so that users who have your username and domain name can follow you on Mastodon, without having to explicitly tell them your Mastodon handle in advance.
  • Publish. You can publish your own site's content into the Fediverse. Any ActivityPub user (Mastodon, PeerTube, Pixelfed, Tumblr, …) can “follow” an account on your site and see your site's posts in their feed.

Unlike other microblogging / social media integration extensions there is no privacy-invading JavaScript, no need for cookie banners, no centralised control of the published content. You are in full control of your content.

🚧 Work in progress 🚧

This documentation is currently a work in progress. Links surrounded with a work in progress sign (🚧) point to pages which have not been written yet. Selecting them will result in an error. Luckily, the functionality they describe is either explained in the Getting Started section below, or is self-explanatory as long as you use the Show/Hide Inline Help when editing the corresponding plugin (a standard feature in Joomla 4.1 and later).

Getting started

Getting started with software tends to be hard. Most of the time, developers will tell you how every bit and piece works instead of telling how to get stuff done. That's why I decided to start this documentation from the opposite direction: give you step-by-step guides on how to do something practical, along with some pointers to let you dive deeper if you want to.

Basic usage: consuming Mastodon posts (toots)

Intermediate usage: announcing your Mastodon presence to the world

Advanced usage: publishing your content to Mastodon and the Fediverse

ActivityPub? Fediverse? Are you talking in tongues?!

In case something sounds unfamiliar and unintuitive, please take the crash course in the Fediverse lingo a.k.a. the common terminology for all things Fediverse.

Documentation by extension, a.k.a. Reference Manual

Displaying toots

Fediverse Tools allows you to display individual toots or toot streams from any Mastodon user.

Tip: See which features are supported

  • Fediverse - Mastodon Feed (Module). Displays the public Mastodon feed of a user. Supports media (images and videos), as well as content warnings on the entire toot or just each media item.
  • Content - Embed Toot (Plugin). A plugin to embed toots in articles, Custom HTML modules, and third party extensions which support Joomla's standard content events.

WebFinger

WebFinger is an Internet protocol (RFC 7033) which allows remote servers to query information about users on your site. You can use it to either publish information about your Mastodon presence (so you can be followed as [email protected] where example.com is your Joomla site's domain name, regardless of what your Mastodon handle is), or to let other ActivityPub / Mastodon users “follow” your site's content when used together with the ActivityPub component described in the next section.

Federating your content

Using the component and plugins in this section you can allow ActivityPub / Mastodon users to “follow” your site's content — either the content published by a specific user, or aggregated content across categories and users which you choose.

  • ActivityPub (Component). The component which allows you to define ActivityPub Actors (users) and which handles the ActivityPub API — this enables federation of your site's content with third party ActivityPub servers such as Mastodon instances. Requires all other plugins in this section, as well as “System - WebFinger” to be published with their Access set to Public for content federation to work. Moreover, you will need a scheduled task of the “ActivityPub - Notify” type running every minute through Joomla's Scheduled Tasks.
  • WebFinger - ActivityPub (Plugin). Adds ActivityPub information in the WebFinger protocol (RFC 7033) responses. This lets other ActivityPub users (such as Mastodon users) to “follow” your content. Requires the System - WebFinger plugin to be enabled.
  • 🚧 Content - ActivityPub integration for Joomla articles (Plugin) 🚧. Provides the link between Joomla's Articles (com_content) and the ActivityPub component. This is what allows your articles to be federated with other ActivityPub instances.
  • 🚧 Task - ActivityPub (Plugin) 🚧. Provides the “ActivityPub - Notify” task type. You need a task of that type running every minute; it ‘pushes’ the content you publish into other federated ActivityPub (e.g. Mastodon) instances.
  • 🚧 Web Services - ActivityPub (Plugin) 🚧. Enables the ActivityPub component's Joomla API part. Having this plugin published is mandatory for the ActivityPub component to work.

Further information

Please take a look at the accessibility statement to understand what Fediverse Tools for Joomla does to make sure that the content it produces is accessible to users with disabilities.