Heritage de catégories

cancel
Showing results for 
Search instead for 
Did you mean: 
dwulliamoz
Member II

Heritage de catégories

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
michaelh
Active Member

Re: Heritage de catégories

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
Member II

Re: Heritage de catégories

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
Active Member

Re: Heritage de catégories

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).