(home | about | stats)

pwyky: Lugradiositerewrite

DONE!

The site rewrite needs to cover a few things:

Automatic mirror synchronisation

See the forum thread for more details on why all this crap is required.

There should be an RSS feed which people can subscribe to containing details of the new episode. This RSS feed is for MIRROR MAINTAINERS ONLY. It will have direct links to mp3/ogg files, and should not be used by ordinary punters for new-episode notification or for podcasting. It treates each mp3 or ogg file as a different item. Each item also contains a <lugradio:mirrorconfirmurl> element, which contains a URL that looks like http://www.lugradio.org/mirrorconf?ep=14&fmt=ogg-high&credit=$CREDIT$&url=$URL$. When you mirror an episode, replace $URL$ with the URL of your mirrored episode and $CREDIT$ with your name, and visit that URL. That will add it to the rotation. Yes, we could do that with SOAP or XMLRPC or something but it just sounds like extra layers for no reason.

Some people will be asking: why not use rsync? The answer is: because I don't wanna run an rsync server, and because then the mirrorconf script would have to be more complicated, because you'd have to tell it a file that you'd mirrored, and how would you know that it was (say) the high-quality ogg? You'd end up parsing the filename, which is a bit of a nightmare. You can't pass back the filename because people rename the files on the mirrors.

Enclosure tags for podcasting

There needs to be a podcasting RSS feed, or, more accurately, four podcasting RSS feeds, one for each of mp3-high, mp3-low, ogg-high, and ogg-low. Each feed has one item per episode, containing an <enclosure> element which points to a redirector script. The redirector script chooses a random mirror and seamlessly redirects to it.

Note that the main LR site doesn't use the redirector script: this is because we want the page before you click the link to download it to actually say who did the mirroring so they get some credit!

The redirector script needs to be written.

Easy posting of new episodes

After this, posting new episodes is easy. We need to do two things: poke the mirrorconf script with details of the mirror (which is actually not a mirror but the home site), and then add a new text file which contains the details of the episode as episodes/epno/description.txt. Episodes without a description file are available in the mirror-maintainers RSS feed, but are *not* available in the main feed, in the podcasting feeds, or on the site. This means that we can get a thing mirrored a few places before announcing it if we want.

Graphic design

The site needs a bit of a makeover; it's been like this for quite a while. Naturally, though, that should be pretty simple; love the power of CSS. most of the site can stay exactly as it is; only download.php needs replacing by the new episodes stuff as described above.

kryogenix.org owner. This is a pwyky site. Edit this document.