cancel
Showing results for 
Search instead for 
Did you mean: 

Bonjour à tous,J'aimerais utiliser les catégories...

synthez84
Champ in-the-making
Champ in-the-making
Bonjour à tous,

J'aimerais utiliser les catégories pour un aspect custom que je vais créer.
Mais dans cet aspect, j'aimerais restreindre l'arbre des catégories affichées.
Par exemple, mettons que dans mon aspect j'ai une propriété "Emplacement",
j'aimerais que l'on renseigne cette propriété par une sous-catégorie de la catégorie racine : "Emplacement".

L'affichage peut rester standard, mais il faudait qu'a l'édition, on puisse :
-soit que toutes les autres catégories racines soit inaccessible : en gros la root sur le widget d'édition est "Emplacement"
-soit, au pire, être directement positionné sur "Emplacement", mais pouvoir remonter sur les autres catégories racines.


En gros, pour le 2ème point, la question revient à : est-il possible de forcer un catégorie par défaut pour une propriété ?

Je ne sais pas quelle est la meilleure solution (en termes fonctionnels, la 1ère, mais en termes techniques…?).
Dans les 2 cas, je ne vois pas comment démarrer…

Merci de votre aide! Smiley Happy


J'espère que ma question est assez claire, je peux la préciser le cas échéant…
3 REPLIES 3

rivarola
Champ on-the-rise
Champ on-the-rise
Bonjour,

Avec un peu de dev il est assez facile de restreindre l'affichage des catégories à une seule branche, mais il faut un UIComponent + un component generator par branche que tu veux isoler ainsi. Tu hérites du UICategorySelector d'Alfresco pour redéfinir ses méthodes getParentNodeId(FacesContext), getRootCategories() et getRootChildren(FacesContext) et ne montrer que ce que tu veux. Depuis ton component generator tu instancies ton UIComponent à toi et le tour est joué (voir http://wiki.alfresco.com/wiki/Component_Generator_Framework).
Ca c'est pour la GUI et ça marche avec l'aspect cm:generalclassifiable de base, mais il faut faire très attention quand on définit un aspect custom avec une propriété de type catégorie, car elle n'est pas toujours bien indexée par Alfresco (voir http://wiki.alfresco.com/wiki/Classification_And_Categories).

synthez84
Champ in-the-making
Champ in-the-making
Merci je pense avoir compris, du moins sur le principe.
Mais comment est-ce que je fais le lien entre mon generator et mon aspect.

Par exemple, je vais avoir dans mon myModel.xml :

<aspects>
      <aspect name="myModel:myClassificationAspect">
         <title>My Classification</title>
         <parent>cm:classifiable</parent>
         <properties>
            <property name="myModel:categories">
               <title>Emplacement</title>
               <type>d:category</type>
               <mandatory>false</mandatory>
               <multiple>true</multiple>
               <index enabled="true">
                  <atomic>true</atomic>
                  <stored>true</stored>
                  <tokenised>true</tokenised>
               </index>
            </property>
         </properties>
      </aspect>

   </aspects>
Mais je ne sais pas où je dois renseigner mon generator pour qu'Alfresco l'utilise automatiquement (mis à part face-config) si c'est bien ce qu'il est censé faire…?

Merci ! Smiley Happy

rivarola
Champ on-the-rise
Champ on-the-rise
Mais comment est-ce que je fais le lien entre mon generator et mon aspect.
Il n'y en a pas. L'aspect est par contre important pour l'indexeur Lucene d'Alfresco, qui n'indexe que les catégories déclarées dans un aspect qui a le même nom que le category_root de cette catégorie ! (je sais, ce n'est pas très clair, mais c'est tellement stupéfiant qu'on a du mal à l'expliquer). Le mieux est que tu fasses l'expérience avec ton aspect et que tu vérifies si ta propriété est bien indexée en tant que catégorie ou pas (personellement je parie non Smiley Wink).

Mais je ne sais pas où je dois renseigner mon generator pour qu'Alfresco l'utilise automatiquement (mis à part face-config) si c'est bien ce qu'il est censé faire…?
Oui, c'est bien ça.