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.


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.