Sakai Lifecycle

61 views
Skip to first unread message

Julian Janetschek

unread,
Jan 27, 2022, 11:43:32 AM1/27/22
to saka...@apereo.org

Hello everybody,


i am trying to understand the current sakai lifecycle implementations of sakai 20. 

My current understanding is as follows. There 2 different jobs.


  • Course Site Removal
    action = course_site_removal_service.action {unpublish/remove}
    This job iterates over published and non deleted course sites and unpublish them if the action = unpublish. Otherwise the method siteService.removeSite(siteId, < where hardDelete = False>) is called.

  • SoftSiteDeletionJob
    hardDelete =  expunge.sites.hard.delete  {true/false}
    This job iterates over any deleted sites and calls the method siteService.removeSite(site, hardDelete).

BaseSiteService.java [Dummy Code]
 -->  removeSite(site, hardDelete){
            
        if !hardDelete
            !site.isSoftlyDeleted()
                 softDelete
                 return;
        for SiteRemovalAdvisor advisor
                advidor.remove()
        
        storage().remove(site);
        
        if (isHardDelete)
            hardDelete(site);
       

-->  hardDelete(site){
           for EntityProducer ep
                if ep HardDeleteAware
                    ep.hardDelete()
}                   
 
The method storage().remove(site) clears the following Tables:
  • SAKAI_SITE_TOOL_PROPERTY
  • SAKAI_SITE_TOOL
  • SAKAI_SITE_PAGE_PROPERTY
  • SAKAI_SITE_PAGE
  • SAKAI_SITE_GROUP_PROPERTY
  • SAKAI_SITE_GROUP
The Interface SiteRemovalAdvisor introduced with
SAK-39413  has no implementations as of sakai 20
The Interface HardDeleteAware introduced with  SAK-39533 has only one implementation (contentHosting) as of sakai 20.


My understanding is that  database content from tools is not completely purged from the system, even if a hard Delete is performed. This results in orphaned content, links, etc..
Is my understanding correct or are we missing something important??

Thanks in advance!
Best regards
Janetschek Julian


David Hearn

unread,
Feb 14, 2022, 10:32:23 AM2/14/22
to Julian Janetschek, saka...@apereo.org
Hi Julian, did you ever get a response to this e-mail?  I've been looking into this exact same issue as part of a project to purge old student data from our system.  I'm curious as to how other institutions handle that.  I can't imagine that everyone keeps allowing the database to get bigger and bigger.    

Cheers,
Dave Hearn

--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/sakai-dev/5bad1e69651740c48848b037da85cfbe%40mci.edu.

Curtis Van Osch

unread,
Feb 14, 2022, 12:09:02 PM2/14/22
to Julian Janetschek, David Hearn, saka...@apereo.org
Hi Julian and David,
We also are in search of a procedure to remove our old course data, specifically responses to tests and assignments. Until now nothing is removed and yes, the database keeps growing and it's becoming an issue.
I explored the hard delete function as a possibility but found as you have that it does not remove the content of the sites, and thus isn't of much use in reclaiming space.
I think making Samigo and Assignments (in fact all the tools) HardDeleteAware would be useful.

Curtis


Curtis Van Osch
Analyste-programmeur
Service de développement de systèmes d'information
3333, chemin Queen‐Mary 
Montréal (Québec) H3V 1A2
Téléphone : 514-350-6000, poste 2029
HEC Montréal
Agréments hec.ca

From: 'David Hearn' via Sakai Development <saka...@apereo.org>
Sent: Monday, February 14, 2022 10:32 AM
To: Julian Janetschek <Julian.J...@mci.edu>
Cc: saka...@apereo.org <saka...@apereo.org>
Subject: Re: [sakai-dev] Sakai Lifecycle
 
EXPÉDITEUR EXTERNE : Ne cliquez sur aucun lien et n'ouvrez aucune pièce jointe, à moins que vous ayez l'assurance que le contenu provient d'une source sûre.

Miguel Pellicer

unread,
Feb 15, 2022, 4:16:03 AM2/15/22
to Curtis Van Osch, Julian Janetschek, David Hearn, saka...@apereo.org, Daniel Merino, Valerio Cerni Conde

Same here, some instances are just enormous and they have 10+ year old data, I remember some spanish folks like Daniel Merino and Valerio were also interested on this topic.


Miguel

To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/sakai-dev/YQBPR0101MB41806338DCCF9578136DD517DF339%40YQBPR0101MB4180.CANPRD01.PROD.OUTLOOK.COM.
-- 
-----------------------------------------------
Miguel Pellicer
CTO at EDF

Website: https://www.edf.global
LinkedIn: https://www.linkedin.com/in/mpellicer-edf
Office Phone: +34 - 96 381 35 75
Request a meeting here: https://calendly.com/mpellicer
-----------------------------------------------

Daniel Merino

unread,
Feb 15, 2022, 6:34:31 AM2/15/22
to saka...@apereo.org
Hi there, we are really interested of course. Also, another topic is the restoration in the current platform of a course exported, archived and hard-deleted several versions ago. We are not sure if this would work smoothly, but it is mandatory for us before any cleaning.

Best regards.

El 15/2/22 a las 10:15, Miguel Pellicer escribió:
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/sakai-dev/78cfa06a-5c7c-3950-194e-ce8c20a582fa%40entornosdeformacion.com.

-- 
Daniel Merino Echeverría
daniel...@unavarra.es
Gestor de E-learning - Centro Superior de Innovación Educativa.
Tfno: 948-168489 - Universidad Pública de Navarra.

Charles Severance

unread,
Feb 15, 2022, 8:56:39 AM2/15/22
to Daniel Merino, dev sakai
I am not an expert on this topic but have some thoughts.

- Back in the day, the Etudes project build a perfect archive / restore process on a very old version of Sakai and only for a subset of the tools - it was a good bit of work and not likely to help much in a modern version of Sakai.

- I think that the right way to export course content is to use an extended IMS Common Cartridge - where as much of the course content if encoded in the standard way and the restof the Sakai Archive information is tucked into the cartridge as extensions.  Earle is working on greatly improved cartridge support for Sakai and it is on the roadmap.  I would suggest that anyone that wants to dig into the archive / removal process take a look at that work rather than building something fresh.

- Another aspect of such an export / archive is the learner activity data (i.e. all the users, rosters, turned in assignments, etc) - Back in the day, you could make a Moodle backup and include roster data, etc - this became a security problem at some point and made it a privacy problem to hand the archived content to anyone new.  So if there is any interest in archiving the non-content bits - in my opinion that needs to be very very separate from the extended cartridge.

Having a high-fidelity cartridge import / export is an essential feature for us in the long-term - so the more we invest in and then depend on high fidelity cartridge processing - the better.

/Chuck

Julian Janetschek

unread,
Feb 21, 2022, 4:47:51 AM2/21/22
to saka...@apereo.org

Hi,

thank you for your responses and perspectives on the subject.

Does anyone know if there are currently any efforts to implement more of the lifecycle?


Julian


Von: saka...@apereo.org <saka...@apereo.org> im Auftrag von Charles Severance <cs...@umich.edu>
Gesendet: Dienstag, 15. Februar 2022 14:56:35
An: Daniel Merino
Cc: dev sakai
Betreff: Re: [sakai-dev] Sakai Lifecycle
 
Reply all
Reply to author
Forward
0 new messages