Setting Up a Podcast Channel in Rock RMS

  • By Trey Hendon III 3 Years Ago

Let's start with what seems like a big question to me: Podcasts are coming in a later Rock release, why should I use a custom block?

Answer: It's not a custom block. I want to show you how to configure podcasts using the existing tools in Rock.
Sadly, I figured this out shortly after Content Channels where introduced, but I just haven't stopped to write it down yet. My apologies.

What You Need to Know

Content Channels have a lot of really cool options. In Rock we call these Attributes. Since this is a blank canvas, let's talk through what I want to do with my Podcast Channel.

For our church (in our existing CMS) we publish all the following feeds from one Podcast Channel:

  • Audio Podcast
  • Video Podcast
  • Roku App
  • Amazon Fire TV App
  • Website Media Page

I'm only going to cover the Audio and Video Podcast feeds today, but hopefully this will prime your brain if you want to tackle the others before I can write another post.

Side Note: I recommend putting your Audio and Video Podcast feeds through Feedburner (or a similar syndicator) because it helps you share your podcast feed without having crazy stuff in your URL.

The Building Blocks

That's it! ... As with all things, you can make it fancier, but I'll mention that more specifically later.

A New Defined Type for the Series

Let's navigate to: Admin Tools > General Settings > Defined Types

At the bottom of the page, click the "+" icon to Add a new Defined Type.

Hopefully, you're seeing this screen now:
Add Defined Type Enter the name you'd for the Series Defined Type and click Save.

For the sake of time, I'll move on, but to get creative juices flowing, long-term I plan to add new File Types and add Attributes for a Series Image and Series Background Art.

A Page to Manage the Series

Let's navigate to: Admin Tools > CMS Configuration > CMS Configuration

In the bottom Admin Bar, click the Child Pages icon. Next, click the "+" icon to add a new Page. Let's name it "Series" and leave it on the Full Width Layout. Once the modal popup is gone, refresh the page and you'll see a new icon in the CMS Configuration list.

Click the new "Series" option. When the page loads, click the Page Properties in the bottom Admin Bar. In the Icon CSS Class, enter "fa fa-clipboard", then scroll down and click "Save".

Next, let's add a Block to the page to manage the Defined Type. Click the Page Zones icon in the bottom Admin Bar. Let's add a Defined Value List Block to the Main Content area and click "Save" then "Done". In the block properties, select the Defined Type for Series and click "Save". Now Podcast Admins can easily edit the Series without having to go all the way into the Defined Types.

A New Content Channel Type

Let's navigate to: Admin Tools > CMS Configuration > Content Channel Types

Click the Add button in the bottom right corner.

Hopefully, you're seeing this screen now:
Add Content Channel Type

  • Name : Media Channel
  • Date Range Type : Single Date
  • Disable Priority : Yes

Now, let's open the Channel Attributes and add the following:

  • Series
    • Field Type: Defined Value
    • Defined Type: Series
  • Subtitle
    • Field Type: Text
  • Link
    • Field Type: Url Link
  • Author
    • Field Type: Text
  • Email
    • Field Type: Email
  • Copyright
    • Field Type: Text
  • Language
    • Field Type: Text
    • Default Value: en us (Or whatever you prefer as your default Language.)
  • Category
    • Field Type: Text
    • Default Value: Religion & Spirituality
  • Sub Category
    • Field Type: Text
    • Default Value: Christianity
  • Explicit
    • Field Type: Single Select
    • Values: No,Clean,Yes
    • Control Type: Drop Down List
    • Default Value: No
  • Image
    • Field Type: URL Link
  • iTunes Image
    • Field Type: URL Link

Next, open the Item Attributes and add the following.

  • Audio
    • Field Type: URL Link
  • Audio Length
    • Field Type: Integer
  • Video
    • Field Type: URL Link
  • Video Length
    • Field Type: Integer

I'll also be adding Attributes for Sermon Outlines, Hash Tags, and a few other things needed for our Media Page, but for now, let's move on.

Once the Item Attributes are entered, click the "Save" button and let's move on.

A New Content Channel

This is where the actual podcast (or other media syndication) will be managed.

Let's navigate to: Admin Tools > CMS Configuration > Content Channels

Next, click the "+" icon to add a new Content Channel. Name the Channel and enter a description. Choose the Media Channel Type created in the previous step and leave Content Control on Code Editor. Check the "Enable RSS" checkbox, but don't worry about the Channel or Item URL right now. Make note of the new Content Channel Id.

Now, let's add an item to the Podcast Feed. Click the "+" icon to add a new Podcast Item. Name it and give it a description, enter a release date in the Active field, and enter the URLs to your Audio and Video files. Click "Save" and we'll move on to making the podcast feed.

A New Lava Template Defined Type Value

You're in the home stretch! Let's add two Lava Templates (one for the Audio and one for Video) by navigating to: Admin Tools > General Settings > Defined Types

Open the Lava Templates Defined Type and then open the Default RSS Channel to copy the Template then click "Cancel".

Now, click the "+" icon and add a new Lava Template using the following details:

  • Value : Audio Podcast
  • Description : The Lava Template to use for Audio Podcasts.
  • MIME Type : application/rss+xml
  • Template:
{% assign timezone = 'Now' | Date:'zzz' | Replace:':','' -%}
<?xml version="1.0" encoding="utf-8"?>  
<rss version="2.0" xmlns:atom="">

<title>{{ Channel.Name }}</title>  
<link>{{ Channel.ChannelUrl }}</link>  
<description>{{ Channel.Description }}</description>  
<ttl>{{ Channel.TimeToLive }}</ttl>  
<lastBuildDate>{{ 'Now' | Date:'ddd, dd MMM yyyy HH:mm:00' }} {{ timezone }}</lastBuildDate>  
<itunes:category text="{{ Channel.Category }}">{% if Channel.SubCategory %}  
<itunes:category text="{{ Channel.SubCategory }}"/>{% endif %}  
{% for item in Items -%}
<title>{{ item.Title }}</title>  
<guid>{{ Channel.ItemUrl }}?Item={{ item.Id }}</guid>  
<link>{{ Channel.ItemUrl }}?Item={{ item.Id }}</link>  
<pubDate>{{ item.StartDateTime | Date:'ddd, dd MMM yyyy HH:mm:00' }} {{ timezone }}</pubDate>  
<description>{{ item.Content | Escape }}</description>  
<enclosure url="{{ item.Audio | StripHtml }}" length="{{ item.AudioLength }}" type="audio/mpeg"/>  
{% endfor -%}


Now, make note of the Defined Value ID (it's in the Header Bar of the modal popup).

Let's view your podcast feed! Go to replacing NEW_CHANNEL_ID and NEW_TEMPLATE_ID with your values.


You'll notice I didn't do anything with the Series. That's more for a future purpose, so you can skip that section if you'd like.

Hopefully this helps you get started with podcasting right now! The biggest downside we're looking at with this method currently is that you will have to manually populate the Length (in bytes). Other than that, this should get you going.

Kingdom First Solutions
Spartanburg, SC

Trey is a Solution Architect for Kingdom First Solutions, which helps churches who use Arena leverage technology to build the Kingdom of God. Prior to joining KFS, he served on staff at several churches including Oak Hills Church and Brookwood Church. He loves sharing his knowledge and experience to further the gospel message.