Comment Spam on Domino BlogSphere blogs

I noticed that several Domino bloggers have had trouble with massive amounts of comment spam recently. I had the same issue a few weeks ago, although I don't get the kind of traffic some of our more well-known geeks get. I made one trivial tweak to my BlogSphere database, and I haven't had any issues since. So I thought I should blog the solution in case it helps someone else. 

First, a caveat: my BlogSphere template isn't the most current, so the change I made may have been superceded by release 2.5x (I'm on 2.2b). 

When I noticed the increase in comment spam, I looked at the documents in NoteMan, my favorite Domino development geek utility (buy it, seriously). I noticed that there was a field called IsSpam, and it had a value of "Yes". There was also a SaveOptions field with a value of "0". So, BlogSphere was detecting that the comment was bogus, and was trying to avoid saving it, but was saving it anyway. When I dug a little deeper, I found that the WQS.StoryResponse agent was setting those values. The StoryResponse form, on the other hand, had no SaveOptions field defined. Now, if you're a developer, you know what I'm about to say. But I'll say it anyway (if only to take pity on the poor admin weenies reading this...). SaveOptions doesn't work unless the field exists on the form. So that was why the document was saved even though the WebQuerySave agent was smart enough to set SaveOptions to the magical "Don't save me" setting. Solution, of course, was simply to create a hidden editable field called SaveOptions with a default value of "1". 

Note: I'm not saying this will necessarily solve anyone else's problem - I'm just pointing out how I solved mine. If you want to try this solution but you're not a developer, ping me (email address in the top left corner of the web page) and I'll walk you through it in detail.