Website Logo Search ⌘K

Details on Technical Architecture

Integration Points with Mastodon #

Mastodon does not offer an “official” API for plugins or extensions to the core software. Thus we have added this outline of the ways the Newsmast plugin gem & dashboard integrate with and extend Mastodon.

🗒️ Note

Not all Newsmast installations require the dashboard to be set up, but they all use the plugin in order to power certain features of the apps.

As much as possible, we have avoided patching any of Mastodon’s code directly at the source file level. Newsmast is not a “fork” of Mastodon. However, we do patch in real-time (aka monkeypatch) several Mastodon subsystems, and in vary rare cases where monkeypatching is not possible, we modify certain files in the Mastodon repo on disk (documented below). We also access the Mastodon database directly from within Newsmast, both updating the DB schema or adding new tables to support Newsmast features, and there are some calls to the Mastodon REST API via an application token.

New Database Tables #

…

Updated Tables (Existing Mastodon) #

…

Other Database Enhancements #

Views? Queries?

Monkeypatches #

Controllers / models / views/emails / etc.

Source File Changes #

Chewy

…


Skip to content Close