X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b4a41c0595c83a33760ed6d19cac651cbd19c956..2b0054a1ddb93cbc57c41ec3c0a76002e0b4c646:/doc/todo/fancypodcast.mdwn diff --git a/doc/todo/fancypodcast.mdwn b/doc/todo/fancypodcast.mdwn index bff509325..128017021 100644 --- a/doc/todo/fancypodcast.mdwn +++ b/doc/todo/fancypodcast.mdwn @@ -1,16 +1,9 @@ -ikiwiki's simple podcasting, while elegant and minimal, doesn't (as -mentioned in [[todo/blogging]]) produce full-featured feeds. In -fancy podcasts, episodes are accompanied by text content. The feeds -also have lots more metadata. - -[[!toc]] - ## Status [[!template id=gitbranch branch=schmonz/fancypodcast author="[[schmonz]]"]] [[!tag patch]] -Nothing new on the branch since 2013/07/21 merge to `master`. +Nothing new since 2013/07/21 [[merge|done]] to `master`. ## Features @@ -31,107 +24,6 @@ Episode description|(./) |(./) |(./) | Episode enclosure |(./) |(./) |(./) |(./) """]] -## Migration - -### Upgrading within ikiwiki: from simple to fancy - -#### My test podcast - -For this test, I chose a podcast that tries to work around ikiwiki's -current limitations by issuing two separate `inline`s: - -* One with `feedonly=yes` that includes `.mdwn`, `.pdf`, and `.mp3` -* One with `feeds=no` that includes only `.mdwn` (and makes a trail) - -This has the following effects: - -* Browser: sees just the articles (each of which has a manually - created link to its corresponding media file) -* Feedreader: sees all the articles and media in one flat stream -* Podcatcher: sees just the media (sans articles) - -I want instead to write one `inline` with these effects: - -* Browser: sees just the articles (each of which automatically links - to its enclosure) -* Feedreader: sees just the articles (each of which specifies its - enclosure) -* Podcatcher: sees just the enclosures (each of which has an enclosing - article, rendered as the media's "description") - -#### Upgrade steps - -7. Set up a non-production copy of the podcast. - 7. Visually diff RSS and Atom feeds against production. - 7. Subscribe to the copy (both feeds) in `r2e`, iTunes, Downcast. -7. Apply fancypodcast patch to the installed ikiwiki: - 7. `cd ~/Documents/trees/ikiwiki && git checkout fancypodcast` - 7. `git diff --no-prefix master > ~/Documents/trees/localpatches/www/ikiwiki/fancypodcast.diff` - 7. `cd ~/Documents/trees/pkgsrc-current/www/ikiwiki && make deinstall && make install clean` -7. Verify that simple podcasts are unaffected: - 7. Rerun `ikiwiki --setup`. - 7. `diff -uB simple-before.rss simple-after.rss` - * A few new elements and attributes, as expected. - 7. `diff -uB simple-before.atom simple-after.atom` - * No change. -7. Remove the feed-only `inline` and enable feeds on the remaining one. -7. Convert articles' manual download links to `\[[!meta enclosure=""]]`. -7. I want existing and future podcatchers to get my new fancy - episodes, and I know my podcast isn't in any planets, so I'm - going to skip [[tips/howto avoid flooding aggregators]]. -7. Rerun `ikiwiki --setup`. -7. Verify browser shows the same stuff. -7. `diff -uB simple-after.rss fancy-after.rss # and atom` - * MP3s and PDFs are no longer naked enclosures, but belong to - articles as they should. - * Articles have updated modification times, as they should. -7. `r2e run` (both RSS and Atom) - * Nothing new with the default `trust-guid = True` (otherwise - would expect updated articles). -7. iTunes "Update Podcast" (both RSS and Atom) - * Added one episode per article, with article text as the episode - description. - * Kept old naked-enclosure episodes around. -7. Downcast refresh (RSS): - * Added one episode per article, with article text as the episode - description. - * Kept old naked-enclosure episodes around. -7. Downcast refresh (Atom): - * Added one episode per article, with no episode description - (expected, see feature table). - * Kept old naked-enclosure episodes around. - -Different tradeoffs are possible. These seem okay to me. - -### Importing into ikiwiki: fancy (from another CMS) - -#### My test podcast - -For this test, I chose a podcast currently being published with -Textpattern and tru_podcast, because I'd strongly prefer to publish -it with ikiwiki instead. - -#### Upgrade steps - -7. Set up a non-production copy of the podcast. - 7. Visually diff RSS and Atom feeds against production. - 7. Subscribe to the copy (both feeds) in `r2e`, iTunes, Downcast. -7. With a fancypodcast-enabled ikiwiki installed: - 7. Copy content from Textpattern to ikiwiki: - 7. Match article paths to preserve `/YYYY/MM/DD/post-title` permalinks. - 7. Match enclosure paths (or redirect) to preserve Textpattern's URLs. - 7. Match titles, post dates, and guids with `\[[!meta]]`. - 7. Match feed paths with permanent redirects from `/atom/` to - `/index.atom` (and same for RSS). - 7. `\[[!inline]]` the articles. - 7. Rerun `ikiwiki --setup`. -7. Stop Textpattern, start ikiwiki. -7. Verify that podcatchers see the feeds and don't redownload anything. -7. Naively add two new blog posts, one with an enclosure. -7. Verify that podcatchers download the new enclosures. - ------ - ## Future improvements ### iTunes fancy podcasting @@ -164,8 +56,6 @@ it with ikiwiki instead. ### Other ideas -* Don't render template text (e.g., "Use this template to insert a - note into a page") in feeds. * Optionally specify the enclosure's: * MIME type, in case `File::MimeInfo` guesses wrong. * Duration, in case `ffprobe` guesses wrong. @@ -177,7 +67,3 @@ it with ikiwiki instead. * Configurably generate additional subscription links (such as iTunes) alongside the RSS/Atom ones in [[plugins/inline]]. * Support Apple's "enhanced podcasts" (if they're still relevant). - ----- - -[[merged|done]] --[[Joey]]