Projet

Général

Profil

Actions

Feature #10786

ouvert

Vidage automatique de la corbeille de publications

Ajouté par David Lesimple il y a presque 6 ans. Mis à jour il y a 10 jours.

Statut:
Resolved
Priorité:
Normal
Assigné à:
Début:
10/07/2019
Echéance:
% réalisé:

0%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

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.


Demandes liées 1 (0 ouverte1 fermée)

Copié depuis Silverpeas Core - Feature #10785: Vidage automatique de la corbeille d'espaces & applicationsClosedMiguel Moquillon10/07/2019

Actions

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 David Lesimple il y a 12 mois

  • Version cible mis à Version 6.5

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

Bon, je pensais que ça allait être simple mais en fait :
  • 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
Cf PR : Cette fonctionnalité a requis, comme identifiée précédemment, l'ajout d'une nouvelle propriété fonctionnelle aux objets 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.
La prise en charge de cette nouvelle propriété fonctionnelle est laissée à la discrétion des applications ; certaines ne supportent pas de suppression intermédiaire (la suppression est donc définitive), d'autre, comme Kmelia, oui. Pour ce faire, les services fonctionnels 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.

Avec l'ajout de cette nouvelle propriété, le service de purge automatique des corbeilles des GED peut donc désormais savoir combien de temps une contribution (thème ou publication) est restée dans la corbeille en vue de décider de la supprimer ou non définitivement. Ce service récupère toutes les instances Kmelia de Silverpeas et pour chacune parcours le contenu de leur corbeille et décide pour chaque contribution trouvée si oui ou non elle remplit le critère nécessaire à sa suppression définitive. Pour le fonctionnement du service de purge, deux nouveaux paramètres de configuration ont été introduits dans le fichier de propriétés kmeliaSettings.properties :
  • kmelia.autoDeletionDelay qui indique le nombre de jours maximum une contribution peut rester dans la corbeille avant suppression définitive
  • kmelia.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.

Actions

Formats disponibles : Atom PDF