logo Alfresco
Version Enterprise 3.4.2

Le besoin est de supprimer les documents de la corbeille d’Alfresco afin de libérer de l’espace sur le disque et de supprimer les entrées associées dans la base de données.

Problème

Dans Alfresco les fichiers supprimés restent indéfiniment dans la corbeille. Il n’y a aucun mécanisme de purge.

Solution

Cycle de vie des documents supprimés

Cycle de vie d'un document Alfresco
Cycle de vie d’un document Alfresco

On voit qu’il existe deux modules:

  • trashcanCleaner
  • contentStoreCleaner

trashcanCleaner

Alfresco propose un module sur sa forge : http://forge.alfresco.com/projects/trashcancleaner/

Cependant ce module ne marche pas pour les version supérieures à 3.3.1:
Module 'org.alfresco.extension.permissions' version 0.4 is incompatible with the current repository version 3.4.2.
The repository version required must be in range [3.2.1 : 3.3.1].

Il faut donc faire l’installation à la main:

  1. Ouvrir le module .amp de la même manière qu’un dossier .zip
  2. Placer le fichier module-context.xml dans le repertoire WEB-INF/classes/alfresco/extensions/ d’Alfresco (le renommer en trashcan-context.xml)
  3. Placer trashcanCleaner.jar dans le repertoire lib/ d’Alfresco

Dans le fichier module-context.xml on peut configurer:

  1. A partir de quand les fichiers supprimé doivent être purgés.
    Dans l’exemple ci-dessous on purge les document ayant été supprimés il y a plus d’une semaine:
    <property name="protectedDays">
    <value>7</value>
    </property>
  2. La fréquence du batch (à l’aide d’une expression cron)
    Dans l’exemple ci-dessous le batch est exécuté tous les jours à 4h du matin:
    <property name="cronExpression">
    <value>0 0 4 * * ?</value>
    </property>

Une fois le trashcanCleaner exécuté les documents deviennent alors « orphelins » (Attention, il n’est plus possible des les restaurer).

contentStoreCleaner

Ce module (normalement disponible par défaut dans Alfresco) est chargé de scanner, tous les jours à 4h du matin, les documents orphelins depuis plus de 14 jours. Ces documents sont alors supprimés définitivement (ils sont déplacés vers contentstore.deleted).
Une fois de plus il est possible de modifier la configuration:

  1. Dans le fichier content-services-context.xml on gère à partir de quand les fichiers supprimés doivent être purgés:
    <property name="protectedDays">
    <value>14</value>
    </property>
  2. Dans le fichier scheduled-jobs-context.xml on gère  l’heure à laquelle est exécutée le batch

A vous de jouer!

Publicités