MeatballWiki | RecentChanges | Random Page | Indices | Categories

AuthorPages is a proposal on how much VersionHistory to store. It was the best competing idea to KeptPages before KeptPages was invented. It is preserved here because competing ideas are good, plus it shows the motivations behind KeptPages. You will notice similarities between the text here and the text on KeptPages. That is because KeptPages was really a simplification of this idea. Indeed, AuthorPages was called KeptPages originally. AuthorPages itself came out of KeptVersions.

Terminology has been changed below to reflect the current definitions.

Several wikis have found it useful to keep old versions of each wiki page. These older versions are especially useful to correct destructive mistakes or mild vandalism. Some wikis keep all changes, while others keep only a single old copy (often the previous author's version). Each kind of versioning has its advantages and disadvantages. (For instance, permanent history means that vandalism can almost always be reversed, but some people are concerned about their mistakes becoming a permanent part of a page's history.) UseModWiki (the wiki used for Meatball) has changed its versioning a few times, but currently (version 0.86) keeps up to 3 old versions of a page (major, minor, and author copies).

The original idea of AuthorPages was to find a middle ground between keeping all versions and the current behavior of keeping a small fixed number of versions. A complex system of explicitly-chosen pages to keep was the first result, which received significant (and well-deserved) criticism. (I might revive that idea later, but with some changes including a different name.)

The new AuthorPages proposal does not (usually) require explicit actions by authors. Briefly, the new system will keep the most recent edit by each separate author (determined by user-id or hostname), up to a certain number of days (after which the kept version is removed). The current EditCopy link will become plural: "Edit copy from previous authors", and display a list of all saved versions (probably sorted by time).

This idea allows any number of people to participate in editing a page, without anyone's current contributions being lost. On the other hand, authors can easily remove their own "kept" version (by making a new edit), and other kept versions of old/embarassing content will be expired reasonably soon. More copies are saved for more popular pages (edited by more people). Pages that haven't been edited recently will have only the current version.

One positive effect is that these kind of KeptPages could encourage refactoring by minimizing the impact of mistakes. People could be more free to remove content from the current version, because the old versions will remain available for a decent time.

Although disk space wasn't a major concern, I estimate that the AuthorPages idea would require much less storage than the current multi-copy system (which has hundreds of copies for pages which haven't been edited in months). Even the worst cases (like a SandBox page) will have a reasonable number of copies--it will keep one page for each distinct author in the past N days (where N is the expiration interval). Contrast with a full-history wiki containing a SandBox of hundreds of edits (like Wiki:WikiWikiSandBox). --CliffordAdams

See AuthorPagesExample.

This is better than KeptVersions, but it is still complicated and will still fail when a vandal destroys a older page with no version history. A proposal that is simpler and more effective: KeptPages. With this, instead of some complicated user id scheme, you just keep everything. Note that that by keeping the full version history for all authors is precisely equivalent to keeping everything anyway. You also keep the ForgiveAndForget property and protect against any form of vandal attack because vandals cannot destroy older data. If a vandal wants to destroy an old page, the old page will still be around for a week. -- SunirShah



MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions