Utilisation de la méthode move(ScriptNode destination)

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

Utilisation de la méthode move(ScriptNode destination)

Bonjour;

j'ai crée une nouvelle catégorie sous l'arborescence suivante : \category_root\DocumentTypes .

via le code suivant :

categories = newCategories(1);

categories[0]["DocumentTypes"]        = ["Business"];

var aspect = keys(categories[0])[0];
   
var root = search.luceneSearch("TYPE:\"category_root\"")[0];
   
rootCategory = root.createNode(aspect, "cm:category", "cm:categories");
mais après je veux la déplacer sous  le  \  au même niveau que  category_root,je veux me retrouver avec  l'arborescence suivante :

\———-category_root
\———-DocumentTypes

pour effectuer ce besoin,j'ai trouvé la méthode suivante :

boolean move(ScriptNode destination) 
    Moves the node to the new parent destination. Returns true on success, false on failure to move.

mais pas de documentation comment l utilisé ?

Merci d'avance.
3 Replies
jayjayecl
Active Member II

Re: Utilisation de la méthode move(ScriptNode destination)

Hello,

- pourriez-vous préciser quel est votre besoin global de création de catégories ? Est-ce qu'il s'agit pour vous de créer de nouvelles classifications à l'initialisation (bootstrap), ou le côté "dynamique" de votre méthode par scripting est-il nécessaire ?
Je me pose la question car il existe des manières plus simples d'importer des catégories prédéfinis au démarrage d'Alfresco.
- pour l'utilisation du "move", il faut récupérer 2 ScriptNodes (le premier est l'objet à déplacer, le second est le noeud de destination - celui qui sera primary parent du noeud déplacé).
Pour quelques exemples sur "comment récupérer un ScriptNode ?" (par recherche, ou directement par le Noderef etc …), vous pouvez regarder dans les scripts inclus de base dans Alfresco (Data Dictionary/scripts), et sur http://wiki.alfresco.com/wiki/JavaScript_API_Cookbook ou encore http://wiki.alfresco.com/wiki/3.4_JavaScript_API

Enfin, une page sur les classifications qui pourraient vous être utile :
http://wiki.alfresco.com/wiki/Classification_And_Categories
spring77
Member II

Re: Utilisation de la méthode move(ScriptNode destination)

Bonjour;

- pourriez-vous préciser quel est votre besoin global de création de catégories ?

sous alfresco si on accède au :
Administration console——>Category Management——> on a 4    Items (Software Document Classification,Languages,Regions,Tags)
alfresco nous charge les Items qui existent sous generalclassifiable.
l'idée est de charger les Items qui existent sous  categoryRoot et non generalclassifiable.
En tout cas le besoin est le suivant:
Pouvoir relier des champs de métadonnées à des valeurs dans des catgéories, Afin de mettre à jour ces champs en choisissant la valeur par navigation dans l'arbre de la catégorie.
Egalement, on a rajoutté la navigation par catégories ca, c'est le fait d'avoir à gauche la liste de toutes les catégories (dans la document library), et de déplier les branches de catégories, et quand on clique sur une catégorie, ca agit comme un filtre.
Par example, si on clique sur la catégorie Language, touts les documents sont séléctionés mais si on déplie la branche, et qu'on clique sur French, alors l'affichage se met à jour et n'affiche plus que les documents en francais (enfin, ceux pour lesquels la metadata language est positionnée à french)
Ce sont dans le cadre de ces modification qu'on a déterminé qu'on ne pouvait pas placer les catgéories directement sous generalclassifiable mais plutot sous category_root.
D'ou le besoin d'une méthode MOVE qui nous permettre de déplacer une catégorie sous une autre et de rendre l'arborescence des catégories plus adaptées au besoin fonctionnel.
Pour la méthode je ne sais pas est ce que ca marche pour les catégories ou juste pour des documents ?
Pour pouvoir déplacer une catégorie il y a l attribut Parent mais il n est pas accessible au modification !!!
  
ou le côté "dynamique" de votre méthode par scripting est-il nécessaire ?
oui,car pour un document (DOC1) donné à un instant (t0),on a relié un champ de métadonnées à une valeur dans une catgéorie,et à un instant (t1) on veut déplacer cette catégorie dans un autre emplacement.il suffit d'executer un script qui contient une méthode MOVE tout en gardant l'integrité des données du document (DOC1).


Je me pose la question car il existe des manières plus simples d'importer des catégories prédéfinis au démarrage d'Alfresco.
j'aimerais bien les savoir.

j'espère que j'étais claire.
merci infiniment.
jayjayecl
Active Member II

Re: Utilisation de la méthode move(ScriptNode destination)

Bonjour,

Je me suis bien concentré, mais j'avoue ne pas avoir tout-à-fait saisi le cas d'usage / besoin que vous souhaitez adresser …

( A noter : désolé de la mise en forme de la suite de ce message, pour des raisons mystérieuses l'édition ne me permet pas de la corriger)

Pouvoir relier des champs de métadonnées à des valeurs dans des catgéories, Afin de mettre à jour ces champs en choisissant la valeur par navigation dans l'arbre de la catégorie.{/quote]

C'est déjà le cas basiquement lorsqu'un objet dispose de l'aspect "catégorisable". En accèdant à la page de modification de ses métadonnées, une métadonnée "Catégories" peut être valorisée en choisissant zéro, une ou plusieurs catégories (par sélection dans l'arbre des catégories).

Egalement, on a rajoutté la navigation par catégories ca, c'est le fait d'avoir à gauche la liste de toutes les catégories (dans la document library), et de déplier les branches de catégories, et quand on clique sur une catégorie, ca agit comme un filtre.

Absolument. Cela effectue une recherche sur la métadonnée "Catégories" des documents / espaces disposant de l'aspect "catégorisable".

Par example, si on clique sur la catégorie Language, touts les documents sont séléctionés mais si on déplie la branche, et qu'on clique sur French, alors l'affichage se met à jour et n'affiche plus que les documents en francais (enfin, ceux pour lesquels la metadata language est positionnée à french)

Pas la métadata "language", mais la metadata "catégories".

Ce sont dans le cadre de ces modification qu'on a déterminé qu'on ne pouvait pas placer les catgéories directement sous generalclassifiable mais plutot sous category_root.

C'est là que je ne comprends plus. Vous ne "pouvez pas" ? Que voulez-vous dire ? Est-ce votre besoin qui vous demande de faire autrement (mais alors je ne vois pas en quoi) ou est-ce Alfresco qui ne le permet pas (ce qui est incorrect puisque lorsque vous créez une nouvelle catégorie avec l'interface, elle arrive sous "generalclassifiable").

En tous les cas, je ne vois pas bien en quoi votre besoin vous faire vous poser des questions sur la place des catégories, entre "categoryroot", "generalclassifiable", voir sous une autre classification…