Documentation technique de la fiche lieu
- Code objet : 9100
- Table : LIEU
- Type du libellé "Catégorie" : 9101
- Type du libellé "Agglomération" : 9102
Ajout de l'extension au projet
<version.lieu>7.0-SNAPSHOT</version.lieu>
...
<overlay>
<groupId>fr.kosmos.web.extensions</groupId>
<artifactId>lieu-webapp</artifactId>
<targetPath>/extensions/lieu</targetPath>
</overlay>
....
<dependency>
<groupId>fr.kosmos.web.extensions</groupId>
<artifactId>lieu-core</artifactId>
<version>${version.lieu}</version>
</dependency>
<dependency>
<groupId>fr.kosmos.web.extensions</groupId>
<artifactId>lieu-core</artifactId>
<classifier>sources</classifier>
<version>${version.lieu}</version>
</dependency>
<dependency>
<groupId>fr.kosmos.web.extensions</groupId>
<artifactId>lieu-webapp</artifactId>
<type>war</type>
<version>${version.lieu}</version>
</dependency>
<dependency>
<groupId>fr.kosmos.web.extensions</groupId>
<artifactId>lieu-api</artifactId>
<version>${version.lieu}</version>
</dependency>
Activation du plugin de fiches
Par défaut, le plugin Lieu est activée sur les fiches actualité, annuaireksup, defaultsructureksup et laboratoire. Pour l'activer sur d'autres fiches, il faut définir un bean ListToAddBean et ajouter les classes de fiches.
<bean id="lieuPluginFicheProjet" class="com.kportal.core.context.ListToAddBean">
<property name="idExtensionToMerge">
<util:constant static-field="com.univ.objetspartages.util.LieuUtil.ID_EXTENSION"/>
</property>
<property name="idBeanToMerge" value="lieuPluginFiche"/>
<property name="listToMerge" value="classes"/>
<property name="add">
<list>
<value>com.univ.objetspartages.om.Article</value>
</list>
</property>
</bean>
Activation du plugin cartographie
Par défaut le plugin cartographie est activé sur la fiche Lieu. Pour l'activer sur une autre fiche, il faut déclarer un ListToAddBean sur le plugin et y ajouter la classe.
<bean id="pluginLieuCartographie" class="com.kportal.core.context.ListToAddBean">
<property name="idExtensionToMerge">
<util:constant static-field="com.univ.objetspartages.util.LieuUtil.ID_EXTENSION"/>
</property>
<property name="idBeanToMerge" value="infosCartographiePlugin"/>
<property name="listToMerge" value="classes"/>
<property name="add">
<list>
<value>com.univ.objetspartages.om.actualite</value>
</list>
</property>
</bean>
Il faut déclarer dans le fichier application_lieu.properties les paramètres suivants :
# Activation de la cartographie
cartographie.active=true
# Nombre de catégories
infosCartographie.categorie.nombre=4
# Option d'affichage de la cartographie
cartographie.center.latitude=49.0390822
cartographie.center.longitude=2.0741167
cartographie.initial.zoom=16
Activation des agrégations supplémentaires pour la fiche Lieu
Lorsque la cartographie est activée il est possible d'ajouter les catégories de cartographie dans la liste d'aggrégation de la fiche Lieu.
<bean id="aggregationsLieu" class="com.kportal.core.context.SetToAddBean">
<property name="idExtensionToMerge">
<util:constant static-field="com.univ.objetspartages.util.LieuUtil.ID_EXTENSION"/>
</property>
<property name="idBeanToMerge" value="searchFicheLieuConfiguration"/>
<property name="setToMerge" value="filters"/>
<property name="add">
<set>
<ref bean="searchAggregationAgglomeration"/>
<ref bean="categorie1Aggregation"/>
<ref bean="categorie2Aggregation"/>
<ref bean="categorie3Aggregation"/>
<ref bean="categorie4Aggregation"/>
</set>
</property>
</bean>
Ajout d'un catégorie de cartographie
Pour ajouter une nouvelle catégorie de cartographie, il faut déclarer le nouveau type de libellé correspondant à la catégorie dans le fichier tables/lieu_type_libelle.dat
(Lieu) Catégorie 5 CC05
Il faut également modifier le nombre de catégories dans le fichier application_lieu.properties
infosCartographie.categorie.nombre=5
Il est possible de déclarer une aggrégation pour cette nouvelle catégorie, et de l'ajouter dans la liste d'aggrégations définies plus haut.
<bean id="categorie5Aggregation" class="com.kosmos.search.query.configuration.SearchAggregationTermLabelConfiguration" parent="searchAggregationTermLabel">
<property name="name" value="categorie5"/>
<property name="field" value="plugins.infosCartographiePlugin.categorie5.label_code"/>
<property name="labelType" value="CC05"/>
<property name="label" value="INFOS_CARTOGRAPHIE.FO.CATEGORIE5"/>
</bean>