Developer diary: Features galore
I’m having to rewrite large chunks of the core functions because of a poor design decision I made. I thought that I could do what I wanted with just XSLT. I was wrong. XSLT is not quite right for the job, so I’m using the PHP5 DOM functions instead. The app is going to be pure PHP from top to bottom. I could have used XSLT, but it wouldn’t have given me much of an advantage over using the DOM, plus a fair bit of nuisance getting it to do what I want.
Plus it would have been a tempting piece of fruit for others to come and lift even though it probably wouldn’t do exactly what they wanted. So I’ve scrapped that. Sorry Sheila, but XSLT will have to wait.
Fortunately, I’ve written a very similar function to the core library before, so it should be relatively easy to put all these pieces together.
While I’m hacking away at the guts, let me tell you about some of the features I’m building in to the PHP version of the OPML blogging system.
First, I’m going to make the podcasting side of OPML blogging really rock. Currently, you can post a podcast to your OPML blog, but once the podcast has scrolled off today’s RSS feed, then it’s basically lost - for the purposes of syndication. This is unexpected. A podcast feed should have a whole load of podcasts in, so you can subscribe to it and download either all or a significant bunch of podcasts. RSS feeds that last longer than one day is one of the things on the old OPML Wishlist. Hopefully that’ll be satisfied soon (for both blogging and podcasting).
So I’m going to be making it so that podcasts are lifted directly out of the OPML, and there will be a new view - a podcasts page basically, and a new podcast RSS feed (as well as RDF and OPML files being outputted). I’m planning to use things like rel-enclosure too. And I’m using PodPress as my model when it comes to making coding decisions (and Morning Coffee Notes as a sort of guide as to good practice in providing podcasts).
Similarly, the “categories” function in the OPML Editor will hopefully be used within the PHP OPML blogging software in order to provide category pages.
Another feature I’m hoping to add is an RDF “cruncher”. Basically what this does is takes your blog, crunches through it and pulls out whatever semantic information it can and makes that available as an RDF file. This means that it’ll be possible to run SPARQL queries against your OPML blog. More about that soon. I’ve got a file called “later.php” which is just functions and classes of stuff I’m going to do eventually.
Monthly archives is a feature that Scripting News has (here is Nov 2006). I’m hoping to implement a similar feature.
The other thing that I’ll have is that your archives will automatically be built in to an OPML file, so that you can easily browse them in an OPML viewer like Grazr.
There should also be mobile friendly views, although that’s fairly low down on the list of things to do.
The other thing I’m hoping to build in is the option to use iJot as your authoring tool. iJot can operate in almost totally the same way that the desktop OPML Editor does, so I don’t see why one shouldn’t use it as an authoring tool.
How will you be able to blog with your new PHP OPML blog? Simple. You upload your archives via FTP. You then setup an upload script within the OPML Editor (instructions will be provided) so that when you post on your blog, it’s automatically uploaded to your FTP account too. There are various other ways which we can do the uploading as well.
Also, it’ll all be GPL licenced too.
Anything I’m missing? If you use the blogging functionality of the OPML Editor and there’s something you really want it to have, just give me a shout.