Monday, November 08, 2010 at 12:02 AM.

on ping (name, url, changesUrl=url, categoryName="none",, adrmessage=nil) {
		<<1/21/02; 12:27:18 PM by DW
			<<Ooops, I released a version with fldebug true. Sorry. :->
		<<1/21/02; 10:53:51 AM by DW
			<<New optional param adrmessage.
			<<Now return true if the ping got through, false otherwise.
		<<11/28/01; 12:37:58 PM by DW
			<<Add optional parameters, changesUrl and categoryName
	try {
		local (params = {"weblogname":name, "weblogurl":url, "changesurl":changesUrl, "categoryname":categoryname});
		with adrdata^ {
			local (response = xml.rpc (server, port, "", @params, rpcPath:rpcPath, fldebug:false, flShowMessages:flShowMessages, protocol:protocol, soapAction:soapAction, flAsynch:false));
			if adrmessage != nil {
				adrmessage^ = response.message};
			return (true)}}
	else {
		if adrmessage != nil {
			adrmessage^ = tryError};
		return (false)}}
<<bundle //test code
	<<ping ("Scripting News in XML", "", categoryname:"rss")
	<<ping ("Scripting News", "", categoryname:"europe")

This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.