Feed Parser: Unit Testing Results

We’ve been away for the past week and time on planes and trains allowed me to focus on some simple unit tests for XML_Feed_Parser. I based the tests on the sample feeds provided in each format’s specification and was able to fix numerous bugs that arose during the testing process, with the only one remaining being some problems handling XML entities. The tests also allowed me to do some refactoring, identifying a few methods that could be eliminated or merged into the parent class since they were the same across all feed types. ...

September 22, 2005

Feed Parser: Extensibility and xml:base

I’ve bumped the version number for the latest version of XML_Feed_Parser to 0.2.0 to mark a couple of major updates. Firstly, I’ve changed the internal DOM models to public variables. While thinking through the possibilities for improving the extensibility of the package it occurred to me that almost any extension someone wanted to provide would revolve around some use of the DOM, so opening up the internal DOM model would make that nice and easy. Not only can you extend the classes in your own code, you can also do something like: ...

September 11, 2005

Feed Parser: Atom:source, RSS1 modules and RSS2 improvements

There’s another development version of XML_Feed_Parser up on the dev server. I’ve added support for atom:source and revised atom:author to work with that as per the spec, included the last few parts of core RSS2 support, added full support to the RSS1 module for the syndication and content modules, and partial support for the Dublin Core module. I have yet to see any examples of RSS1 feeds using dc:type, dc:format, dc:identifier, dc:source, dc:language, dc:relation, or dc:coverage. If there’s sufficient demand I’ll add native support for them, but they’re not a critical concern at present. ...

September 11, 2005

Feed Parser: Enclosures and RSS1 improvements

There’s a new version of XML_Feed_Parser up on the development site. 0.1.1devel adds support for enclosures in Atom and RSS2, and for getElementById for RSS1.0. Next on the list are RSS modules, which will allow me to extend enclosures support to RSS1 as well as make the whole thing more flexible.

September 8, 2005

XML_Feed_Parser Draft Proposal

Yesterday I added basic RSS1 support to XML_Feed_Parser and began the process of preparing a PEPR proposal to have it included in PEAR. I still need to get the various pages about the module in sync, but the code and a rough to-do list are currently available on my test server. My key desire is to add in support for RSS1 modules and RSS2 namespaces so that I can begin to use it to get at richer content than the base RSS1-spec allows. I’ll probably add some mappings for some of the more common extensions and then define a way for users to interact with those that are less common. If anyone has any preferred ways of doing that, feel free to suggest them in the comments. ...

September 4, 2005

LiveUser Documentation

It’s taking me a while to get to my next installment on LiveUser but in the meantime, readers may want to check out the updated documentation that Lukas published yesterday. It’s not yet a comprehensive introduction/guide to the package, but gathering together a lot of the available information is a huge step forward.

August 15, 2005

Whatever happened to the feed parser?

It’s been quite some time since I last wrote about the feed parser I’ve been working on. I actually had a piece prepared a couple of weeks ago, but before I posted it some discussion arose on pear-dev about possible feed parser projects and so I have been waiting to see what became of that. That conversation has died down, so it feels like time for a summary of progress to date. ...

August 13, 2005

Getting Started with LiveUser Permissions

UPDATE (Aug 9th ‘05): Thanks to feedback from Lukas Smith and Laurens Nienhaus I’ve made some updates which show better ways to get at some properties. Having described in my ‘Configuring LiveUser’ entry how to configure and instantiate LiveUser it’s now time to talk about how we start connecting together our login system with more sophisticated permissions management. This time around we’re going to be making use of the LiveUser_Admin module, which can be instantiated using the same configuration array as LiveUser, with: ...

August 4, 2005

Configuring LiveUser

For a current (PHP) project I need a highly flexible authentication and permissions management system. Having heard plenty of mentions on the various PEAR lists I decided to try out LiveUser, which seems to currently be the most comprehensive such system for PHP. It’s a large codebase that seems to cover most of the necessary permutations and includes a number of prominent coders amongst its developers. What I hadn’t taken into account, of course, was the lack of documentation. I spent quite a while trawling through their wiki and googling before concluding that the best way to work LiveUser out would be to work through the code piece by piece. And since that’s a long, slow process it seemed worth documenting here. I’m going to do that step by step, starting today with configuration and instantiation. ...

July 29, 2005

XML_Feed_Parser

It’s been a while since I wrote anything here, and I’m unlikely to return to regular posting for a while, but there are a few things that deserve some attention. Unfortunately my work schedule and a few more urgent voluntary projects have pulled me away from working on the Atom/RSS parser I wrote about recently, but I have done a little tinkering and hope to return to it before long. The next big change will be pulling each feed type out into its own class to make the package more easily extensible, and at that point I hope to propose it for inclusion in PEAR. ...

July 12, 2005