cancel
Showing results for 
Search instead for 
Did you mean: 

J'aimerais savoir si il y a moyen d'avoir plusieures...

christophes
Champ in-the-making
Champ in-the-making
Bonjour,

J'aimerais savoir si il y a moyen d'avoir plusieures conditions dans le fichier web-client-config-custom.xml pour afficher les méta-données. Par exemple :
<config evaluator="aspect-name" condition="mon:aspect1" condition="mon:aspect2">
      <property-sheet>
         …
      </property-sheet>
   </config>
au lieu d'avoir simplement :
<config evaluator="aspect-name" condition="mon:aspect1">
      <property-sheet>
         …
      </property-sheet>
   </config>
Le but de cela serait d'avoir un affichage différent des méta-données lorsque j'ai à la fois l'aspect1 et l'aspect2.

J'espère que j'ai été assez clair et que j'aurais une réponse.

Merci d'avance,

Christophe
1 REPLY 1

pdubois
Champ on-the-rise
Champ on-the-rise
Bonjour,

Les évaluateurs ne se combinent pas.

Une solution est de définir un nouveau type d'évaluateur.  Il faut pour cela écrire une petite classe java et la déclarer dans « web-client-config-custom.xml ».

Voici un exemple de configuration (début de web-client-config-custom.xml) :
<alfresco-config>

   <plug-ins>
      <evaluators>
         <evaluator id="node-type" class="org.alfresco.web.config.NodeTypeEvaluator" />
         <evaluator id="aspect-name" class="org.alfresco.web.config.AspectEvaluator" />
      </evaluators>
      <element-readers>
Et voici un exemple de classe:
/**
* Evaluator that determines whether a given object has a particular aspect applied
*
* @author gavinc
*/
public final class AspectEvaluator implements Evaluator
{
   /**
    * Determines whether the given aspect is applied to the given object
    *
    * @see org.alfresco.config.evaluator.Evaluator#applies(java.lang.Object, java.lang.String)
    */
   public boolean applies(Object obj, String condition)
   {
      boolean result = false;
     
      if (obj instanceof Node)
      {
         Set aspects = ((Node)obj).getAspects();
         if (aspects != null)
         {
            QName spaceQName = Repository.resolveToQName(condition);
            result = aspects.contains(spaceQName);
         }
      }
     
      return result;
   }
}
Inspirez vous de cette exemple.

J’espère que cela vous aide.
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.