Start situation: Content visible
https://example.com/pr
Scenario: Your PR campaign turned out to be a disaster.
You want or have to delete PR without trace.
Deletion by normal ways
https://example.com/pr
Edit page, clear all text, save. Reload.
Anyone with read permissions now sees this:
This page does not exist anymore
You've followed a link to a page that no longer exists. You can check the list of [[pr?do=revisions|old revisions]] to see when and why it was deleted, access old revisions or restore it.
Anyone with read permissions can open the old revisions and see all content, with all embarrassments.
Brute workaround: Forbid old revisions globally
https://www.dokuwiki.org/config:disableactions
You can disable "Old revisions". But this is not very satisfying:
- Visitor with read permission still see "This page does not exist anymore" which is a confirmation that it once existed.
- You may want "Old revisions" everywhere else, only not here.
Workaround: Block access to this page by ACL
- Give @ALL permissions "none" for page "pr".
- If someone then loads it, they get "Permission Denied".
- Also a bit fishy, instead of the "This topic does not exist yet" which you normally get.
- But at least no confirmation what once existed there and no way to see what was once possibly there.
Proposal
1) Save page "pr" empty. Or use the delete button available via a plugin. No need to change anything. Equivalent to:
$ find pages -name "pr.*" -exec mv {} internal-archive/pages/ \;
--> "This page does not exist anymore". Old revisions still fully browsable to anyone with read permission!
2) Option "Archive/move and at origin keep old revision changelog intact to certain groups/users"
$ find attic -name "pr.*" -exec mv {} internal-archive/attic/ \;
--> Revision overview still there: When, who, meta-data (size, edit-summary), but data not anymore!
3) Option "Archive/move and at origin leave no trace it ever existed."
$ find meta -name "pr.*" -exec mv {} internal-archive/meta/ \;
--> This topic does not exist yet. No trace it ever existed.
The option "archiveā¦" means to move it outside of the normal wiki-scope into "internal-archive" would be a plugin-specific behavior. The plugin then there could offer a UI for viewing and restoring (with an edit and with the option with/without history) back into the normal wiki-scope.
The option "Move" could simply just move it into another namespace, which is then restricted by normal means of ACL.
All this can be done by hand within the "data/" directory. But having this as a plugin could be very helpful for large DokuWikis with large teams, mainly accessing and administering via web browser.