Services_Technorati 0.5.5

Voting was complete on my Technorati package a couple of weeks back, but I’ve been waiting to announce it until I was able to upload an initial version to PEAR. The package was approved today, and you can now find version 0.5.5 at the PEAR website. It’s currently set to ‘devel’ so to install it from the command line you’ll need to use: % pear install Services_Technorati-devel Changes in the latest release mostly arise from voters’ suggestions, with the key one being the change of a number of method names to remove the superfluous word ‘query.’ I’ll hopefully be moving it out of ‘devel’ soon, probably once I’ve made the final few tweaks to bring it in line with the PEAR Coding Standards and/or when Technorati finish overhauling the attention.XML API. ...

Services_Technorati 0.5.4

I just made another round of changes to Services_Technorati. As well as a few maintenance tasks, I made it more explicit that the caching is optional, added a factory method, and worked in support for the new TopTags API call. The Attention.XML support is still not working as hoped. Niall Kennedy (Technorati’s Community Manager) assures me that they will be working on it at their end as soon as possible, so I’ll wait for that before doing any more work there. ...

DB_DataObject_FormBuilder with multiple tables

Today I found myself reworking a set of directory classes I wrote in haste a few months ago. I decided that some of them would gain from making use of DB_DataObject_FormBuilder but had to remind myself of how to make that package work with multiple tables. The presentation included as part of the documentation demonstrates how to create a form with data from multiple tables, using something like: $first_table =& DB_DataObject::factory('table_one'); $first_table->fb_createSubmit = false; $first_build =& DB_DataObject_FormBuilder::create($first_table); $first_form = $first_build->getForm(); $second_table = DB_DataObject::factory('table_two'); $second_build =& DB_DataObject_FormBuilder::create($second_table); $second_build->useForm($first_form); print $second_build->toHTML(); Personally, I’m not a fan of the headers that QuickForm (the form class behind FormBuilder) adds for each table, so after a little hunting around I discovered that: ...

Services_Technorati and keyInfo

Following a request on the developers email list, technorati have added support for a new query: keyInfo. Each Technorati API key is limited to 500 requests per day and this query will allow you to check a given key’s status without using up any of that allocation. I’ve upgraded Services_Technorati to support that and upped the version number to 0.52. The latest package is here. The package is pretty much done. I’m hoping to find a bit more time to test the attention.XML support and then I will trigger a call for votes for acceptance into PEAR. ...

A Lengthier Introduction to DB_NestedSet

A little more work, and a little more discussion with Daniel Khan finally has my tools for interacting with PEAR::DB_NestedSet complete. There’s a mistake in the documentation for the moveTree method that had me thrown for a while. Since it’s taken a while to get to grips with this module, I thought a summary of how I’ve used it might be in order. Please note that this is a fairly hastily put together piece, which does not delve into all the intricacies of the package but should give an experienced PHP coder with a basic understanding of the theory behind nested sets with the information they need to get up and running. For some backgrounf on nested sets I’d recommend this article. ...

UN Charter and PEAR::Services_Trackback

I’ve been meaning to add some sort of comment support on UN Charter.org for a while now and the joint motivations of the site being mentioned in an ETech presentation this month and the emergence of a trackback module in PEAR has encouraged me to give it a try. The integration so far is very simple, but each article should now contain autodiscovery code and trackbacks that have been received will be listed. ...

More DB_NestedSet

Daniel Khan, one of the maintainers of PEAR::DB_NestedSet jumped in and offered help after my last post on the subject of that package. It turned out there was a bug in the file Menu.php within the current version of NestedSet which is now fixed in CVS. Once that change was made it turned out there were still a few bugs in my code to be worked out. With everything fixed I can now access menus as I would wish. ...

Technorati API Updates

I’ve finally found time to make some changes to Services_Technorati. The key issue I’d been wanting to address was caching and following comments from Doug Clifton and Ryan King I finally got round to working on it. I’ve decided to make use of another PEAR package, Cache_Lite to handle the caching. That way I can hand off most of the responsibility for ensuring compatibility across different filesystems as well as allow for the flexibility to reflect searches with different options. The overheads are slightly higher, but the added flexibility certainly makes my life as maintainer easier. ...

Services_Technorati Proposal

After a few days’ distraction I’ve now submitted a draft proposal for Services_Technorati. The attention.xml support still isn’t working as it should, but other than that it seems to hold together. Getting it up there hopefully means a little help with testing, and perhaps a bit more impetus to keep working on it. You can find the PHP source and a quick example here.

Services_Technorati

With the initial stages of all three current projects out the door, it seemed like time to get my Technorati API implementation up to date. There have been quite a few changes to the API since I released the last version at the beginning of October and I felt it was time to begin catching up. In the end, I opted for a complete rewrite, following the PEAR coding standards as I intend to propose it for inclusion in PEAR soon. Having benefitted so much lately from the tools included in PEAR I decided it was a good idea to give something back and this seems an obvious starting point. ...