Table of contents
- Table of Contents
- Podcasting Background
- iTunes Specific Markup
- Support for feedCreator Updates
- Adding podcasts to TikiWiki
TikiWiki should be designed to support each. iTunes may have unique features (XML tags) that must be supported and fully supporting iTunes may not guarantee other aggregators will work. Careful note should be made of each aggregating application's requirements so that all will be broadly supported by TikiWiki.
A podcast is nothing more than a specifically formatted XML file, using the RSS 2.0 definition, that has, in addition to other descriptive data, pointers to media file locations. iTunes and other podcast aggregating applications periodically (e.g. once a day) retrieve the RSS/XML file and look for changes in the file. If new <items> have been added to the RSS/XML file, the aggregating application will download the referenced media file. To enable a working podcast from the user's perspective, a number of steps must occur.
feedburner and the iTunes store; and word of mouth. Once a user finds an interesting podcast advertisement the user must then configure their aggregator to retrieve the associated media files.
One semi-automatic method of finding RSS feeds is by adding elements to web pages that tell newer browsers, like firefox, that the page contains an RSS feed. Yahoo! has a good discussion on how this works.
itpc://FEEDURL) if iTunes is loaded on the browsing computer. All of the aggregators provide a means to manually add a podcast URL. Yahoo has an aggregator as part of myYahoo; This site http://publisher.yahoo.com/rss_guide/promote.php describes how to create an "add to my yahoo" button for RSS feeds.
See also pcast://
â—‹ Really Simple Syndication (RSS 2.0)
â—‹ Rich Site Summary (RSS 0.91, RSS 1.0)
â—‹ RDF Site Summary (RSS 0.9 and 1.0)
Check out Wikipedia's RSS page for a good bit of backgound.
But for the most part RSS 2.0 is the choice for those podcasting media files because of its support of the <enclosure> tag.
TikiWiki is to ensure that TikiWiki podcasts can interwork with the Apple iTunes application (and iPods). The iTunesRSS page is devoted to the study and understanding of the Apple specification and how that specification works in practice.
TikiWiki already supports some of the other formats for basic textual RSS feeds, however for podcasts the initial format will only be RSS 2.0 and the extensions needed for iTunes support. This section attempts to determine the minimum working set of XML elements needed to interwork with various aggregators and specifically iTunes.
Pocasting in TikiWiki is interwoven with the more general RSS support. As a matter of fact, podcasting can be considered just another RSS feed format. The TikiWiki RSS modules consider it that way. As of V1.8 or so, TikiWiki has used the feedCreator.php library. Unfortunately that library seems to be currently unsupported and the latest official version 1.7.2 does not support the podcast RSS elements. There are at least two separate modifications to feedCreator.php that I found on the Internet. Neither one exactly supports all of the elements that I believe are needed. I'm thinking that we need to officially split from the feedCreator.php project and make a TikiWiki specific version. That or start a sourceforge project for feedCreator, but I don't understand all the etiquite surounding a public fork of someone elses project. I guess an email to the feedCreator author is due.
Here are the links that I've found to feedCreator and it's enhancements:
ATOM 1.0 enclosure enhancemen
Hey! I just found new "official" support feedcreator.org. Unfortunately it does not have the V1.7.3 changes for podcasting. Maybe I can ask to merge the changes?
feedCreator V1.7.3 with podcasting support
Adding podcasts to TikiWikiThere are several modules in TikiWiki where file attachments are allowed. Each of those is a candidate for producing podcast compatible RSS feeds. I advocate making podcasts a feature of each of those modules. The basic idea is to provide an additional feature check box for generating podcast compatible RSS 2.0 feeds. I do not like the idea of creating an entirely new type of "file attachments" with its own set of .php files. This would represent a "fork" in the file attachment code causing additional work, and chance for errors, when making future enhancements and security fixes.
Here is a basic question, though: Why can't all "file" oriented RSS feeds just include all of the RSS 2.0 elements? Would that break any non-podcast based aggregators for normal file feeds? For instance, if "all" RSS feeds for all file galleries included the additional elements, would that break any backward compatibility with older aggregators and preclude traditional use of the RSS feed? If the other aggregators simply ignored the unknown elements, then we could offer a feature to turn on RSS 2.0 format for all file gallery feeds, for instance. Otherwise we would need the ability to select RSS 2.0 for each file gallery.
rss_version: Need to store the RSS version for all file galleries and possibly for each file gallery. It is not likely that the site wide RSS version default will work since that covers textual RSS feeds as well as media based feeds.
channel->title: "Tiki RSS feed for the file gallery: " & gallery->name
channel->description: "" ???? Should be gallery->description
channel->link: gallery->tiki-file_gallery_rss.php link for this gallery ???? Should be link to tiki-list_file_gallery.php
-channel->copyright: ???? Completely missing
- channel->lastBuildDate: local time with fixed TZ ???? TZ is a problem
- channel->generator: "FeedCreator 1.7.3"
- channel->image->url: "http://site/img/tiki.jpg"
- channel->image->title: "TikiWiki logo"
- channel->image->link: "http://site/tiki-view_articles.php"
- channel->image->description: "<![CDATA[Feed provided by http://site/tiki-view_articles.php. Click to visit.]]>"
- channel->itunes:title: "Tiki RSS feed for the file gallery: " & gallery->name
channel->itunes:author: ???? I don't know where this comes from. User that created the gallery?
- channel->itunes:keywords: "php podcast rss itunes"
- channel->item->link: http://site/tiki-download_file.php?fileId=xx
- channel->item->description: "<![CDATA[ file_item->description ]]>"
- channel->item->author: ???? TikiWiki user that uploaded the file?
channel->item->itunes:duration: I don't know how this is determined
channel->item->enclosure->length: ???? Faked for now
- Not in the Apple iTunes example
- Not in the FeedCreator output
-Make channel->itunes:summary same as channel->description
-Set channel->lastBuildDate from the galleries->lastModif field
-Make channel->item->guid same as channel->item->link
-Make channel->item->itunes:author same as channel->item->author
-Set channel->item->itunes:subtitle from the file->name field
-Make channel->item->itunes:summary same as channel->item->description
-Set channel->item->title from the file->filename field
-Set channel->item->enclosure->type from the file->filetype field
-Set channel->item->enclosure->length from the file->filesize field
-Set channel->item->pubDate from the file->lastModif field
|channel->title||Podcast Column for the podcast feed|
|channel->item->title||Podcast Column for the podcast item|
|channel->item->itunes:subtitle||Description Column for the podcast item|
|channel->item->itunes:summary||Description Column for the podcast item if itunes:subtitle doesn't exist|
TikiWiki sends a .php file for the item link, the .php must be converted to the media extension and then rely on apache rewrite rules to put it back to .php. Something like this: