Hi all,

I've found several requests for pinging other/multiple sites - the answers were just hacks in the existing ping.module code. So I wrote a "multiping" module which allows pinging multiple sites.
First, I want to make sure that my previous research is still correct ;-) If so, what would be the next correct step to make the module available to others (publish it on my web site? CVS account? ...)?

Multiping could replace the existing ping module.
Advantages:
- multiple sites (obviously)
- web interface
- On ping failures: Retries to ping the site during next cron run
Changes in behavior:
- No longer uses the ping hook

Comments

decon’s picture

I don't know what you would need to do but I'd like to find out more information about this module. I'd be highly interested in a pinging module that allows specifying different ping sites and knowing when the ping failed to connect.

Skyr’s picture

I've put the current version of multiping on my homepage:
http://medien.informatik.uni-ulm.de/~stefan/linux/drupal
The non-XMLRPC pinging (just a URL) is yet untested.

aventurer’s picture

Thanks,

-Dave

PainCoach’s picture

Love the module concept, and loads and pings on default settings as offered as a add-on module. But when I attempt to utilize the ADD SERVICE feature of the web interface... the follow error:

Fatal error: Call to undefined function: form_hidden() in /../../public_html/modules/multiping/multiping.module on line 98

Any idea on fixing this issue with a simple adjustment?

Thanks.

Skyr’s picture

This is due to the lack of a decent 4.7 port :) I just recently updated my site to 4.7 - I'm working on the port right now.
You can get a working version for 4.7 on my homepage. (The installer is yet untested, so there may be some problems)...

Skyr’s picture

I just posted Multiping 1.1 for Drupal 4.7 on my site. New features:

  • It is possible to automatically select the pinged sites by the taxonomy terms assigned to the node.
  • The sites can now be pinged during the cron run or immediately after a node submission.
  • If a ping request failed, the retry time is increased exponentially in order to avoid "hammering" the service.

The module now contains an installer - I've never written a Drupal installer before, so it very well might be buggy :-)

Test the module - and give me some feedback (both on the installer and on the module in general). Happy pinging!

shadex’s picture

I love the multi-ping mod. It's made life soooo much easier! Thanks!

Skyr’s picture

Glad to hear that! :-)

Foodster’s picture

Why not register the module at drupal? as for more testing can be done by the drupal members/ developer.

Skyr’s picture

...as soon as time permits. Unfortunately, I'm reeeeally busy at the moment :(
But you're right - the module seems to be working quite nicely, so I could risk introducing it to a broader audience ;)

eagereyes’s picture

Seriously, this should be the new standard module, it's just so much better than the existing one. I love it to death ;)

EagerEyes.org

Foodster’s picture

how to i configure the multiping if the ping service used post method? and what is the Method name for? what are the available option for this?

and when the option Ping after post is checked, does that mean it will only ping if the new content is posted or updated.

Person who loved FOOD and DRUPAL

Skyr’s picture

Method name: If the ping service uses XML-RPC, this is the name of the remote RPC function. On most services (like Technorati, see tech doc), it is called "weblogUpdates.ping". If you use a service which receives the ping simply by requesting a specific URL (which contains your Blog address, etc.), just leave the field blank.

Ping after post: The default drupal behaviour is to ping during the cron run, which is usually once per hour. If you check "ping after post", pinging is done immediately. In any case, pings are only sent if there are new or modified posts, of course.

Foodster’s picture

warning: fsockopen() [function.fsockopen]: unable to connect to rpc.technorati.com:80 in /home/mysite/public_html/includes/common.inc on line 374.

When i update/add new content, 2 times out of 10 times i will get this. It is safe to ignore this? as i do not sure whether it is caused by technorati. Thanks

Person who loved FOOD and DRUPAL

Skyr’s picture

Hm, sounds like some network problem to me. This can be caused due to:
- DNS failure (your server is unable to resolve rpc.technorati.com)
- For some reason, your server cannot establish a connection to technorati (some link down)
- technorati is too busy to properly process your connection (rather unlikely)
Though - two out of ten is rather often...
Multiping shoud observe the failure (see logs) and retry the ping after some time (see logs once again). The retry time interval sould be several minutes at the least (cron runs) - if they occur too fast, chances are that technorati considers this behaviour as spamming.

Multiping uses the Drupal default methods for getting/posting the ping data, so it is (hopefully) not a Multiping-related problem :) If the retry intervals are too short, this _is_ a Multiping issue.

To sum up: If the retries work (with proper retry intervals), you can ignore the errors regarding the Technorati pinging; but I think it is a good idea to go looking for the reason of the trouble, because that could also mean that your website is unreachable from time to time.

eagereyes’s picture

I get errors like that from Technorati all the time. All other sites I ping work fine, and Technorati works after a few tries. So I wouldn't be worried, this seems to be rather normal (I also read a comment somewhere on this site to that effect).

EagerEyes.org

mcurry’s picture

I get this error a lot, too, with technorati. I just bumped my php.ini default_socket_timeout value from 60 to 120 seconds.

Michael Curry - Exodus Development

geohelper’s picture

Here is a list of pingable URLs, but I have no idea what method each of these use...
http://forums.digitalpoint.com/showthread.php?t=52431

It would be nice if this module was "officially" added to the Drupal modules page, along with documentation and a default list of URLs.

Most people who download this module will want to ping as many services as they can.

It would be very useful for this module to add 5-10 of the top services by default upon installation.

I've only tried these 3...
http://rpc.technorati.com/rpc/ping (weblogUpdates.ping)... failed
http://api.my.yahoo.com/RPC2 (tried blank & weblogUpdates.ping)... failed
http://api.feedster.com/ping (blank)... ok

Anybody have a working list they'd care to post?

eagereyes’s picture

Technorati fails quite often, so give it a few tries (multiping will retry after some time and eventually succeed).

Here's my list. They all use the standard weblogUpdates.ping
* Technorati: http://rpc.technorati.com/rpc/ping
* Ping-O-Matic: http://rpc.pingomatic.com
* Feedburner; http://ping.feedburner.com
* Feedster: http://api.feedster.com/ping
* Blo.gs: http://ping.blo.gs/
* Weblogs.com: http://rpc.weblogs.com/RPC2

You should be able to add most others in exactly the same way, since they all use the same API.

EagerEyes.org

Foodster’s picture

Thanks eagereyes, i find the list is rather useful. We should keep the link rolling but i have a question, ping-o-matic service ping most of the services like technorati, feedster, feedburner, blo.gs etc so do we still need to add those services into multiping?

i agreed, technorati fails quite often, these why i unchecked the Ping after post, because i find that it rather slow in posting.

Person who love FOOD and DRUPAL

Foodster’s picture

just some update, blog.gs has been acquired by yahoo, so this is their new ping http://ping.feeds.yahoo.com/RPC2/.

Person who loved FOOD and DRUPAL

jeffspanos’s picture

Skyr's module is great! And the only service I'm having problems with is pinging technorati... for some reason, drupal is sending all of the comments from my website, but not the stories or blogs. how can that be corrected?

Skyr’s picture

A "ping" doesn't send anything - except the site URL and the RSS URL (the latter being optional according to the standard, but multiping sends it). After receiving a ping, the pinged service (e.g. Technorati) requests the page content and processes it.
When searching the web for similar problems (Technorati only sporadically recognizes changes on my site and occasionally picks the wrong article text), I found several posts which indicate that Technorati sometimes has some general problems with Drupal (or vice versa). Unfortunately, I found no howto for fixing that.
I have the feeling that Technorati doesn't use the RSS feeds, but parses the HTML pages. If this is true, that would mean that the Technorati problems are theme-dependent... but as I already mentioned, this is just a vague feeling.

3dsoft’s picture

I get this error message when enabling this module:

user warning: Column count doesn't match value count at row 1 query: INSERT INTO `multiping` VALUES (1, 'Ping-o-matic', 'http://rpc.pingomatic.com', 'weblogUpdates.ping', 0, 1, 0); in /var/www/techline/httpdocs/drupal/includes/database.mysql.inc on line 121.
-----------------
www.joelle.de

Skyr’s picture

I forgot to update the initial SQL statements when modifying the table structure... should be fixed (latest version is published on my web site).

TheWhippinpost’s picture

Thanks for this Skyr.

A few days ago I d/l v1.1 but found only one file named: "multiping_4.7-1.1.tar_"... which didn't work.

So I "fell-back" to v.1.0 which appears in all the right places etc... but I'm not 100% sure it's actually pinging anything, but it's early days.

I just re-downloaded your latest and again, there's only one file similarly named to the previous v1.1

Error?

Mike
------------------------------------------------------------------------------------------
A simple thanks to those that help, a price worth payng for future wealth.

Skyr’s picture

I don't know why Drupal inserts the underscore when uploading a .tar.gz file :-( I just fixed it on my site (patching the database manually - argh!)
Remove the underscore (i.e. rename to multiping_4.7-1.1r1.tar.gz), the file is perfectly ok.

TheWhippinpost’s picture

I should'a perhaps added that this was the case when un-tarred, soz.

Mike
------------------------------------------------------------------------------------------
A simple thanks to those that help, a price worth payng for future wealth.

eagereyes’s picture

Here's a little bug report. Since this is not a project, I can't open an issue for it.

Multiping pings when nodes are updated that are not published. This is important, because sites like pingomatic might consider pings without changes in the visible content spam. It also should be a fairly easy fix, I guess. I am usually working on several postings at once, and don't want to have a ping go out every time I save a node to work on later.

EagerEyes.org

Skyr’s picture

Thanks for the info; I hope I fixed it. The updated version (multiping 1.1r3) is on my site.

btw: I'm a rather irregular visitor of drupal.org - in case of any bugs, please post an additional comment in my blog.

eagereyes’s picture

Thanks for the fix!

EagerEyes.org

eagereyes’s picture

Sorry, this got posted twice for some reason ... so much for spam ;)

Skyr’s picture

Hi all,

I'm sorry to say that I'm very busy at the moment - but I definitely plan to update multiping for Drupal 5.
In the meantime, I found that someone else started to patch the module:
http://www.howforge.com/porting-multiping-module-to-drupal-5
I've only had a quick glance at the patch, so there's not much I can say about it - but if you have to update right now, it's certainly worth a try.

housetier’s picture

I had my hopes up but sadly I can't apply the patch successfully. I explained the problem at howforge.com.

Maybe a smarter person can shed some light on this issue? :-)

oleykin’s picture

Thank you for this wonderful module,

Does it make any sense making the ping list longer than just a few major ones (like technorati)?

43vents.com | Let your negative emotions out...

Skyr’s picture

I finally did it :-) The latest release (with some minor new features) for Drupal 5.1 is on my page:

http://stefan.ploing.de/linux/drupal

It's been running there for three weeks now without any problems - so I hope it will work on your sites too :-)

wyn’s picture

Skyr, love multiping, thanks so much for sharing it.

Just a heads up that the version I downloaded says "5.0-1.2" but multiping.info says "5.0-1.1". Minor discrepancy but just a heads up.

bytecoders’s picture

It's a very good idea pinging multiple sites.
As we have seen a good results from testing why not consider this project to be integrated in Drupal site.
Could be easier to track updates to the module, for people like me that use the module Update Status to keep the site updated.
Thanks for your work.

Tusk-1’s picture

gdtechindia’s picture

Technorati works fine for me, but Yahoo can't be pinged.