Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-39918

CLONE - The ability to move a site to a recycle bin and then purge it after a set period of time



    • (Deprecated) Contributed Patch
    • Status: CLOSED
    • Major
    • Resolution: Fixed
    • 2.9.x
    • 2.9.x
    • Kernel
    • None
    • Yes
    • Yes
    • Yes
    • SAK-20380, KNL-705


      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.

      The sakai.properties:

      1. enable soft site deletions when a site is deleted normally
      2. if true, they will be softly delete and then purged after 30 days
      3. if false, thet will be deleted immediately
      4. defaults to false.
      1. the number of days to keep softly deleted sites until they are purged.
      2. 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.

      Gliffy Diagrams



            1. db-update-mysql.patch
              0.1 kB
            2. jobs-2.6.x.patch
              0.5 kB
            3. kernel-1.0.x-revised.patch
              58 kB
            4. kernel-trunk.patch
              48 kB
            5. kernel-trunk-2.patch
              11 kB
            6. portal-2.6.x-revised.patch
              2 kB
            7. portal-trunk.patch
              3 kB
            8. portal-trunk-2.patch
              0.8 kB
            9. reference-2.6.x-revised.patch
              0.9 kB
            10. reference-trunk.patch
              1 kB
            11. reference-trunk-2.patch
              0.4 kB
            12. SAK-19952-jobscheduler.patch
              7 kB
            13. SAK-19952-kernel.patch
              69 kB
            14. SAK-19952-portal.patch
              2 kB
            15. SAK-19952-reference.patch
              0.8 kB
            16. SAK-19952-site.patch
              4 kB
            17. Screen shot 2011-02-01 at 11.49.35 PM.png
              Screen shot 2011-02-01 at 11.49.35 PM.png
              28 kB
            18. Screen shot 2011-02-01 at 11.50.05 PM.png
              Screen shot 2011-02-01 at 11.50.05 PM.png
              30 kB
            19. Screen shot 2011-03-30 at 10.23.33.png
              Screen shot 2011-03-30 at 10.23.33.png
              19 kB
            20. Screen shot 2011-03-30 at 10.24.02.png
              Screen shot 2011-03-30 at 10.24.02.png
              57 kB
            21. Screen shot 2011-03-30 at 10.24.15.png
              Screen shot 2011-03-30 at 10.24.15.png
              26 kB
            22. site-manage-2.6.x-revised.patch
              6 kB
            23. site-manage-trunk.patch
              12 kB
            24. site-manage-trunk-2.patch
              10 kB

            Issue Links



                  dhorwitz David Horwitz
                  steve.swinsburg Steve Swinsburg
                  0 Vote for this issue
                  2 Start watching this issue



                    Git Integration