A month ago or so, someone spammed my Wiki with asian links. This overwrote all my data because PhikiWiki
doesn't have a backup-mechanism or a versioning system. Since i had a
backup of the webserver, i could restore the Wiki. But i didn't want to
restore manually the backup via FTP each time someone overwrites my
So i built a versioning system based on
rcs. I've searched the write and read functions in the code and added just an
co before the read function and a
ci before the write function.
Now each time someone changes a document, it's stored as a new
version of the document. The different versions are made accesible by
r= GET-parameter (example: version 1.38 and 1.50 of FrontPage).
If now someone fills my Wiki with spam, i can just load the last good
version and store it as the new version. No need to replay a backup via
The syntax of PhikiWiki doesn't have enough features for my needs, so i decided to use Markdown instead. I just removed all the formatting stuff of phiki and added a simple