Override propriétés sous type

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

Override propriétés sous type

Bonjour,

Est il possible de modifier et de spécifier une propriété des sous types d'un type.

Exemple :

<type name="myCM:entreprise">
            <title>Documents Entreprises</title>
            <parent>myCM:doc</parent>
            <properties>
                <property name=myCM:categories">
                       <title>Categorie de document </title>
                       <type>d:text</type>
                 </property>

            <properties>   
 </type>

Le type entreprise possède une propriété categories que je souhaite restreindre avec des listes différentes en fonction du sous type.
J'ai essayé le code suivant mais jai un message d'erreur GetModeilsDiff lorsque je fais le run.sh :

<type name="myCM:entrepriseAlpha">
            <title>Documents Entreprises</title>
            <parent>myCM:entreprise</parent>
            <overrides>
                <property name="myCM:categories">
                    <title>Categorie de document</title>
                    <type>d:text</type>
                    <constraints>
                        <constraint ref="myCM:listCategoriesAlpha"/>
                    </constraints>
                </property>        
            </overrides>
 </type>

<type name="myCM:entrepriseBeta">
            <title>Documents Entreprises</title>
            <parent>myCM:entreprise</parent>
            <overrides>
                <property name="myCM:categories">
                    <title>Categorie de document</title>
                    <type>d:text</type>
                    <constraints>
                        <constraint ref="myCM:listCategoriesBeta"/>
                    </constraints>
                </property>        
            </overrides>
 </type>

D'avance merci pour votre aide.

je suis sous SDK 3.0 et alfresco comunity v5.2

6 Replies
ymeunier
Active Member II

Re: Override propriétés sous type

Bonjour,

As-tu modifié le modèle existant ou créer un nouveau modèle pour faire ton test ?

Cordialement,

Yann MEUNIER

livier
Active Member II

Re: Override propriétés sous type

Bonjour,

Merci pour votre réponse.

j'ai modifié un modèle existant.

livier
Active Member II

Re: Override propriétés sous type

up svp

ymeunier
Active Member II

Re: Override propriétés sous type

Bonjour,

Normalement, sur un modèle existant on ne peut que :

- rajouter des métadonnées

- modifier l'indexation

A ma connaissance modifier le modèle en lui même pour le complexifié n'est pas permis.

Pour ma part, mes listes sont définies dans chacune des propriétés.

Exemple :

<?xml version="1.0" encoding="UTF-8"?>
<model name="eDoc:eDocGenericModel" xmlns="http://www.alfresco.org/model/dictionary/1.0" >

<description>Modèle eDoc Générique</description>


<imports>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>

<!-- Namespace spécifique au modèle eDoc générique -->
<namespaces>
<namespace uri="http://www.cdc.fr/model/eDocGeneric/1.0" prefix="eDoc"/>
</namespaces>

<!-- Contraintes spécifiques au modèle eDoc générique -->
<constraints>

<!-- Contraintes de champs textuels (String) -->

<constraint name="eDoc:maxLength55" type="LENGTH">
<parameter name="maxLength">
<value>55</value>
</parameter>
</constraint>

<constraint name="eDoc:maxLength255" type="LENGTH">
<parameter name="maxLength">
<value>255</value>
</parameter>
</constraint>

<constraint name="eDoc:maxLength300" type="LENGTH">
<parameter name="maxLength">
<value>300</value>
</parameter>
</constraint>

<!-- Contraintes de champs numériques (int, long...) -->

<constraint name="eDoc:numeric0To8DigitsLimitConstraint" type="MINMAX">
<parameter name="minValue">
<value>0</value>
</parameter>
<parameter name="maxValue">
<value>99999999</value>
</parameter>
</constraint>

</constraints>

<!-- Types spécifiques au modèle eDoc générique -->
<types>
<type name="eDoc:generique">
<title>eDoc générique</title>
<parent>cm:content</parent>
<mandatory-aspects>
<aspect>eDoc:confidentialite</aspect>
<aspect>eDoc:techniqueDocument</aspect>
<aspect>eDoc:fonctionnelDocument</aspect>
<aspect>eDoc:obsolescence</aspect>
<aspect>eDoc:reservation</aspect>
<aspect>eDoc:caracterisationDepot</aspect>
<aspect>eDoc:RM</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="eDoc:confidentialite">
<title>Confidentialité</title>
<properties>
<property name="eDoc:nivConfid">
<title>Niveau de confidentialité</title>
<type>d:text</type>
<mandatory>false</mandatory>
<default>Interne</default>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:nivConfidList" type="LIST">
<parameter name="allowedValues">
<list>
<value>Public</value>
<value>Interne</value>
<value>Confidentiel</value>
<value>Secret</value>
</list>
</parameter>
<parameter name="caseSensitive">
<value>false</value>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:perimetreAcces">
<title>Périmètre d'accès</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55"/>
</constraints>
</property>
</properties>
</aspect>
<aspect name="eDoc:techniqueDocument">
<title>Technique document</title>
<properties>
<property name="eDoc:idPronom">
<title>Identifiant Pronom</title>
<type>d:text</type>
<mandatory>false</mandatory>
<default>ND</default>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:detectDoublon">
<title>Détection doublon</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:detectDoublonlist" type="LIST">
<parameter name="allowedValues">
<list>
<value>OK</value>
<value>KO</value>
<value>Null</value>
</list>
</parameter>
<parameter name="caseSensitive">
<value>false</value>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:integrite">
<title>Intégrité</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:nomFichier">
<title>Nom de fichier</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength255" />
</constraints>
</property>
<property name="eDoc:empreinte">
<title>Empreinte</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength255" />
</constraints>
</property>
<property name="eDoc:identifiantLotArd">
<title>Identifiant Lot ARD</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength255" />
</constraints>
</property>
<property name="eDoc:dateGenerationArd">
<title>Date de génération ARD</title>
<type>d:datetime</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>
<property name="eDoc:identifiantDocExterneArd">
<title>Identifiant Doc externe ARD</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength255" />
</constraints>
</property>
</properties>
</aspect>
<aspect name="eDoc:fonctionnelDocument">
<title>Fonctionnel document</title>
<properties>
<property name="eDoc:idFonctionnelDoc">
<title>Identifiant fonctionnel eDoc</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:statutDoc">
<title>Statut du document</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:statutDoclist" type="LIST">
<parameter name="allowedValues">
<list>
<value>Brouillon</value>
<value>Vérifié</value>
<value>Validé</value>
<value>Archivé</value>
</list>
</parameter>
<parameter name="caseSensitive">
<value>false</value>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:natureDoc">
<title>Nature de document</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:codeProcess">
<title>Code Processus</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:critereClassement">
<title>Critère de classement</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:compteurRef">
<title>Compteur de référencement</title>
<type>d:long</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>

<property name="eDoc:dernierContributeur">
<title>Dernier contributeur</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
</property>

<property name="eDoc:provenance">
<title>Provenance</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:provenancelist" type="LIST">
<parameter name="allowedValues">
<list>
<value>Interne</value>
<value>Externe</value>
<value>Reprise</value>
<value>Socle numérisation</value>
<value>Socle éditique</value>
</list>
</parameter>
<parameter name="caseSensitive">
<value>false</value>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
</properties>
</aspect>
<aspect name="eDoc:obsolescence">
<title>Obsolescence</title>
<properties>
<property name="eDoc:caducite">
<title>Caducité</title>
<type>d:text</type>
<mandatory>false</mandatory>
<default>Inactif</default>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:caducitelist" type="LIST">
<parameter name="allowedValues">
<list>
<value>Obsolète</value>
<value>Actif</value>
<value>Inactif</value>
</list>
</parameter>
<parameter name="caseSensitive">
<value>false</value>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:dateValidite">
<title>Date de validité initiale</title>
<type>d:datetime</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>
<property name="eDoc:dureeObsolescenceEnJours">
<title>Durée d'obsolescence (en jours)</title>
<type>d:long</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
<constraints>
<constraint ref="eDoc:numeric0To8DigitsLimitConstraint" />
</constraints>
</property>
<property name="eDoc:dateObsolescence">
<title>Date d'obsolescence</title>
<type>d:datetime</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>
</properties>
</aspect>
<aspect name="eDoc:reservation">
<title>Réservation</title>
<properties>
<property name="eDoc:reservation">
<title>Réservation</title>
<type>d:boolean</type>
<mandatory>false</mandatory>
<default>false</default>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>
<property name="eDoc:idReservantDocument">
<title>Identification de la personne réservant le doc</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:dateVerrouillage">
<title>Date de verrouillage</title>
<type>d:datetime</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>
</properties>
</aspect>
<aspect name="eDoc:caracterisationDepot">
<title>Caractérisation du dépôt</title>
<properties>
<property name="eDoc:entiteResponsableDepot">
<title>Entité responsable du dépôt en GED</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength300" />
</constraints>
</property>
<property name="eDoc:appliResponsableDepot">
<title>Application métier responsable du dépôt en GED</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength300" />
</constraints>
</property>
<property name="eDoc:entiteResponsableProd">
<title>Entité responsable de la production du document</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength300" />
</constraints>
</property>
<property name="eDoc:appliMetierOriginProd">
<title>Application métier à l'origine de la production</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength300" />
</constraints>
</property>
</properties>
</aspect>
<aspect name="eDoc:RM">
<title>RM</title>
<properties>
<property name="eDoc:referenceRM">
<title>Référence RM</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:typeDocument">
<title>Type de document</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength300" />
</constraints>
</property>
<property name="eDoc:documentNativementElectronique">
<title>Document nativement électronique</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:documentNativementElectroniqueList" type="LIST">
<parameter name="allowedValues">
<list>
<value>Oui</value>
<value>Non</value>
</list>
</parameter>

<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
</constraints>
</property>
<property name="eDoc:documentOriginal">
<title>Document original</title>
<type>d:text</type>
<mandatory>true</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint name="eDoc:documentOriginalList" type="LIST">
<parameter name="allowedValues">
<list>
<value>Oui</value>
<value>Non</value>
</list>
</parameter>
<parameter name="sorted">
<value>false</value>
</parameter>
</constraint>
</constraints>
</property>
<property name="eDoc:dateArchivage">
<title>Date d'archivage</title>
<type>d:datetime</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>false</tokenised>
</index>
</property>

</properties>
</aspect>

<!-- Identification Tiers - partie commune à plusieurs métiers -->
<aspect name="eDoc:IdentificationTiers">
<title>IdentificationTiers</title>
<properties>
<property name="eDoc:numeroTiers">
<title>Numéro du Tiers</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
<property name="eDoc:libelleTiers">
<title>Libellé du Tiers</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength255" />
</constraints>
</property>
<property name="eDoc:siren">
<title>SIREN</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>true</tokenised>
</index>
<constraints>
<constraint ref="eDoc:maxLength55" />
</constraints>
</property>
</properties>
</aspect>
</aspects>
</model>

En espérant t'avoir donné la réponse attendue

Cordialement,

Yann

livier
Active Member II

Re: Override propriétés sous type

Bonjour

Je te remercie pour ta réponse.
J'ai posté la même demande sur le forum anglais et j'ai eu une réponse :

 

Il faut faire un full reindex du solr et ensuite ça a marché pour moi.

Je l'ai fait pour l'instant sur mon maven et pas encore sur mon environnement en préproduction.

Par ailleurs, saurais tu les bonnes pratiques lorsqu'on fait évoluer les Content Model ?

J'imagine qu'il faut que je modifie le fichier pom.xml ??

D'avance merci et espérant que ça puisse également te servir.

livier
Active Member II

Re: Override propriétés sous type

Ah oui, également petite précision concernant le code utilisé.
Après avoir fait un full reindex du solr, je rencontrais un problème lorsque je compilais le maven.
L'erreur provenait de la définition de mes sous-types : il ne faut pas overrider le titre et le type

<type name="myCM:entrepriseAlpha">
            <title>Documents Entreprises</title>
            <parent>myCM:entreprise</parent>
            <overrides>
                <property name="myCM:categories">
                    <title>Categorie de document</title>
                    <type>d:text</type>
                    <constraints>
                        <constraint ref="myCM:listCategoriesAlpha"/>
                    </constraints>
                </property>        
            </overrides>
 </type>

 

<type name="myCM:entrepriseBeta">
            <title>Documents Entreprises</title>
            <parent>myCM:entreprise</parent>
            <overrides>
                <property name="myCM:categories">
                    <title>Categorie de document</title>
                    <type>d:text</type>
                    <constraints>
                        <constraint ref="myCM:listCategoriesBeta"/>
                    </constraints>
                </property>        
            </overrides>
 </type>