drupal spam module
http://drupal.org/project/spam 6.x-1.0 on 6.14
Main function:
The spam module identifies spam without the user knowing it. You can configure it to use its main baysean filter, a duplicate filter, a site block-list based filter and more.
Example function:
Same as main, trying to get rid of spam.
Manage:
Its a bit admin heavy, appearing in three places:
a) admin configuration (settings)
b) admin content (to react to user admin flags)
c) admin reports (reports, no action possible)
In the settings you can set spam checking per content type.
Experience:
Because the contact page is not a content type, it can't be set to be checked for spam. In order to check a contact page, one workaround is to use the webforms module, which creates a webforms content type, and then create a new contact page with it (see webforms module here).
Consider giving admin permission to skip the spam check, aside from seeing the module in action, you don't really want to go through unspamming yourself.
The spam module has led to database errors, that is "allocation" errors, which can be solved (details below).
Alternatives:
gotcha module - for the contact page, but not overly effective
mollon module - external service, requires registration, free for low, paid for higher use.
Database error:
When updating content, specifically when updating the largest story of the site I consistently got a "bigger than 'max_allowed_packet' " error. While every time I saved, the page got stuck on the error page, it turns out that the content was actually being updated.
After complete disabling and uninstalling the spam module and components, and step-by-step re-installation, the error occurs again, specifically just after installing the main Spam API without any of its other components: the spam module API is the cause of the error. Together with a MySql setting.
The error message: Warning: Got a packet bigger than 'max_allowed_packet' bytes query: INSERT INTO jtr_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (1, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:1820127:\"Got a packet bigger than 'max_allowed_packet' bytes\nquery: UPDATE jtr_sessions SET uid = 1, cache = 0, hostname = '124.157.189.45', session = 'captcha_success_form_ids|a:1:{s:10:\\"user_login\\";s:10:\\"user_login\\";}spam_overview_filter|a:0:{}bypass_spam_filter|s:32:\\"e6e955daab0d593b03c2cb0ffa733aff\\";updates_remaining|a:0:{}spam_form|a:43:{s:3:\\"#id\\";s:9:\\"node-form\\";s:3:\\"nid\\";a:17:{s:5:\\"#type\\";s:5:\\"value\\";s:6:\\"#val in /home/[sitename]/public_html/includes/database.mysql.inc on line 128
Solution: drupal/database tweaks module
It supports tweaking drupal/server, including the max_allowed_packet error
http://drupal.org/project/drupal_tweaks 6.x-1.x-dev on 6.14
At first this would not work. Its error messages of "you might not have permission" discourage further investigation (and might make you consider contacting the hosting service). A day later I looked at it again and finally figured out how i could make the tweaks module work. I was able to get rid of the error message (see tweaks module). I had just overlooked something like a checkbox sitting right at the top of the settings, unexpectedly saying: enable. :-) But it works now. :)
Above the max_allowed_packet size was increased from 1 MB to 8 MB using the database tweaks module.
--- 08 Oct 2009 ---
--- 06 Nov 2009 ---
I need to revisit this. The error returned on another site (this one), with the same settings, on a node not checkedmarked for spam check. As follows:
Warning: Got a packet bigger than 'max_allowed_packet' bytes query: INSERT INTO watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (3, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:1302275:\"Got a packet bigger than 'max_allowed_packet' bytes\nquery: UPDATE sessions SET uid = 3, cache = 0, hostname = '124.157.185.191', session = 'spam_form|a:42:{s:7:\\"#prefix\\";s:17402:\\"<div class=\\"preview\\"><h3>Preview trimmed version</h3><div id=\\"node-84\\" class=\\"node\\">\\n\\n \\n <h2 class=\\"node-title\\">\\n <a href=\\"/node/84\\">multilanguage internationalisation module ( in /home/[sitename]/public_html/includes/database.mysql.inc on line 128
Page with only this error message on it appears upon saving the post. The result is not rendered. Upon receiving the error message, clicking refresh, resend, opens the node in edit mode, with:
When opening content as a menu item, the new version of content is there: The post is actually saved. Is the error message an error?
It also appears to reference the spam module (spam_form), while the node is not set for spam check. Disabling logging does not help. Disabling the comment form does not help. I already did a cache clear. Sessions? Should I close the browser? Closing all browser windows no difference.
Problem, not even an increase to 1024 MB makes the error go away. The content of the node is http://www.janroe.com/node/84, not really that long. Something else is afoot. This problem has become such a nuisance that I've diabled the module, very unfortunately>