Podcast

Permalink
Hi

I've been looking around to see if there are any suitable podcast for version 7 & 8. I'm wanting to move our church site from 5.6 to 5.8.

Podcasting seems to be a challenge at the moment in that I can't find anything. I had wondered whether a blog package such as Simple Blog could be utilised to provide the podcast feed with relevant iTunes tags, series, topics, and search system. Adding a html5 audio for our church podcast.

I think I can do most apart from editing the rss so that the relevant iTunes tags are added. Has anyone had to do this, or can advise?

 
PineCreativeLabs replied on at Permalink Reply
PineCreativeLabs
It seems that there is quite a bit of interest in podcast functionality for 5.7+. There have been numerous other mentions about this.

I have plans for an "EZ Podcast" addon, but development got halted due to lack of marketplace sales on my other items.

http://c57.pinecreativelabs.com/ez-series/ez-podcast...

Maybe I will go ahead with development, due to the potential interest.

What specific features were you looking for?
justynpride replied on at Permalink Reply
Hi

In 5.6 I've been using Media Library for my podcast.
https://www.concrete5.org/marketplace/addons/media-library/...

For me the key features are:

- Editable RSS Feed with iiTunes tags, where you can update tags for own podcast
- search
- list speakers, and click to display all talks by speaker
- tags for topics, that can be clicked to view all talks with that tag
- add other support files (pdfs, jpgs, ppt) to entry other than just the audio.
- space for full rich text descriptions.

As noted before I've been looking at the Simple Blog add-on. You could almost say I've love something like that, but with the features above built on!

I would be very interested in a podcast add on, and happy to test.
PineCreativeLabs replied on at Permalink Reply
PineCreativeLabs
I will look into moving forward on this.

Although, it's not really priority, so it could take a while, including the marketplace review process.
justynpride replied on at Permalink Reply
That's great.
shiland71 replied on at Permalink Reply
I'd be happy to pay $20 for a dedicated player but in the meantime has anyone tried using HTML5 Audio Player Basic for podcasting? Thoughts on this idea?
justynpride replied on at Permalink Reply
I've had a play with the block and had wondered about using it alongside a blog addin such as simple blog. I've even had a play with coding into a blog entry template a player that links to a file attribute on that page. While that worked the biggest issue is getting all of the relevant tags and details for each episode, and also the podcast core details into the RSS feed so that iTunes or readers can read it.

For me this is where I can't go beyond as I'm not really a coder. I am amazed that someone hasn't created an adding yet. I'm wanting a native adding podcast feature rather than embed an external system
shiland71 replied on at Permalink Reply
Thanks for the feedback - you saved me a lot of trouble.
shiland71 replied on at Permalink Reply
How much coding did you need to do to get media player to work for your podcast? Was it ready to go without too much work? Did you have trouble getting in iTunes?
justynpride replied on at Permalink Reply
Sorry for the slow reply. What I've done so far is to take the HW Simple Blog package and the HTML Audio Player and added the player as a default on the Blog Entry page. The bottom line is though that the audio file doesn't appear in the feed so not too helpful for a podcast feed. Also the rss feed needs to have all the various iTunes tags added, and that is not something that I know how to do. I'm sure with the relevant knowledge it would be possible to customise the C5 feed.

It's a shame there isn't a podcast add-on for C5.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@justynpride

Can you list the features you would want in a podcast add-on, ideally separating them by "required" and "like to have, but not required"?
justynpride replied on at Permalink Reply
Hi

Thanks for being interested. For me the following are what I’d love to see. If it helps to have a starting point for the general look, interactivity and functions I’d suggest HW Simple Blog as a good place. It has ease of adding new ‘episodes/entries’, and search functionality in the general way you’d probably like a podcast to be.

Required
- Ability to set all itunes feed tags for the channel. (Seehttp://www.feedforall.com/itune-tutorial-tags.htm... for info on itunes feedtags and latest tags -https://create.blubrry.com/manual/syndicating-your-podcast-rss-feeds...
- Valid rss feed for itunes
- Ease of interface for adding new episode, ideally in the same blog entry style as with a normal blog package. Creating the new episode allows you to set all the details for the new entry such as add audio file, iTunes episode tag data, summary, main content, image, date, tags, topics etc..
- ’subscribe to feed’ link on the pages.

Like to have but not required
- Search podcast episodes feature - I’d like to use topics and also tags.
- Add supporting files to the episode - maybe a pdf or powerpoint slides, etc.. On my current podcast i do this by adding links within the main content.
- ’subscribe iTunes feed’ link on the pages - the iTunes url would need to be set somewhere. Ideally in the same place that you’d have set the main Channel information.
- Add a video url for the episode, and have player, as it may also be a video as well as a audio.

I'm this isn't exhaustive, but wanted to get the core down. Please do feel free to ask questions.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@justynpride

Your required features, except for "’subscribe to feed’ link on the pages" could be accomplished with a dashboard based add-on.

Here is a rough outline:
- There would be a "Podcast Manager" dashboard page that listed your podcasts in table form ordered by podcast date (newest first) and a link to the podcast XML feed. Each podcast entry row would likely have a button for editing and deleting it.
- Also on the "Podcast Manager" page would be an "Add Podcast" button. Clicking this button would open a new "Add Podcast" page.
- The "Add Podcast" page would have a way to select an audio file for upload (uploaded and imported into the concrete5 file system, maybe into a folder or a file selector to select an existing file from the File Manager) and a long list of form elements for setting all the XML tag fields.
- After adding your file and filling out the form elements, you would save the page. This would trigger the file upload, podcast feed specific form validation, and then create/update an XML file.

Just to clarify, would a "subscribe to feed" link be for users to copy and paste into their podcast apps? If so, maybe a "Podcast Feed" block could used to add that to a page - the location of the feed and custom text to display.

For your "like to have features", this largely sounds like a separate podcast blog. This could be accomplished using Composer and a "Podcast Episode" page type. Composer would allow you to create a new "Podcast Episode" page and have all the included forms and attributes ready for you to fill out.

A note about the podcast, what I am describing is a self-hosted podcast feed and podcast files. The podcast storage and bandwidth would need to be accounted for in your web hosting plan.
justynpride replied on at Permalink Reply
Hi

Thanks again for the helpful feedback. I’ve noted responses below:

> Your required features, except for "’subscribe to feed’ link on the pages" could be accomplished with a dashboard based add-on.
> Here is a rough outline:
> - There would be a "Podcast Manager" dashboard page that listed your podcasts in table form ordered by podcast date (newest first) and a link to the podcast XML feed. Each podcast entry row would likely have a button for editing and deleting it.

> - Also on the "Podcast Manager" page would be an "Add Podcast" button. Clicking this button would open a new "Add Podcast" page.

> - The "Add Podcast" page would have a way to select an audio file for upload (uploaded and imported into the concrete5 file system, maybe into a folder) and a long list of form elements for setting all the XML tag fields.
> - After adding your file and filling out the form elements, you would save the page. This would trigger the file upload, podcast feed specific form validation, and then create/update an XML file.

Sounds ideal. One question about the main channel iTunes tags. Would there be a settings option where those tags would be set? They only need to be set the one for the whole podcast, and not separately on each entry. Then when adding each podcast entry the specific episodes tags can be filled in.

> Just to clarify, would a "subscribe to feed" link be for users to copy and paste into their podcast apps? If so, maybe a "Podcast Feed" block could used to add that to a page - the location of the feed and custom text to display.
Yes, that is right. Often it’s a nice podcast image with the feed url linked. Imagine that if it was possible to include the iTunes feed url in the main settings then there could be a podcast image and a iTunes image, each linking to the relevant url.

> For your "like to have features", this largely sounds like a separate podcast blog. This could be accomplished using Composer and a "Podcast Episode" page type. Composer would allow you to create a new "Podcast Episode" page and have all the included forms and attributes ready for you to fill out.
That makes sense.

> A note about the podcast, what I am describing is a self-hosted podcast feed and podcast files. The podcast storage and bandwidth would need to be accounted for in your web hosting plan.
Absolutely. Our current c5 podcast files are self hosted.

One question is about how the podcast would be visible on the C5 site. Would it be via blocks to add to a page? The same with a filter/search feature?
MrKDilkington replied on at Permalink Reply
MrKDilkington
@justynpride

"Sounds ideal. One question about the main channel iTunes tags. Would there be a settings option where those tags would be set? They only need to be set the one for the whole podcast, and not separately on each entry. Then when adding each podcast entry the specific episodes tags can be filled in."

I believe it would be possible to split the settings into podcast specific and per episode specific.

"> Just to clarify, would a "subscribe to feed" link be for users to copy and paste into their podcast apps? If so, maybe a "Podcast Feed" block could used to add that to a page - the location of the feed and custom text to display.
Yes, that is right. Often it’s a nice podcast image with the feed url linked. Imagine that if it was possible to include the iTunes feed url in the main settings then there could be a podcast image and a iTunes image, each linking to the relevant url."

That could be done.

"One question is about how the podcast would be visible on the C5 site. Would it be via blocks to add to a page? The same with a filter/search feature? "

This might be a good use for concrete5 v8 Express. One option would be to create an express entry at the same time a podcast episode is created. This express entry would have the podcast episode file and episode information and could be selected as an attribute in Composer and displayed on the page using the Express Entry Detail block. Using the Express Entry List block, you could display all the episodes and search through them.
JohntheFish replied on at Permalink Reply
JohntheFish
I have only skimmed this thread, so could be missing something.

My immediate impression is that a dedicated dashboard manager could be over-complicating the manager aspect of this. If a podcast is an mp3 file, much of the management could be handled by the file manager or blog pages.

Listing could be
- a custom view of the 'list files from set' addon, with a podcasts file set
- a pagelist, where each page has a file attribute to attach a podcast. A page would be used to provide the synopsis and as an item to search with all the blog list/search capabilities (close to what Justyn is already experimenting with)
- a list of express entities, where each entity has a file attribute for the associated podcast.

The essential difference from existing list mechanisms for any of the above is the specialised RSS. Not a new file management infrastructure for podcasts.
justynpride replied on at Permalink Reply
Hi John

It’s great to have your input and alternative take. I like you take on blog page, and agree the major issue for a podcast is the production of the specific rss field. I personally love the simple approaches to solutions.

The front end user experience is always a high priority for me. So search, list and then viewing individuals articles is good.

> On 25 Sep 2017, at 11:13, concrete5 Community <discussions@concretecms.com> wrote:
MrKDilkington replied on at Permalink Reply
MrKDilkington
@JohntheFish

What are your suggestions for generating the XML feed?

I am working under the assumption that the XML feed has a specific structure, elements, and attributes that are required for it to be submitted to podcast directories and imported into podcast apps. Some of the elements and attributes are for the feed itself and others are per episode.

Examples:
https://www.thepolyglotdeveloper.com/2016/02/create-podcast-xml-feed...
https://resourcecenter.odee.osu.edu/digital-media-production/how-wri...
justynpride replied on at Permalink Reply
Is there anything else you might need from me?
MrKDilkington replied on at Permalink Reply
MrKDilkington
@justynpride

I am waiting on JohntheFish's reply for how he would implement the XML feed creation/management using the steps he listed.
justynpride replied on at Permalink Reply
@MrKDilkington

That’s helpful.

> On 30 Sep 2017, at 10:35, concrete5 Community <discussions@concretecms.com> wrote:
JohntheFish replied on at Permalink Reply
JohntheFish
With a blog approach based on a page list, there is already an RSS option. Subverting that would be an easy starting point.

An alternative would be to copy and modify the sitemap job, creating an xml called podcast.xml in the site root once per day (or whatever job interval). As well as listing pages, it could also be adapted to start with a file list to match the 'List Files from Set' starting point. That would have the advantage of minimal CMS load because subscribers could pull the pre-compiled RSS.

For the express starting point, either of the above could work but would require more code.

It all depends on how heavy-weight a podcast list is wanted. For a simple list of files, the List Files from Set starting point would be my first choice. If the podcast list needed to display associated pictures and texts with a more info option, the blog/page-list starting point would make more sense. An express starting point would probably be better left to masochists.

That all depends on my currently gross assumption that the its just the xml in an iTunes format. If there is any registering API or push requirement hidden behind the scenes, that would be a big complication.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@JohntheFish

Going with the Sitemap modification approach, I'm thinking this would involve:
- a "podcast blog" where Composer is setup to handle all the required per podcast episode XML feed tags as page attributes along with other non-XML feed podcast blog entry content
- the podcast episode list would be a page list with a custom template
- a dashboard page for setting podcast attributes (that apply to the podcast, not podcast episodes) and a page selector for selecting the parent page of the podcast blog
JohntheFish replied on at Permalink Reply
JohntheFish
Yes, something like that. Save for the last point.

- Page lists already have a parent selector.
- For a one-off the dashboard wouldn't be necessary because the parameters could be hard coded.
- If it was a marketplace package it would probably be better to extend the core page list into a new block type for the various podcast parameters rather than have a dashboard page. That would make it easier to support multiple podcast lists.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@JohntheFish

The podcast blog may be in an arbitrary location, without a page selector, how would you point the job to the correct location?

In general, I try to avoid requiring a user to edit/add hard coded values. It seems like a significant barrier for non-technical users.
JohntheFish replied on at Permalink Reply
JohntheFish
- For a *one-off* the dashboard wouldn't be necessary because the parameters could be hard coded.
ie. its fixed. Its not a package that needs to work with various sites. its only used in one place. there is never any need to change.

I agree on the general principle of providing interfaces for any parameters it would be *necessary* to change. But if change is not necessary, there is no need for an interface.

For a packaged addon:

- If the 'pod-blog' page list was a new block extending the page list block, then it could post its location to config on block save. (extend current block controller, override save to call parent and then post to config)

- If the 'pod-blog' was a block template, an RSS creation job could sniff out blocks using that template.

- If the RSS were an adaptation of the core page list RSS (not a separate job), then it would already know about the block it was supplying a feed for.

I don't have any intention of building this for the marketplace, so ultimately if you are building it for the marketplace, the design is up to you. That won't be an issue in the PRB as long as it works and has a reasonable interface.

My comments have been purely directed at keeping the complexity of what should be a fairly simple adaptation of an existing block under control.
MrKDilkington replied on at Permalink Reply
MrKDilkington
@JohntheFish

This is a very niche add-on, I don't think I would be interested in making it for the marketplace either. I think it might generate too many support requests. I think my initial idea of how to make it would be easier to use and setup, despite it possibly being more complicated to make (this I might be interested in making because of the learning experience).
justynpride replied on at Permalink Reply
Thanks for all your discussion on this. As noted it's a bit too niche. I'm going to have to look to the external systems, which is very powerful, but not integrated with C5.

Out of interest if something were to be hardcoded on a blog style system what would be the files in the system to be adapted?