TrashPlugin

Maintain the Trash web

This plugin lets you empty the trash bin on a regular base or immediately on request. By default deleting a topic, an attachment or a web, items are moved to the Trash.WebHome. It will stay there for recovery until the trash is emptied. Cleaning up the trash bin will wipe out items and their history from the store permanently, that is the operation can't be reverted anymore, even not by checking out a previous revision.

For this reason cleaning up the trash can only be performed by an admin user under the assumption they know better what they are doing.

Local Trash webs

%TOPIC% supports having local Trash webs, that is a subweb called "Trash" of a current web. Given you created a web MyWeb.Trash it will be detected and used as trash instead of the global Trash web where all content goes normally. A trash web can be created using the _TrashTemplate web. The currently used trash web is then made available in the preference setting %TRASHWEB%.

Installation Instructions

You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab -> "Install, Update or Remove extensions" Tab. Click the "Search for Extensions" button. Enter part of the extension name or description and press search. Select the desired extension(s) and click install. If an extension is already installed, it will not show up in the search results.

You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions for more help.

TrashPlugin is able to clean up items from the trash older than a specific timespan specified in {TrashPlugin}{Expire} defaulting to 1M (one month). To perform regular maintenance automatically add a cron job calling the cleanUp REST handler of TrashPlugin.

0 0 * * * cd <foswiki-dir>/bin && ./rest /TrashPlugin/cleanUp

To clean up the trash of all virtual hosts installed via VirtualHostingContrib use

0 0 * * * cd <foswiki-dir>/tools && ./virtualhosts-rest /TrashPlugin/cleanUp

Optionally add an "Empty Trash" button to Trash.WebHome.

%BUTTON{"%MAKETEXT{"Empty Trash"}%" 
  icon="bin" 
  href="%SCRIPTURLPATH{"rest"}%/TrashPlugin/cleanUp?redirectto=%WEB%.%TOPIC%&expire=0"
}%

Dependencies

None

Change History

30 Apr 2024: delete attachments based on movedwhen instead of date
26 Jan 2024: added translations
05 Mar 2022: added support for custom Trash webs
05 Oct 2021: make deleting attachments more robust
11 Feb 2021: implemented custom trash webs: this allows to have local Trash subwebs
24 Oct 2017: don't delete WebStatistics from trash
30 Jun 2017: fixed deletion of webs in trash
14 Jun 2016: added parameter to configure which topics should be exempted from trashing; adding WebLeftBar by default now
29 Aug 2014: fully specify rest security
04 Apr 2014: flag rest handlers that don't require authentication
05 Sep 2013: fixed tainted issue
06 Aug 2013: initial release

I Attachment Action Size Date Who Comment
TrashPlugin.md5md5 TrashPlugin.md5 manage 156 bytes 30 Apr 2024 - 11:25 MichaelDaum  
TrashPlugin.sha1sha1 TrashPlugin.sha1 manage 180 bytes 30 Apr 2024 - 11:25 MichaelDaum  
TrashPlugin.tgztgz TrashPlugin.tgz manage 15 K 30 Apr 2024 - 11:25 MichaelDaum  
TrashPlugin.zipzip TrashPlugin.zip manage 37 K 30 Apr 2024 - 11:25 MichaelDaum  
TrashPlugin_installerEXT TrashPlugin_installer manage 6 K 30 Apr 2024 - 11:25 MichaelDaum  
Topic revision: r10 - 30 Apr 2024, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy