Autres versions

Vous êtes ici : Développer dans K-SupPersonnalisationModification de propriétés

Principes de surcharge des propriétés

Comment surcharger une propriété dans K-Sup ?

Ordre de prise en compte

L'ordre de prise en compte des fichiers est le suivant (exemple ci-dessous avec les propriétés de l'extension Actualité) :
<list>
   <value>classpath*:actualite.properties</value>
   <value>classpath*:application_actualite.properties</value>
    <value>${path.properties}env_actualite.properties</value>
</list>
 

Surcharger une propriété

Core

Pour surcharger une propriété définie au niveau du core, deux solutions :
  • Créer un fichier application_core.properties et l'ajouter dans le répertoire /resources de votre projet
  • Si vous souhaitez que les propriétés soient différentes selon l'environnement sur lequel vous vous trouvez, créez ou modifiez le fichier env.properties et déposez le dans le répertoire storage/conf des environnements

Extension

Pour modifier les propriétés définies par défaut dans K-Sup pour l'extension xxx, le principe est le même :
  • Créer un fichier application_xxx.properties (dans notre exemple, application_actualite) et l'ajouter dans le répertoire /resources de votre projet
  • Si vous souhaitez que les propriétés soient différentes selon l'environnement sur lequel vous vous trouvez, créez ou modifiez le fichier env_xxx.properties et déposez le dans le répertoire storage/conf des environnements

Projet

Pour surcharger une propriété définie au niveau de votre projet, le principe est toujours le même :
  • Créer un fichier application_<mon_projet>.properties et l'ajouter dans le répertoire /resources de votre projet
  • Si vous souhaitez que les propriétés soient différentes selon l'environnement sur lequel vous vous trouvez, créez ou modifiez le fichier env_<mon_projet>.properties et déposez le dans le répertoire storage/conf des environnements
A noter, dans le fichier de contexte de votre projet, vous devez ajouter le bean suivant pour déclarer les fichiers :
    <bean id="projetProperties" class="com.kportal.core.config.PropertyConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="ignoreResourceNotFound" value="true"/>
        <property name="locations">
            <list>
                <value>classpath*:application_<mon_projet>.properties</value>
                <value>${path.properties}env_<mon_projet>.properties</value>
            </list>
        </property>
        <property name="fileEncoding" value="UTF-8"/>
    </bean>
<mon_projet> est le code de votre projet
 

Mis à jour le 11 juillet 2019