AnsweredAssumed Answered

Problème d'association non reconnue

Question asked by pierrem on Oct 2, 2008
Latest reply on Oct 7, 2008 by pierrem
Bonjour,

Je travail avec une version alfresco community 3.0 installée sur un serveur linux mandriva 10 avec une JVM - v1.6.0_06-b02
Je cherche a personnaliser le modèle de données.
Une des personnalisation qui m'interesserait serai d'associer un nom d'utilisateur de la base (classe "cm:person" si j'ai bien compris) avec un fichier. Il s'agirait de l'auteur du fichier par exemple.

voici la définition du modèle ModeleQSE.xml
<model name="qse:modeleQSE" xmlns="http://www.alfresco.org/model/dictionary/1.0">
   <description>Modele QSE</description>
   <version>1.0</version>
   <imports>
        <!– Import Alfresco Dictionary Definitions –>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" />
        <!– Import Alfresco Content Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
      <import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
   </imports>
   <namespaces>
        <!– Define a Namespace for my new definitions –>
      <namespace uri="modele.qse" prefix="qse" />
   </namespaces>

    <!– Type and Aspect definitions go here –>
   <types>
      <type name="qse:DocQualite">
         <title>Document Qualité</title>
         <parent>cm:content</parent>      
         <properties>
            <property name="qse:ChapitreNorme">
               <title>Chapitre de la norme</title>
               <type>d:category</type>
               <mandatory>true</mandatory>
            </property>
            <property name="qse:TypeDocument">
               <title>Type du document</title>
               <type>d:category</type>
               <mandatory>true</mandatory>
            </property>
            <property name="qse:Processus">
               <title>Processus rattaché</title>
               <type>d:category</type>
               <mandatory>true</mandatory>
            </property>
         </properties>
         <mandatory-aspects>
            <aspect>cm:versionable</aspect>
            <aspect>qse:Reference</aspect>
            <aspect>qse:utilisateur</aspect>
         </mandatory-aspects>
      </type>
   </types>
   
   <aspects>
       <aspect name="qse:Reference">
         <title>Reference</title>
         <properties>
            <property name="qse:CodeIndex">
               <title>Code d'indexation</title>
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
      
      <aspect name="qse:utilisateur">
         <title>utilisateur</title>
         <associations>
            <association name="qse:initiateur">
               <title>Initiateur</title>
               <source>
                        <mandatory>false</mandatory>
                        <many>false</many>
                     </source>
                     <target>
                        <class>cm:person</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                     </target>
              </association>
           </associations>
      </aspect>
      
   </aspects>
</model>


voici le module-context.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
   <!– Add the Spring beans here –>
   <bean id="ModeleQse" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/module/docqualite/ModeleQse.xml</value>
            </list>
        </property>
    </bean>
</beans>


voici enfin la partie ajoutée au web-client-config-custom.xml
<config evaluator="string-compare" condition="Content Wizards">
      <content-types>
         <type name="qse:DocQualite" />
      </content-types>
   </config>
   
   <config evaluator="node-type" condition="qse:DocQualite">
      <property-sheet>
         <show-property name="qse:ChapitreNorme" />
         <show-property name="qse:TypeDocument" />
         <show-property name="qse:Processus" />
      </property-sheet>
   </config>
   
   <config evaluator="aspect-name" condition="qse:Reference">
      <property-sheet>
         <show-property name="qse:CodeIndex" />
      </property-sheet>
   </config>

   <config evaluator="aspect-name" condition="qse:utilisateur">
      <property-sheet>
         <show-association name="qse:initiateur" />
      </property-sheet>
   </config>


Ces fichiers sont structuré grâce au module éclipse ajoutés grâce à amps au war d'alfresco.

Au lancement tout fonctionne très bien.
Je retrouve mon modèle, je complète les propriété et les associations sans problème sur l'écran "Modifier les propriétés du contenu" dans le web client.
C'est à dire que je renseigne bien à l'importation d'un contenu ce que j'avais mis dans mon modèle :
Les trois paramètres liés aux catégories tout comme le code d'indexation. Et je choisi bien parmis les utilisateurs un paramètre (une association en fait) "Initiateur"


mais lorsque je fait "ok" alfresco retourne une erreur de ce type :


Veuillez corriger les erreurs ci-dessous puis cliquez sur OK.

    * Une erreur système s'est produite pendant l'opération : Association {modele.qse}Initiateur has not been defined in the data dictionary

Pourtant il me semble bien que Initiateur a bien été défini dans ModuleQSE.xml
Alors que se passe t'il ?

Outcomes