This is a set of patches that add some interesting behaviour to site deletions.
It adds the capability for sites to be softly deleted, and after a set period of time, purged from the system. The way it works is thusly:
A maintainer of a site deletes that site. If this is enabled, the user receives a message about this instead of the normal message. The site is then, for all intents and purposes, deleted. It does not show in any lists and users cannot navigate to it. However the site still exists and is completely intact with all content and user lists. Users with the appropriate permission (site.visit.softly.deleted) can manually navigate to the url. They get a message that the site is due to be purged but can still act on the site, perhaps retrieving content.
Normal users of a softly deleted site cannot access the site at all.
After a configured grace period, a Quartz job purges softly deleted sites from the system.
In addition, another permission is added, site.del.softly.deleted. This allows users with this permission to issue another removeSite call, perhaps from a webservice or similar, and that will manually purge the site from the system.
- enable soft site deletions when a site is deleted normally
- if true, they will be softly delete and then purged after 30 days
- if false, thet will be deleted immediately
- defaults to false.
- the number of days to keep softly deleted sites until they are purged.
- if not set and site.soft.deletion=true, defaults to 30 days.
There are a couple of components touched by this, and for trunk, there are two patches per component (I haven't merged the patches together sorry). Simply apply the -trunk patch, then the -trunk-2 patch.