logo Alfresco
Version Enterprise 3.4.2

Parfois, quand un utilisateur fait une mise à jour, le message « No ContentData value exists for ID xxxx » peut s’afficher lorsque l’utilisateur tente d’accéder à Alfresco ou d’exécuter une indexation FULL. Cette « erreur » peut provenir d’une propriété orpheline faisant référence à un contenu qui n’existe plus.

Solution

Identifier les nœuds en erreur

Il est possible d’identifier les nœuds en erreur en exécutant la requête SQL suivante :

SELECT * from alf_node_properties np
LEFT JOIN alf_content_data cd ON (cd.id = np.long_value)
WHERE np.actual_type_n = 21
AND cd.id is null;

Si la requête ne retourne rien, faites une mise à jour vers le dernier service pack de votre version et exécuter une indexation FULL. Beaucoup de problèmes similaires sont corrigés avec les service pack.

Supprimer les nœuds en erreur

S’il y a effectivement des nœuds retournés c’est qu’il y a des données qui ne sont plus liées à un contenu. Voici les étapes pour supprimer les noeuds :

N’oublier pas de faire un backup de vos données avant la suppression afin de pouvoir faire un rollback. Les nœuds seront définitivement supprimé de votre Alfresco.

Supprimer les nœuds en exécutant les requêtes SQL suivantes :
Il est possible que certaines requêtes n’affectent aucune données
Je vous conseille de lancer des SELECT avant les DELETE afin d’avoir une idée de ce que vous allez supprimer
DELETE FROM alf_node_assoc WHERE source_node_id in (YOURVALUESHERE);
DELETE FROM alf_node_assoc WHERE target_node_id in (YOURVALUESHERE);
DELETE FROM alf_usage_delta WHERE node_id in (YOURVALUESHERE);
DELETE FROM alf_node_aspects WHERE node_id in (YOURVALUESHERE);
DELETE FROM alf_node_properties WHERE node_id in (YOURVALUESHERE);
DELETE FROM alf_child_assoc WHERE child_node_id in (YOURVALUESHERE);
DELETE FROM alf_child_assoc WHERE parent_node_id in (YOURVALUESHERE);
DELETE FROM alf_store WHERE root_node_id in (YOURVALUESHERE);
DELETE FROM alf_node WHERE id in (YOURVALUESHERE);

Maintenant, le message  « No ContentData value exists for ID xxxx » ne devrait plus apparaitre.

A vous de jouer !

Publicités