I have just written a simple plugin that others running small sites may find of use in dealing with spammers. Instead of locking your site down to private or invitation only, the AutoSandbox plugin allows you to automatically sandbox newly signed up users. You can then have a moderator un-sandbox them if they are legitimate (you will need to use script/userrole.php to establish one or more users as moderators to do this).
For big sites, this sort of individual moderation would not be practical,but then again, for big sites, the public timeline is probably not very useful. For smaller sites, where you want to keep spammers out of the public timeline, this plugin should be quite useful.
It's probably also worth adding that I set a default user to auto-welcome new users (let's call it 'assistant'). This user is sandboxed so the welcomes do not appear in the public timeline, but my main user follows assistant, so I can see all of the new users appearing (in fact I use boxcar to track the RSS feed of assistant on the iPhone, so I get notifications pushed to me) and then I can check that user's bona fides before un-sandboxing them.
@aric I've dropped a line to @zcopley on identi.ca and he's going to have a look at the code. I'm still a bit perplexed about how to do merge requests though. Do I need to be given a particular status first? When I click on "request merge" on my clone I get a message saying "This Git object is too large to be displayed in the browser".
I'm very keen to get this in: the plugin has been proving very handy for me and I'm sure other small sites would benefit.
P.S. I also dropped @brionv a line within gitorious, so apologies if I'm asking too many people about the same problem!
I think I must have the workflow on gitorious wrong. Here's what I did:
* On statusnet-mainline, clicked "Clone this repository on gitorious" * Made a local clone on my new repository seancarmody-mainline * Created a new local branch "autosandbox" * Added and committed my new plugin AutoSandbox * Pushed my local changes back to my gitorious repository * Clicked "merged request" and then got the "too large" error.