cancel
Showing results for 
Search instead for 
Did you mean: 

comparaison du contenu de deux documents

vaquero
Champ in-the-making
Champ in-the-making
bonjour tout le monde Smiley Happy

Je souhaiterai faire une comparaison du contenu de deux documents pour éviter les doublons.
s'il n'y a pas de modification sur le nouveau document (.doc), ce dernier doit étre transférer au dossier doublon.
ci dessous le bout de code javascript, mais malheureusement il fonctionne pas Smiley Sad

if(rechercheFichier.content == nouveauFichier.content)
         {
            
      nouveauFichier.move(doublon);
                 } 

quelque chose manque sur mon code!! auriez vous une autre façon de le faire??
9 REPLIES 9

cleseach
Star Contributor
Star Contributor
Bonjour,

Je pense que vous trouverez ici : https://forums.alfresco.com/fr/viewtopic.php?f=25&t=86 de nombreuses informations pour avancer sur la résolution de votre problème.
Après avoir lu cette page, n'hésitez pas à compléter votre demande.

Cordialement,
Charles Le Seac'h

vaquero
Champ in-the-making
Champ in-the-making
Bonjour Charles,

je vais détailler encore plus Smiley Happy

il y a 3 dossiers:
A : source // documents validés
B : document modifié // modification d'un document existant dans l'espace A
C : doublon // si le document modifié entrant dans l'espace B à le méme contenu que le document de l'espace A,  ce dernier est transféré dans l'espace C.


for(var i=0;i<nombreDeFichier;i++)
{

  if(fichier[i].isDocument)
  {
   var fichierEntrant = fichier[i]; // fichier entrant a l espace B
   var nomDuFichier= fichierEntrant.name;
   var rechercheFichier= comp.childByNamePath(nomDuFichier);  // recherche du fichier ds l'espace A
   
     if(rechercheFichier != null)
      {
          if(rechercheFichier.properties["cm:content"] == fichier[i].properties["cm:content"])  // comparaison du contenu des deux fichiers
         {
            
      fichier[i].move(doublon); // transfert du fichier ds l'espace C
                 }
       }
}

bien cordialement

cleseach
Star Contributor
Star Contributor
je vais détailler encore plus Smiley Happy
C'est une bonne idée, mais il y a encore une marge de progrès 😉
Par exemple :
  • Quelle version d'Alfresco est-elle utilisée ? (est-ce bien la 3.3 comme mentionnée dans votre profil)

  • Qu'est ce qui "ne marche pas" ?

  • Quelles sont les actions que vous réalisez ?
Malgré tout, voila quelques informations :
  • Le wiki indique comment manipuler la propriété "cm:content" (de type "d:content") : http://wiki.alfresco.com/wiki/3.3_JavaScript_API#ScriptNode_API

  • Essayer de comparer des contenus binaires comme vous voulez le faire n'est pas une bonne idée.

  • Pour du dédoublonnage, il vaut mieux utiliser des mécanismes de calcul d'empreinte.
Cordialement,
Charles Le Seac'h

vaquero
Champ in-the-making
Champ in-the-making
Quelle version d'Alfresco est-elle utilisée ? (est-ce bien la 3.3 comme mentionnée dans votre profil)

version d'alfresco : 3.4.e
Qu'est ce qui "ne marche pas" ?
la comparaison des contenus
Quelles sont les actions que vous réalisez ?
exécution d'un script
////////////////////////
qu'est ce que vous voulez dire par : "des mécanismes de calcul d'empreinte"??

cleseach
Star Contributor
Star Contributor
Bonjour,

Lorsque l'on vous demande de préciser de qui ne marche pas, il est préférable de donner quelques détails utiles 😉
Parmi ces détails (liste non exhaustive) :
  * le résultat obtenu vs le résultat attendu
  * les logs
  * le message d'erreur remonté
  * l'absence de message d'erreur
  * les jeux de données utilisés

qu'est ce que vous voulez dire par : "des mécanismes de calcul d'empreinte"??
Je vais laisser Wikipedia répondre à cette question : http://fr.wikipedia.org/wiki/Fonction_de_hachage 😉

Cordialement,
Charles Le Seac'h

vaquero
Champ in-the-making
Champ in-the-making
Bonjour,

je n'ai pas de message d'erreur sur l'interface alfresco explorer.
il ne se passe rien, c'est comme si les deux fichiers étaient différents alors qu'il y a le méme contenu. le transfert vers le dossier doublon ne s'effectue pas.
ma tache aurait été facile si j'avais accès au log. hélas, je travaille sur le serveur et je n'ai accès qu'a l'interface de login.

document très intéressant sur le hachage mais je ne vois  le rapport ni avec alfresco ni javascript !!

merci pour ces informations Smiley Happy

bien cordialement

cleseach
Star Contributor
Star Contributor
c'est comme si les deux fichiers étaient différents alors qu'il y a le méme contenu. le transfert vers le dossier doublon ne s'effectue pas.
C'est normal vu que le principe de comparaison n'est pas bon.


document très intéressant sur le hachage mais je ne vois  le rapport ni avec alfresco ni javascript !!
Aucun rapport avec Alfresco ou JavaScript. Il s'agit d'un concept "générique" qui peut être mis en oeuvre pour vérifier que le contenu de 2 fichiers est identiques : si 2 fichiers ont la même empreinte, la probabilité que les contenus soient les mêmes est extrêmement forte.

Cordialement,
Charles Le Seac'h

vaquero
Champ in-the-making
Champ in-the-making
c'est possible de récupérer l'empreinte d'un fichier en utilisant un script ?
J'ai rien vu de tel sur l'API javascript http://wiki.alfresco.com/wiki/4.0_JavaScript_API !!

bien cordialement

cleseach
Star Contributor
Star Contributor
Bonjour,

c'est possible de récupérer l'empreinte d'un fichier en utilisant un script ?
Ce n'est pas possible avec les API natives.
Vous devez développer une extension pour réaliser cette opération.


J'ai rien vu de tel sur l'API javascript http://wiki.alfresco.com/wiki/4.0_JavaScript_API !!
N'utilisez-vous pas la version 3.4e ?
Dans ce cas, mieux vaut se reporter à l'API JavaScript de cette version plutôt qu'à celle de la 4.0 😉

Cordialement,
Charles Le Seac'h