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.
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:
- an awesome user guide (written by Paul Cutler, host of The CircuitPython Show podcast)
- new cool API features (implemented by Nate Ritter)
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
- π’ custom-head
add code snippets in the<head>
tag of all public pages: inject new meta tags, custom styles, or third-party scripts. - πΊ custom-rss
inject custom RSS to your feed's channel and items. - πΊ op3
prefix your episodes url with the Open Podcast Prefix Project (OP3) analytics service. - πΊ owner-email-remover
remove all occurrences of owner email from the RSS feed. - π’ podcast-block
express which platforms are allowed to publicly display your feed and its contents. - πΊ podcast-episode-season
indicate the podcast's episode or season number and names. - π’ podcast-images
add multiple image resources for the podcast in your RSS feeds using<podcast:images>
's Podcasting2.0 tag. - π’ podcast-license
indicate the podcast's license - πΊ podcast-medium
specify the type of medium your RSS feed holds. - π’ podcast-podroll
recommend other podcasts. - πΊ podcast-txt
add freeform text, like a DNS TXT record. - πΊ 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 afields
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
andhint
properties are now available for all field types. options
now support adescription
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
Before the final v2 release, weβll tackle some long-awaited improvements to enhance UX and address persistent bugs:
- Media files
- Implement asynchronous media uploads.
- Enable sharing of media files and editing of their metadata.
- Unlock support for alternative media sources.
- Fediverse
- Resolve issues with fediverse integration by reworking the module.
- Add a proper
nodeinfo2
route for improved discoverability.
- 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! π