You've successfully subscribed to Castopod Blog
Great! Next, complete checkout for full access to Castopod Blog
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

The first 12 plugins of Castopod

Explore the first 12 Castopod plugins, new features, Plugins Architecture enhancements, and upcoming improvements ahead of the final v2 release, including the Plugins Repository, an index for discovering and installing plugins.

Yassine Doghri
Yassine Doghri

The second milestone for Castopod Plugins has been reached!

A few months ago, we've announced Castopod v2, the next major version of Castopod, opening up customization capabilities for the community thanks to the Plugins Architecture.

Since then, we've now created the first 12 plugins of Castopod, each one satisfying different use cases and pushing the limits of the architecture.

At the same time, we've also kept on maintaining v1 and welcomed significant contributions with:

Introducing the 12 Official Plugins

In recent months, we've been reshaping the Plugins Architecture by developing a collection of official plugins for Castopod. These plugins fall into two categories:

πŸ”Ί features previously part of the core that have been extracted
🟒 new features introducing Podcasting 2.0 tags or long-awaited improvements

  1. 🟒 custom-head
    add code snippets in the <head> tag of all public pages: inject new meta tags, custom styles, or third-party scripts.
  2. πŸ”Ί custom-rss
    inject custom RSS to your feed's channel and items.
  3. πŸ”Ί op3
    prefix your episodes url with the Open Podcast Prefix Project (OP3) analytics service.
  4. πŸ”Ί owner-email-remover
    remove all occurrences of owner email from the RSS feed.
  5. 🟒 podcast-block
    express which platforms are allowed to publicly display your feed and its contents.
  6. πŸ”Ί podcast-episode-season
    indicate the podcast's episode or season number and names.
  7. 🟒 podcast-images
    add multiple image resources for the podcast in your RSS feeds using <podcast:images>'s Podcasting2.0 tag.
  8. 🟒 podcast-license
    indicate the podcast's license
  9. πŸ”Ί podcast-medium
    specify the type of medium your RSS feed holds.
  10. 🟒 podcast-podroll
    recommend other podcasts.
  11. πŸ”Ί podcast-txt
    add freeform text, like a DNS TXT record.
  12. πŸ”Ί show-notes-signature
    add a signature to all your episodes show notes, a great way to include your social links in one go.

You can find the source code for these plugins, all licensed under AGPL v3, at https://github.com/ad-aures/castopod-plugins.

Advancing the Plugins Architecture

The majority of the improvements during this period focus on the form builder. When developing a plugin, you can define forms through the settings property in the plugin's manifest.json file. This prompts users in the admin area to input data, which can then be utilized when implementing the plugin's logic in the Plugin.php file. Check out the docs to learn more.

The following updates have been introduced to the form builder:

New field types

  • rss: a code editor for writing XML tags, specifically adhering to RSS specifications.
  • html: a code editor for creating HTML content.
  • group: allows grouping of form fields, requiring a fields property to be specified.

New field properties

  • multiple: enables a field to accept multiple entries, allowing users to add additional fields as needed.
  • validationRules: defines validation rules to ensure user input is correct.
  • defaultValue: specifies a default value for a field.

Other enhancements

  • The helper and hint properties are now available for all field types.
  • options now support a description property.

The Road to the Final v2 Release

With the recent enhancements and updates, creating a new plugin has become an enjoyable and intuitive process.

πŸ‘‰ Some plugins took us only a few minutes to get up and running!

We’re nearly there!

1. Plugins Repository

Our next focus will be developing the plugins repository, an index of both official and community crafted Castopod plugins.

This future open data & open source repository will enable users to discover, download, and install their favourite plugins to enhance their Castopod experience.

2. Refactor, refactor, refactor

refactor-refactor-refactor
Before the final v2 release, we’ll tackle some long-awaited improvements to enhance UX and address persistent bugs:

  1. Media files
    • Implement asynchronous media uploads.
    • Enable sharing of media files and editing of their metadata.
    • Unlock support for alternative media sources.
  2. Fediverse
    • Resolve issues with fediverse integration by reworking the module.
    • Add a proper nodeinfo2 route for improved discoverability.
  3. PHP 8.4
    • Upgrade the codebase to the latest PHP version for improved stability. PHP 8.4, released on November 23, 2024, is supported until December 31, 2028.

Once complete, we’ll release v2 and assist users in migrating to the new version! πŸš€

CastopodFediversePluginsRelease

Yassine Doghri

Passionate web developer & designer who likes to create things. I've built @castopod and working on making it better!