problème aspect

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

Re: problème aspect

oui mais c'est quoi uri="contrat.model" un fichier ?

et prefix="custom"

c'est un truc que j'ai du louper, je sais pas ce que c'est
alexist
Member II

Re: problème aspect

Le namespace est composé d'une uri et d'un prefix, et permet de garantir l'unicité d'une definition de modele. Il faut s'assurer que ce couple est unique dans ton alfresco.

uri et prefix sont libre et ne correspondent techniquement à rien (pas de fichier, l'uri peut etre n'importe quel chaine genre "contrat.model". Après inspire toi des modèles definies par alfresco :
contentModel.xml
<namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
thomasb
Member II

Re: problème aspect

Le namespace est composé d'une uri et d'un prefix, et permet de garantir l'unicité d'une definition de modele. Il faut s'assurer que ce couple est unique dans ton alfresco.

uri et prefix sont libre et ne correspondent techniquement à rien (pas de fichier, l'uri peut etre n'importe quel chaine genre "contrat.model".

libre oui, mais pas n'importe quoi !

Lorsqu'on exporte un espace ou son repository complet, sous forme de fichier ACP, les associations, types, aspects et propriétés sont décrits dans un fichier XML, dans lequel les noms des éléments et attributs sont directement ceux du modèle. Or dans XML, un "namespace uri" doit être un… URI (Uniform Ressource Identifier). La plupart du temps on utilisera un URL HTTP (qui peut mais ne doit pas nécessairement référencer une ressource existante), sur un nom de domaine que l'on "contrôle". C'est ce fonctionnement (utilisation d'un URI) qui permet d'obtenir l'unicité globale des "namespace URIs".
Mais ceci dit, aucun parser XML n'est requis de vérifier la syntaxe d'un namespace URI, qu'il considère comme une valeur "opaque".

Alfresco ajoute à cela une contrainte d'unicité locale du préfixe associé (parce que ça simplifie la vie des développeurs et que cette contrainte n'est pas très lourde au final).
Le préfixe, toujours dû à son "origine XML", ne peut pas non plus être n'importe quoi, il doit être un préfixe XML valide (ne pas commencer par un chiffre, ne pas contenir d'espaces ou de caractère ":", etc.)

Ne pas oublier non plus que ces préfixes et URIs sont utilisés dans les requêtes XPath (donc également Lucene).


Tout ça pour dire que "custom.model" n'est vraiment pas une "bonne pratique", et qu'il faut en plus bien "penser" son préfixe.
Mieux vaut effectivement s'inspirer des modèles "noyaux":

Après inspire toi des modèles definies par alfresco :
contentModel.xml
<namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>

Voilà, c'était la minute "remise dans le contexte" du jour ;-)

Rien de transcendant mais ça peut aider à mieux comprendre le pourquoi du comment…
hlander10
Member II

Re: problème aspect

ThomasB, excuse moi de te contre dire mais "
Rien de transcendant mais ça peut aider à mieux comprendre le pourquoi du comment…" je suis pas d'accord je comprends encore moins.

Je pensais simplement faire dans mon cas :
dans web-client-config-custom.xml –>  <aspect name="contrat:ContractuelDetails"/>

Puis dans contratModel –> <namespace uri="contrat.model" prefix="contrat"/>

mais lorsque je veux faire ma règle, je ne vois pas Caontractuel details dans les paramètre de l'action.
Et j'ai Failed to resolve aspect 'contrat:ContractuelDetails'

Donc il me manque encore un truc
hlander10
Member II

Re: problème aspect

peut être une piste j'ai lu dans un message "déclarer dans le contexte spring"

Alors ça j'ai pas vu encore c'est quoi un fichier
bch
Member II

Re: problème aspect

Pour résumer, vous avez deux fichiers de définition de modèles. Dans ce cas, il faut les citer dans un fichier comme cité ici :
http://wiki.alfresco.com/wiki/Data_Dictionary_Guide#Step_4:_Register_the_Model_with_the_Repository

Par exemple, on aura :


<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
    <!– Registration of new models –>
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/model.xml</value>
                <value>alfresco/extension/model2.xml</value>
            </list>
        </property>
      <property name="labels">
            <list>
                <value>alfresco/extension/model</value>
            </list>
        </property>
    </bean>
</beans>

Ce fichier doit terminer par …context.xml
hlander10
Member II

Re: problème aspect

Alors là je suis perdu :

POur reprendre j'ai :
- web-client-config-custom.xml
- contratModel.xml
- customModel.xml
- custom-model-context.xml
<property name="models">
            <list>
                <value>alfresco/extension/customModel.xml</value>
            </list>
        </property>
- contrat-model-context.xml
<property name="models">
            <list>
                <value>alfresco/extension/contratModel.xml</value>
            </list>
        </property>

Donc si j'ai compris il faut qu'un seul XXXX-context.xml, c'est ça
bch
Member II

Re: problème aspect

Il faut seulement citer le second modèle dans le contexte :

<property name="models">
<list>
<value>alfresco/extension/customModel.xml</value>
<value>alfresco/extension/contratModel.xml</value>
</list>
</property>
- contrat-model-context.xml
<property name="models">
<list>
<value>alfresco/extension/contratModel.xml</value>
</list>
</property>
hlander10
Member II

Re: problème aspect

Merci beaucoup a tous pour votre aide, tout est ok…..

La solution est celle expliqué par bch .

Encore merci a tous