The book says that auth.archive "stores a copy of the record (as it was before the update)". However with SQLFORM it appears to store a copy of the record after the update unless you do workaround (from Anthony in previous post):
if form.process(...onsuccess=lambda archive: auth.archive(form, archive_current=False)) Seems to me the book version is more intuitive.

