This year's DevHouseBerlin is almost over, and this is what I managed to do.
Planet-PHP's code has been opensourced for a while and when I started setting up a planet for PEAR I wasn't exactly happy with what it did. Aside from the obvious PHP4 vs. PHP5 issues, the unfortunate lack of documentation, I don't understand why anyone wants to transform an XSL with PHP, to generate PHP. And the bottom line, it didn't work always and I didn't want to debug it any longer.
The notable features include:
- Restructured the code to only expose what is necessary in the document root.
- Fixed/improved configuration handling.
- Extended/improved templating.
- Code cleanup, where possible.
- Fancy URLs and front controller pattern using Net_URL_Mapper! :-)
- Webbased admin to add and remove feeds to the planet.
Long story short — the code is on github. It's semi-complete, on the list of things to do are removing the libraries which became obsolete, a (new) submit form, a cache and maybe re-writing the importer/aggregate script.
Also, kudus to Christian Weiske for contributing the admin and generally helping out. :-)
scr.im is a nifty service which allows you to spam protect your email address. So, for example, instead of display
[email protected] on your website, you'd provide a link where people enter a captcha to see your email address. I know this is not compliant with the German law and what not, but I wrote a service wrapper for their API anyway.
I'll put it online when I find time. The code is on Github, check the README for an example.
I never had a chance to explore Net_Url_Mapper before and I must say, this is definitately one of the (many) raw diamonds in PEAR. Raw because its lack of documentation is not exactly helpful when it comes to adoption. Since I spent some time with the package on the Planet-PHP rewrite, I decided to contribute documentation. If you're anxious to check it out, follow this link, or wait until next week when the manual on the official website is updated.
The author does not allow comments to this entry