Fork Back to Creation

We're irrecoverably deleting parts of pages when we fork an earlier revision from history. If we go all the way back to creation then that should mean delete the whole page.

The page might not be empty if creation brought with it story from some sort of importer. But that should not matter. Discard it too. Rerun the importer if the items are missed.

We now revisit this idea in an issue where we consider more fully the rationale, look and feel, and implementation details. github

why now

Why have we not offered delete already?

It seems obvious that if you can add pages, you should be able to delete them. This is most certainly true when adding pages to a traditional document. But hypertext expands to meet all needs so one just moves on. Federation relieves the pressure to get it right even more. No need to make one site perfect. Just make another and fork the best content forward. We've learned lots about this wiki from living with its limitation.

We have offered delete for browser local pages since early on. Here an accidental fork would hide real content behind yellow halo pages. This case is much easier because we knew there would not be dangling references. Dangling references and undelete support remain important issues to be explored for regular pages now.

Why is now the right time to work on delete?

We now have a client-side abstraction for different kinds of pages called the siteAdapter. Up until now we have special-cased every page type: normal, remote, local, and plugin pages require if-statements throughout the core client codebase. We're hoping that siteAdapter will allow a collection of deleted pages to slide into our system like any other site offering content to an author. We'll see.

There is also the sheer complexity of removing things that get used elsewhere. Our first commit here touched four separate and individually complex modules. This was not the sort of thing one would want going on while tackling even more important revisions to the core. With those, like pluggable security and https proxy to the federation out of the way, delete becomes a top priority.

So now we are ready to give delete the serious attention it deserves.