MeatballWiki | RecentChanges | Random Page | Indices | Categories

To delete a page, replace the first word of the page with DeletedPage. You can write anything else you want on the page; you should write at least a word or five explaining why (even if it's obvious to you). A useful idiom looks something like

DeletedPage: off-topic
Original text goes here; e.g.
Natalie Portman is well known for her role in The Professional.

Pages tagged with DeletedPage are deleted after two weeks (actually, the expiry timeout of the KeptPages) of no edit activity. In practice, this usually means after someone important remembers to do maintenance.

Pages that are deleted are permanently lost. They are not restorable from any backups you may have heard exist, no matter how reputable the source of that rumour was. Backups during live script development have been safely lost. Therefore, it is up to the community to ensure that pages aren't deleted recklessly.


Google unfortunately does not recognize a naïve implementation of PageDeletion, because deleted pages do not return an Error 404: Page not found. to the GoogleBot?. This means that Google permanently indices ghost pages every month. Normally this wouldn't be an issue as you would expect most users not to link to empty pages, but MeatballWiki already has a high page rank on Google. This means Google:SoftICE used to return MeatballWiki's ghost page. The solution adopted is to emit the following on empty pages:



For UseModWiki fans, see UseMod:WikiPatches/PageDeletion for the patch.

Rework the rest of the page

This page started with the "Old discussion:" section below, but the new KeptPages idea allows easy community control over permanent page deletion. The old discussion is kept for context later on this page. Later, this page accumulated some discussion off the real "DeletedPage"...

A thought -- instead of inserting just "DeletedPage" onto the deleted pages, one could insert "#DeletedPage", which would cause a redirection to this page, thus explaining in one hit what happened. This could be useful for some deleted pages that might attract further discussion (one more hurdle to jump before getting back into the fray)... though I don't know of any pages that fit that pattern.

Although ... it is known for a DeletedPage to include some brief explanation as to why or when, and so this hack wouldn't be appropriate in the first instance in this case. Perhaps after a reasonable period once it can be assumed that those interested have read the notice?

When the last of the KeptPages expires, and all that's left is DeletedPage, the system will delete the page. However, it's still a good idea to allow room for discussion. That way, as long as people are discussing it, the page will remain alive. Sure it takes two weeks of deadness to kill a page, but that isn't very long at all in the LongNow.

Do we really want discussion on some of the more egregious pages though? Hmmm... would this be a TechnologySolution of SoftSecurity, doing a simple switcheroo? It's late so I can't think of a real world example, but there's the seed of an idea here ... misdirection.

If we don't want discussion on these pages, we won't have discussion on these pages. The real question is whether we should encourage discussion. The technology itself is neutral in this regard. It doesn't discourage discussion by limiting your ability to discuss it (by making architectural restrictions), nor does it encourage it by requiring or artificially easing discussion. It merely allows for it in the same way as if you didn't want to delete the page.

An example of misdirection to shun criticism is to require opponents to generate reports proving their position while you move on with your process. This slows down your opponents as well as increasing the cost to oppose.

See also TacticalConflict? (on SourcesOfConflict)

With KeptPages, the process to delete a page could be something like:

The user decides that a page like SqeakersWebsite? (sic) should be deleted because the title is misspelled. She removes any existing text on the page, and replaces it with the link DeletedPage. The DeletedPage link would explain the process, and possibly point to refactoring-discussion pages. Maybe some optional text could be allowed after the DeletedPage line for a quick explanation. For example,

misspelled, see SqueakersWebsite

Whitespace should also be ignored. (Someone might have a blank line before/after the link.)

The DeletedPage link would replace any redirection, so that people will notice and fix any backlinks. Optionally, the user could hide the page to make it less visible (before it is deleted). Several responsible people will probably watch all new hide-actions, so it will still be subject to PeerReview.

If anyone objects, they need only to make any edit to the page. Even updating the reason-for-deletion text would create a new kept page version. Over time, if nobody adds newer kept versions, all the old kept versions will be expired. The expiration time will probably be between 3 to 6 weeks to start.

Occasionally a maintenance pass will check for pages that contain only "DeletedPage", and have no kept versions. Pages that meet both of these conditions would be permanently deleted. Any remaining links to the deleted page will become ?-mark links (cf. NoSuchPageSyntax).

The RecentChanges log might be edited, although that might not be necessary. (The deleted pages won't have been edited recently in any case.)

If the ordinary review of RecentChanges (and hidden pages) isn't sufficient, I could probably make a report of all pages due to be deleted in N days (if nobody edits them). -- CliffordAdams

Note: I changed DeleteThisPage to be DeletedPage as it is smaller and follows existing practice (Wiki:DeletedPage).

This is great, Cliff! I love it! (And now, the critique...)

I'm not sure you require hidden pages any longer. They existed to solve this problem. It seems solved to me.

By "The DeletedPage link would replace any redirection" you mean it will replace #REDIRECT tags, correct?

I'm ambivalent on editing RecentChanges. On one hand, that messes with the history of the wiki. On the other, it would allow us to ForgiveAndForget nasty flame pages (just by deleting them). If look at MoinMoin:RecentChanges, you'll notice that the no-longer-existent pages are emitted with NoSuchPageSyntax so that they could be restored. However, I suppose that isn't necessary because a month is an awful long time to let a page go by. Anyone who would care would know. I guess editing the history would be best.

As for the DeletedPage index, that's trivial. Just click on the title of "DeletedPage" to get the BackLinks. -- SunirShah

4:23am July 16, 2001 Instead of writing my paper on SoftSecurity, I implemented PageDeletion. ;) See UseMod:SunirShah for the patches. They are of dubious quality, but they seem to work. -- SunirShah

Automatically deleting pages based on activity.

See http://www.hanoi.dynu.com/~hanh/phpwiki-1.3.3/index.php

for the automatically delete mechanism. If the activity of page is below the set threshold, it will be delete. The activity is based on how many people actively involve in content of that page.

Do you think that's wise? There are pages on WikiWiki that haven't been edited since 1995, yet they remain useful.

I've been thinking. Say that if I had the tool PageDeletion, then I would go around and wipe out all pages that I felt that clearly sucked. This is way beyond deleting spam and typos. Is this good or bad? I'm not sure it's bad because there are certainly some things that should be turfed. For instance, pages that are (clearly) off-topic like ComputerScienceWidgets?. Also, some of the Wiki* pages are terribly named. Some are redundant with better names. On the other hand, I can certainly see the issue of "Your page sucks / My page doesn't suck!" becoming a polarizing one. Since dissent is amplified (often much stronger than assent) on wikis, this can quickly shatter community bonds.

Personally, I haven't decided if I should or not. I think I would, but I don't want to be a GodKing. -- SunirShah

Great! I get to be the GodKing today! More seriously, I think there are two issues that can be separated here. Many pages have bad names, even some that I've created have terrible names. Renaming pages should be relatively non-controversial, as it's rare that the page title is really important in understanding the contents. (Personal name-pages are an exception.)

As for deleting pages, I think it should be done if a page does not meet minimal standards, or if the original author(s) withdraw their work. In most other cases the page should remain, although possibly with a different name. (I might rename ComputerScienceWidgets? to ComputerScienceStories?.) Off-topic pages might be hidden from the default view, however. Hidden pages will be generally invisible unless one has a direct link to the page (or one turns off hiding).

I'm thinking of an extended HiddenPages implementation that would work using categories. Users would start with a default set of hidden-categories, and could optionally add or remove categories from the hidden list. One could add many categories that would be optionally hidden, like "offtopic", "profanity", "metawiki", or "HardSecurity" (just kidding ;).

With PersonalCategories one could go even further with categories like CliffClassification:OffTopic or SunirRating:Sucks. One would only see those PersonalCategories if one "subscribes" to them, so people should feel freer to express their opinions. I'd suggest not using pejorative terms in most cases, however. (Indeed, it would be amusing if someone inverted their rating names, calling the absolute garbage "wonderful" (and not rating the actually-good pages). Then people might complain: "Joe Smith called my page wonderful! I'll see him in court!") --CliffordAdams

I still think the simplest solution is just to delete ComputerScienceWidgets?. Keeping it around serves no purpose, unless you believe in what I call "absolute freedom of speech." Absolute freedom of speech means that all speech is protected. I, however, do not believe in that. In fact, I don't believe in absolute freedoms at all. In a democratic society, you are free to do whatever you like provided you do not impinge on the freedoms of others. Moreover, not all speech is acceptable in all contexts. You are not free to stand up and yell profanities in a shopping mall, nor are you allowed to send mail to the newspapers on official company letterhead ranting about space aliens. Finally, on a practical note, it would be best to remove cruft from the PageDatabase in order to improve quality of the site as a whole (much akin to code refactoring). -- SunirShah

P.S. I'd actually rather move ComputerScienceWidgets? to WikiWiki where it is on topic. However, the MeatballWikiCopyright is restrictive.

First, a minor point. I believe that the examples above aren't really good examples of "freedom of speech" issues. In the mall example, you also wouldn't be free to yell the text of the US FirstAmendment. (Actually, in the US you are almost always free to yell what you like. If you refuse a request to leave private property, then you'll get in trouble.) The same principle applies with the letterhead, which might violate one's employment contract, but which probably wouldn't be against the law (unless the letterhead was used for fraud).

I mostly agree with Sunir in this specific case. The analogy I use for Meatball is that Sunir is the editor, and I'm running the print shop. Meatball is not strictly controlled, but that doesn't mean that it should keep all contributions. As far as the mission of Meatball is concerned, I'm simply another advisor. I haven't agreed with all of Sunir's decisions so far, but I try not to let that interfere with other matters.

My main concern is that deleting such contributions will often be controversial, and it may be better to effectively hide pages rather than delete them. If even Sunir is uncertain about deletion, imagine how difficult it would be for others to make that choice. Hiding a page is a much less drastic action, although it is more immediate. Hiding also allows groups to compromise to hide a page rather than delete it, especially if only a few people believe it is worth saving. (For instance, ComputerScienceStories? (after renaming) could be hidden, and visible only by a link from the author's home page.)

Even for my later plans such as ViewPoint I don't plan absolute freedom of speech (see ViewPointCopyright). For instance, I probably won't accept "adult" content, even relatively mild content like the text found in many "romance novels". People who disagree can apply for a full refund, or (more usefully), copy the ViewPoint content to their own servers.

My usual view is that anything worth typing is worth keeping, but not necessarily worth displaying to others. Hidden pages will be *very* hidden unless one either chooses to turn off hiding, or selects a direct link to the page. The hidden pages will not appear (by default) on searches, RecentChanges, or the full index of pages. --CliffordAdams

Old discussion

From ReversibleChange...

Page deletion is a planned feature for UseModWiki. (Removing the page is easy, but the RecentChanges log is more difficult.) This feature might not be publically available--deletion has been misused on other wikis. (In one case, a search robot apparently indexed all the "delete this page" links of a wiki. Oops.) Page deletion will probably not be easily reversible (other than by creating a new page of the same name).

A few months later... Page deletion will likely be an admin-only UseModWiki feature (not available on Meatball), since it would be very difficult to effectively reverse. [However, see below for a later opinion.] To replace deletion, I'm considering a masking/hiding feature which would hide a page from RecentChanges. HiddenPages could be seen on a special list (or possibly as an "ignore hiding" option for RecentChanges). Anyone could hide a page, or unhide it. A full AuditTrail should discourage abuse. HiddenPages would still be available for linking, but would not be shown in the default RecentChanges or index lists.

Additionally (somewhat related), I might allow users to add/change/delete summaries on their own old edits. (Sometimes the summaries seem a little *too* permanent. This might only be allowed for users with a User-ID because of issues like shared proxies.) Like all other features, the hiding/masking features could be removed if seriously abused (and if the community cannot find a better solution). --CliffordAdams

You will need to present the change to hidden status in RecentChanges in order to PeerReview it or someone may maliciously or (more likely) mistakenly hide a page that others thing should be visible. Aside from that, that sounds like a reasonable solution to the problem. You may want to create a HiddenPage? index. Of course, I'd always have showhidden=1 whacked on my RecentChanges listing. ;) -- SunirShah

One UseModWiki feature under consideration (for after 0.9) is to allow people to "keep" a version of a page. See KeptPages.

A possibility for other, more "controlled" sites (not Meatball) would be to make the default publically-displayed page be an accepted version (by an editorial team). This brings up the possibility of branching versions, however, which gets complex quickly. It might be good for semi-fishbowl sites, where public changes are allowed, but only after review by an authorized editor. (If someone attacks/spams such a site, only the editors will see the damage.) --CliffordAdams

You can also do deletion à la ENVY by just removing the visible reference to it in your workspace and projects. However, the object remains buried in the repository somewhere. Kind of like COM Objects and Windows\System32. -- SunirShah

See EnvyFaq

[end of old discussion]

Empty Pages

All blank pages should be implicitly considered to be marked DeletedPage.

Hm. WikkiTikkiTavi does this. You could search them by using '^$' or '^\s*$':

Page Deletion based on threshold voting

As suggested for WikiPedia...

There should be a community process for page deletion. A form on which anyone could agree or disagree with a deletion (what is done right now), but the deletion would actually "really" occur by community decision. For example, after a certain time, and after N people have supported the deletion, there could be an automatic query running to do the deletion. Hence, the act of deleting would not be done by *one* person. This would limit the times an abusive sysop deliberately delete a page, without even asking the community opinion on the "vote for deletion page". --anon.

The first problem with having a separate page for deletion is that it's not very well encapsulated. The process for deleting a page should be on the page itself. Not only is this better organized, but could you imagine your amazement that you're in the middle of refactoring a page (say a flamewar), and the page just suddenly vanishes? That's not very clear, and that leads to problems. See OpenProcess#badvogato.

The problem with threshold voting is that there is no guarantee that the quorum represents even a significant minority. The Internet being as it is, StuffingTheBallotBox to unilaterally delete pages is easy. This is a problem on WikiWiki already.


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