Torben published a new MidCOM feature called watcher yesterday. It enables Midgard CMS components and libraries to register to receive notifications about changes to Midgard objects of different types.
As this coincided with the launch of Google Blog Search which automatically refreshes its search index by following the Weblogs.Com list of blog changes, I decided to make a new weblog pinger utility based on the watcher feature.
The net.nemein.ping library is built on Rogers Cadenhead’s Weblog_Pinger library. It will monitor article changes in components like newsticker and wiki, and ping a set of defined XML-RPC ping services on all updates. This should help make blogs powered by Midgard CMS more visible.
Updated 07:56: This is what the pinger library stores into the MidCOM debug log:
Sep 14 23:52:07 [debug] midcom_services_cache::initialize: Pinging Ping-o-Matic... Sep 14 23:52:08 [debug] net_nemein_ping_pinger::ping: Successfully pinged rpc.pingomatic.com Sep 14 23:52:08 [debug] midcom_services_cache::initialize: Pinging Technorati... Sep 14 23:52:08 [debug] net_nemein_ping_pinger::ping: Successfully pinged rpc.technorati.com
And as can be seen, the response from Google is quite fast (the article was in searches much earlier than 1 hour after posting, but I didn’t realise to take a screenshot):
The current implementation of pinger has two limitations. First of all, as the pings are now run during the HTTP request that saves an article, the request can become slow if there is heavy traffic at one of the services. The solution for this would be to store the notifications into a temporary record, and then process them via MidCOM’s new cron service.
In the other news, our new mRFC 0020 on date and time handling in Midgard2 is now short of one +1 vote by a Midgard contributor to be passed.