[Résolu] Javascript affecter une categorie à un fichier

cancel
Showing results for 
Search instead for 
Did you mean: 
kevin-56
Member II

[Résolu] Javascript affecter une categorie à un fichier

Bonjour,

J'ai actuellement un problème dans l'affectation d'une catégorie à un fichier créé.
En effet je creer un fichier puis je decide de le rendre categorisable puis de lui affecte la categorie une categorie se trouvant dans dans le répertoire MyCateg

file = space.createFile("file.txt"); >> MARCHE
file.addAspect("cm:generalclassifiable"); >> MARCHE
var nodes =search.luceneSearch("PATH:\"/cm:generalclassifiable/cm:Categ/cm:MyCateg//*\""); >> Me retourne bien toutes les categories de MyCateg
file.properties["cm:categories"] = nodes[0];

Puis après visualisation dans alfresco, je ne vois aucune categorie affecter au fichier.
Impossible de voir d'ou vient le probleme . Vous avez une idée ??

Merci d'avance
7 Replies
rguinot
Customer

Re: [Résolu] Javascript affecter une categorie à un fichier

Je vois plusieurs problèmes.

1) backupFolder.properties["cm:categories"] est à mon avis un array, vous ne pouvez donc pas y affecter un node …
2) vous ne sauvegardez pas les modifications , il vous faut un :

backupFolder.properties["cm:categories"] = nodes[0];
backupFolder.save();

Je vous suggère de lire ces 2 sections :

http://wiki.alfresco.com/wiki/JavaScript_API##Modifying_and_Creating_API
http://wiki.alfresco.com/wiki/JavaScript_API#Classification_API
kevin-56
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

si je n'affecte pas de node à :
file.properties["cm:categories"]
alfresco m'indique ce message lors de l'execution du script : "Invalid node ref - does not contain forward slash…"

Sinon il me manquait bien file.save(); pour pouvoir lui affecter le nodes[0] et ça marche !!

Maintenant je voudrais pouvoir recuperer les "noms" des catégories qui sont dans le tableau nodes retournées par la recherche lucene.
je voudrais faire une sorte de nodes.properties.name pour recuperer le nom.
Comment je peux faire cela pour une catégorie??
kevin-56
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

Je répond de moi même car c'etait bien nodes.properties.name.
kevin-56
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

C'est encore moi !

sachant que pour attribuer une categorie à un fichier on utilise file.properties["cm:categories"] = "la categorie"
Maintenant si je veux attribuer 2 catégories aux fichier, comment fait-on ?

merci d'avance
berlioux
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

C'est encore moi !

sachant que pour attribuer une categorie à un fichier on utilise file.properties["cm:categories"] = "la categorie"
Maintenant si je veux attribuer 2 catégories aux fichier, comment fait-on ?

merci d'avance

Cette méthode remplaces les catégories existantes pour le fichier par "la categorie". Pour juste ajouter "la categorie", remplacer le '=' par un '+=', et du coup il suffit de refaire la même chose avec une autre categorie pour en ajouter un deuxième…
kevin-56
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

Avec cette methode : file.properties["cm:categories"] += "la categorie"
cela ne marche pas !

dans alfresco si je visualise le fichier traité il m'indique  "Aucune catégorie n'a été affectée à ce document."
pourtant je lui est bien ajouter l'aspect : file.addAspect("cm:generalclassifiable"); et lorsque je fais seulement file.properties["cm:categories"] = "la categorie" sa marche !
kevin-56
Member II

Re: [Résolu] Javascript affecter une categorie à un fichier

je réponds encore de moi-meme, il fallait faire simplement :

var catNodeRef = search.luceneSearch("…");
var newCats = new Array();
newCats.push(catNodeRef);
document.properties["cm:categories"] = newCats;
document.save();