Logging Wiki user entries / edits

Hi all. I've been trying to quality control the entries in a wiki i'm developing. My main concern is to log "who has written what" so that spammers and abuse can be easily traced. Being fairly new in Rails, i am unsure of what would be the best way to handle this. Here are a few possibilities:

Resting on the Log easy to implement, not resource intensive. But no real dynamic pullout of the data when needed.

Adding to a separate foreign keys table. Heavy duty processing. Might not be performance friendly. Redundant data as the chunk of text should be stored too? or character range?

Adding custom tags to the text embedded special tags with userid would be included within the editable text for every entry. This is the best solution i have come up with so far.

If anyone has some thoughts about it or knows some good tutorials on the subject, it would be more than welcome

Check out the ‘acts_as_versioned’ plugin: http://wiki.rubyonrails.org/rails/pages/ActsAsVersioned

This should take care of everything you want.

Jason

From what I've seen most, if not all, of the major OSS wikis out there (including wikimedia) save the entire edited page as a new version of the page, keeping the old version, and and recording with the new version who edited it. That way, it's a simple diff between any one version and it's predecessor to see what changes where made. It's easy and intuitive, but consumes a lot of space in the database. The acts_as_versioned plugin mentioned in the previous response is one implementation of this method.

Nguma Monene wrote:

Seems like a standard. I will look into it, thanks.