Feature #10786
ouvertVidage automatique de la corbeille de publications
0%
Description
Opération actuellement 100% manuelle, il serait intéressant d'indiquer un délai au delà duquel les publications de la corbeille (et bientot les dossiers) seraient supprimés définitivement.
Mis à jour par David Lesimple il y a presque 6 ans
- Copié depuis Feature #10785: Vidage automatique de la corbeille d'espaces & applications ajouté
Mis à jour par Miguel Moquillon il y a environ un mois
- Statut changé de New à In progress...
- Assigné à mis à Miguel Moquillon
Mis à jour par Miguel Moquillon il y a environ un mois
- les publications et les dossiers n'ont pas de date de suppression, ni d'état de suppression,
- les dates de modification des publications et des dossiers ne sont pas mis à jour lors de leur placement dans la corbeille
Cette fonctionnalité va nécessiter d'introduire donc date et état de suppression (mise en corbeille) à l'image des instances de composant et des espaces afin de pouvoir faire un calcul avec le délai en jours pour la purge auto.
Mis à jour par Miguel Moquillon il y a 10 jours
- Statut changé de In progress... à Resolved
- https://github.com/Silverpeas/Silverpeas-Core/pull/1403
- https://github.com/Silverpeas/Silverpeas-Components/pull/901
NodeDetail
et PublicationDetail
: celle de leur suppression non définitive. Ceci a nécessité donc l'introduction de deux attributs d'instance :
- la date de leur suppression non définitive,
- l'identifiant de l'utilisateur les ayant supprimé non définitivement.
NodeService
et PublicationService
propose deux nouvelles méthodes :
- une pour supprimer non définitivement la contribution : sa propriété de suppression non définitive (ou de retrait) est valorisée alors en base de données
- une pour restaurer la contribution précédemment retirée : sa propriété de suppression non definitive (ou de retrait) est remise à zéro en base de données.
Même si la propriété peut être directement manipulée via la méthode #setRemovalStatus(Date removalDate, String removerId)
de NodeDetail
ou de PublicationDetail
, celle-ci ne peut être effective, actuellement, que par l'utilisation des deux méthodes précédentes.
kmeliaSettings.properties
:
kmelia.autoDeletionDelay
qui indique le nombre de jours maximum une contribution peut rester dans la corbeille avant suppression définitivekmelia.autoDeletionCron
qui est le CRON qui permet de planifier l'exécution de la purge.
Si le paramètre kmelia.autoDeletionCron
n'est pas valorisé, alors l'exécution du service de purge ne sera pas planifié et par conséquent aucune purge ne sera exécutée. Si le paramètre kmelia.autoDeletionDelay
est valorisé à 0
alors, même si le service de purge est planifié et exécuté, la purge des corbeilles en elle-même n'est pas activée.
Du fait de l'introduction de la propriété de suppression non définitive dans NodeDetail
et dans PublicationDetail
, il a été nécessaire d'adapter le comportement de Kmelia lorsque des contenus sont mis en corbeille ou lorsque de tels contenu sont restaurés dans la GED. Et du fait que désormais les thèmes (dossiers) peuvent être mis avec leur contenu dans la corbeille (et donc par conséquent restaurés dans la GED), il faut tenir compte aussi que les simples fonctions de copie et ou de déplacement d'une contribution peuvent se faire dans un dossier mis dans la corbeille ou à partir de celle-ci ! Il faut aussi tenir compte que la copie et le déplacement peuvent se faire entre corbeilles et dossiers de GED différents. Tout ceci a donc nécessité un travail particulièrement long puisqu'il faut valider ces fonctions dans chaque contexte possible, ainsi que la mise à jour correcte de la propriété de suppression non définitive des contributions concernées.