Services_Trackback - let your site get tracked back.
Today I called for votes in the PEAR proposal system for my new package Services_Trackback. If you are reading this and don't know, what a trackback is, please read the MT introduction into trackbacks or the technical specs.
The idea to Services_Trackback was born, when I wanted to implement trackbacks for PEARWeb (which is quite an uncommon idea, since trackbacks normally occur only in weblogs). The idea is, that if someone posts a blog entry about a PEAR package, he will usually link to the package(s) he's writing about. This link should (usually) result in a trackback send try to the given URL. Having those trackbacks registered on PEARWeb allows a comfortable way of having some kind of "link list" for every package, where interessting blog entries are linked.
In the past 4 weeks this has proven in some way, since we currently have more than 40 approved trackbacks on PEARWeb, regarding a range of different packages. Interessting articles like "How to set up your own PEAR 1.4 channel" or "Gentoo PHP Development" have been saved and show actual documentation to the specific packages.
So, back to Services_Trackback. Since tha trackback API is pretty simple in general, one would normal say, that it's not worth a package. But most trackback implementations in today's weblog systems have 3 great problems:
Once implemented they usually never get improved.
Every weblog system is reinventing the wheel.
Most weblogs only support a small range of features for trackbacks (some no autodiscovery, most don't support HTTP redirects,...).
Services_Trackback tries to solve these problems and to centralize implementations of trackbacks, offering a flexible an clear API, a central place to report bugs and improve functionality and a huge set of features. The actual version of Services_Trackback supports:
Sending a trackback to a given URL.
Autodiscovering of trackback URLs from websites.
Allow HTTP redirects when autodiscovering.
Stepwise strictness settings for URL matching.
Receiving trackbacks (and responding conform to the specs).
Generating autodiscovery code for websites.
My current ideas for further feature extension are:
Interface to check backtracking hosts against blacklists (SpamCop, etc.).
Storage interface to store trackbacks to different backends (TXT, XML, database,...).
Observer interface to observe trackback actions.
This list is of course pretty much extendable by feature requests of users.
Services_Trackback is currently proposed to become a PEAR package and will hopefully be accepted by March 10th. More information, links for documentation and download can be found publically available in PEPr. If you're a registered PEAR developer, please vote for the package here.