Je cherche à customizer les catégories déjà présentes...

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

Je cherche à customizer les catégories déjà présentes...

Bonjour,

Je cherche à customizer les catégories déjà présentes au démarrage de l'application. Je m'explique, dès l'installation de l'application, 3 catégories sont déjà présentes : Software Document Classification, Regions et Languages. L'avantage de ces catégories c'est qu'elle sont crées dans les fichiers xml et donc que si on détruit l'entrepôt, elles persistent.
Je voudrais donc rajouter des catégories à celles existantes. J'ai donc rajouter mes catégories dans le fichier categories.xml. Ci-après, un morceau du code :
<cm:category_root view:childName="cm:categoryRoot">
        <view:acl>
            <view:ace view:access="ALLOWED">
                <view:authority>guest</view:authority>
                <view:permission>Read</view:permission>
            </view:ace>
        </view:acl>
      <cm:name>categories</cm:name>
      <cm:categories>

         <!– Software Document Classification –>
         <cm:category view:childName="cm:generalclassifiable">
                            <cm:name>General</cm:name>
            <cm:subcategories>
                           <cm:category>
                             …..
                            </cm:category>

          <!– Roles –>
             <cm:category>
            <cm:name>Rôles</cm:name>
            <cm:subcategories>
               <cm:category>
                  <cm:name>Invité</cm:name>
               </cm:category>
               <cm:category>
                  <cm:name>Editeur</cm:name>
               </cm:category>
               <cm:category>
                  <cm:name>Contributeur</cm:name>
               </cm:category>
               <cm:category>
                  <cm:name>Collaborateur</cm:name>
               </cm:category>
               <cm:category>
                  <cm:name>Coordinateur</cm:name>
               </cm:category>
            </cm:subcategories>
            </cm:category>
             </cm:subcategories>

             </cm:category>
      </cm:categories>
   </cm:category_root>
Mon code est bon au niveau syntaxe mais la nouvelle catégorie n'apparaît pas dans le client web. J'imagine que la méthode est la même que pour la définition d'un modéle : définition des propriétés dans un fichier puis déclaration des propriétés à afficher dans un autre fichier.
Cependant, je n'arrive pas à trouver dans quel fichier il faut déclarer les catégories pour qu'elle apparaissent.

Quelqu'un peut-il m'aider ?

Servane
4 Replies
serv
Member II

Re: Je cherche à customizer les catégories déjà présentes...

Pour ma question précédente, j'ai trouvé une réponse sur le forum anglophone : http://forums.alfresco.com/viewtopic.php?t=145.

J'aurais par contre une autre question…
J'ai créé des catégories à partir du client web. J'ai créé un modèle d'espace dans lequel les espaces ont des catégories qui correspondent à celles que j'ai créé précédemment.
Quand je crée un espace à partir du template, j'aimerais pourvoir en identifier la catégorie.
Cependant, je n'arrive pas à savoir comment récupérer la catégorie d'un noeud donné. Je ne crois pas que CategoryService le permette…

Si quelqu'un sait… je suis preneuse !

Merci
rivarola
Active Member

Re: Je cherche à customizer les catégories déjà présentes...

Bonjour,

Un noeud catégorisé a en général l'aspect cm:generalclassifiable qui définit l'association cm:categories qui pointe vers une catégorie. Il suffit donc d'interroger le NodeService pour lui demander les associations cm:categories sur ton noeud et tu obtiendras tes catégories.
serv
Member II

Re: Je cherche à customizer les catégories déjà présentes...

Merci Philippe.

Encore une question cependant… J'arrive à récupérer les catégories associées à mon noeud, mais uniquement sous la forme : [workspace://SpacesStore/2110d6c1-2646-11dc-b2f0-0b96d2e9e5f8]. Comment puis-je réussir à affiché le nom (propriété name) correspondant ?
rivarola
Active Member

Re: Je cherche à customizer les catégories déjà présentes...

Ce que tu récupères en appelant la méthode getTargetAssocs du NodeService est une AssociationRef. De la tu passes facilement au NodeRef cible en appelant la méthode getTargetRef. Une fois que tu as le noeud tu utilises de nouveau le NodeService pour obtenir ses propriétés (getProperty) et donc le nom.