cancel
Showing results for 
Search instead for 
Did you mean: 

Heritage de catégories

dwulliamoz
Champ in-the-making
Champ in-the-making
Bonjour,

Est-ce possible de faire que les documents héritent des catégories de l'espace dans lequel ils sont stockés?
Dans le même ordre d'idée est-ce qu'un espace peut hériter les catégories de son espace parent?

Merci pour vos réponses
3 REPLIES 3

michaelh
Champ on-the-rise
Champ on-the-rise
bonjour,

Deux pistes, la basique simple à mettre en œuvre, et la générique qui demande un tout petit peu plus de temps Smiley Happy

- Vous créez, pour chaque espace, une règle de gestion qui applique une ou des catégories données aux documents qui arrivent dans l'espace.
- Vous créez, pour chaque espace, une règle de gestion qui lance un script qui va lire les propriétés de l'espace parent et appliquera les mêmes catégories aux éléments qui en dépendent.

La seconde version est plus intéressante à maintenir.

voir http://wiki.alfresco.com/wiki/JavaScript_API et http://wiki.alfresco.com/wiki/JavaScript_API_Cookbook

dwulliamoz
Champ in-the-making
Champ in-the-making
Merci…
Je commence avec alfresco et javascript…
Voilà le code que j'ai pondu,
var cat = "";
var j = 0;
var props = new Array(1);
var parentFolder = document.parent;

for  (i in document.properties["cm:categories"])
{
   props[i] = document.properties["cm:categories"][i];
   j++
}

for  (i in parentFolder.properties["cm:categories"])
{
  cat=parentFolder.properties["cm:categories"][i];
  if (!document.hasAspect("cm:generalclassifiable"))
   {
      // ajout de l'aspect classifiable

      document.addAspect("cm:generalclassifiable");
   }
   props[j] = cat; 
   j++;

}

document.properties["cm:categories"] = props;
document.save();

le problème c'est que quand je copie un élément et le colle à nouveau (ou renome), la copie de l'élément voit ses catégories dédoublée?
Une idée comment améliorer ce script?

Merci

rivarola
Champ on-the-rise
Champ on-the-rise
Bonsoir,

Tu peux tester si ton document n'avait pas déjà les catégories de l'espace parent (seconde boucle) en utilisant seq_contains pour  chaque catégorie avant de lui ajouter (voir http://www.freemarker.org/docs/ref_builtins_sequence.html).