AnsweredAssumed Answered

Child association et web client

Question asked by skank on Jul 23, 2010
Latest reply on Jul 26, 2010 by skank
Bonjour,

j'ai créé un modèle de données avec une association entre deux document de types différents (les noms n'ont pas d'importance).

    <types>
        <type name="az:doc">
            <parent>cm:content</parent>
            <properties>
                <property name="az:version">
                    <type>d:text</type>
                </property>
                <property name="az:date">
                    <type>d:date</type>
                </property>
            </properties>

            <associations>
                <child-association name="az:azerty">
                    <source>
                        <mandatory>true</mandatory>
                        <many>false</many>
                    </source>
                    <target>
                        <class>az:model</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                    <duplicate>false</duplicate>
                    <propagateTimestamps>true</propagateTimestamps>
                </child-association>
            </associations>
           
            <mandatory-aspects>
                <aspect>cm:versionable</aspect>
                <aspect>cm:auditable</aspect>
            </mandatory-aspects>
        </type>
       
        <type name="az:model">
            <title>Proof Reading</title>
            <parent>cm:content</parent>
            <properties>
                <property name="az:fr">
                    <type>d:text</type>
                </property>
            </properties>
        </type>
    </types>

J'ai ensuite configuré le web-client-config-custom :

    <config evaluator="node-type" condition="az:doc">
        <property-sheet>
            <show-property name="az:version" show-in-edit-mode="true" />
            <show-property name="az:date" show-in-edit-mode="true" />
            <show-child-association name="az:azerty" component-generator="ChildAssociationGenerator" />
        </property-sheet>
    </config>

    <config evaluator="node-type" condition="az:model">
        <property-sheet>
            <show-property name="az:fr" />
            <show-child-association name="az:azerty" show-in-edit-mode="false" />
        </property-sheet>
    </config>

J'ai quelques questions :

- existe-t-il un moyen de montrer le az:model dans le répertoire à côté de son doc ? Je veux dire, il faut que ce soit une child-association, en effet le az:model n'a aucune existence sans son doc (donc quand on déplace le doc, l'autre doit suivre ; quand on supprime le doc, il doit aussi être supprimé..). Mais ce serait plus pratique pour moi s'il apparaissait à côté dans le web client.

- Par ailleurs, le az:model apparaît dans les propriétés du doc, mais seulement en tant que texte, malgré le component-generator="ChildAssociationGenerator" . J'ai essayé de mettre LinkGenerator, mais il n'a pas apprécié et m'a lancé une exception de cast (java.lang.ClassCastException: javax.faces.component.UIOutput cannot be cast to org.alfresco.web.ui.repo.component.property.BaseAssociationEditor). En fait, j'aimerais pouvoir accéder à az:model (c'est un fichier excel). J'aimerais donc pouvoir le modifier, .. , comme n'importe quel document.

Merci pour votre aide.

Outcomes