La personnalisation n'est possible que pour SOLUTION 2 (voir 2. Installation initiale).
Si vous avez opté pour SOLUTION 1, passez directement à la partie 4. Déploiement.
Tous les fichiers de personnalisation sont renommés en xxx.sample.extension de manière à ne pas les écraser lors des mises à jour de l'application.
3.1 Charte graphique
Changement des couleurs |
|
---|---|
Changement de la taille de police moyenne de l'application |
|
3.2 Messages
Pour modifier les messages prévus par défaut, il suffit de les redéfinir dans des fichiers .properties.
Dans le répertoires resources/i18n vous trouverez 2 fichiers à renommer :
- messages.sample.properties à renommer en messages.properties => pour surcharger les messages 'standards' affichés par l'application
- vaadin-messages.sample.properties à renommer en vaadin-messages.properties => pour surcharger les messages des composants vaadin (ex : "Votre session a expiré" ou "Connexion perdue, tentative de reconnexion..."
Les fichiers messages.properties et vaadin-messages.properties sont optionnels et ne doivent contenir donc que les messages à modifier.
3.3 Requêtes SQL
Comme dans la version précédente de MonDossierWeb, certaines requêtes SQL sont modifiables pour permettre une plus grande flexibilité.
Les requêtes que l'on peut surcharger sont les suivantes :
Nom dans apogeeRequest.xml | Rôle | Remarques |
---|---|---|
calendrierExamen | Récupération des examens programmés pour un étudiant. Paramètres :
| La requête fournie avec l'application est axée sur une règle de gestion spécifique à l'Université de Lorraine. Elle récupère les examens dont le libellé de la période commence par '@'. Cela permet d'activer/désactiver la remontée des épreuves dans MDW. Vous aurez probablement besoin de modifier cette requête pour l'adapter à vos besoins. A tire d'exemple, il est possible : -De ne récupérer que les épreuves les plus récentes : PESA.DAT_DEB_PES > (SYSDATE - 30) -De tester le témoin 'affichable' de la maquette du calendrier après jointure sur les tables EPR_CLN et MAQ_CALEND depuis la table EPREUVE : MAQ_CALEND.TEM_AFF_CLN = 'O' |
mailFromLogin | Récupération du mail de l'étudiant à partir de son login. Paramètres :
| La requête fournie avec l'application utilise une table spécifique à l'Université de Lorraine stockant ces informations dans Apogée : ANNU_MEL_LOGIN. Requête non utilisée de base par l'application. Dans un soucis de migration depuis la version précédente de monDossierWeb, elle est cependant prévue pour des universités qui voudraient implémenter un bean ayant besoin de récupérer le mail à partir du login. |
loginFromCodEtu | Récupération du login de l'étudiant à partir de son code étudiant. Paramètres :
| La requête fournie avec l'application utilise une table spécifique à l'Université de Lorraine stockant ces informations dans Apogée : ANNU_MEL_LOGIN. Requête utilisée par le bean : LoginCodeEtudiantConverterImplUnivLorraine |
mailFromCodEtu | Récupération du mail de l'étudiant à partir de son code étudiant. Paramètres :
| La requête fournie avec l'application utilise une table spécifique à l'Université de Lorraine stockant ces informations dans Apogée : ANNU_MEL_LOGIN. Requête utilisée par le bean : EmailConverterImplUnivLorraine |
quittances | Récupération des quittances valides pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
centrePayeurPourAffilie | Récupération du centre payeur pour un étudiant affilié. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
centrePayeurPourNonAffilie | Récupération du centre payeur pour un étudiant non affilié. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
montant1erPaiement | Récupération du montant du premier paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
montant2emPaiement | Récupération du montant du deuxième paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
montant3emPaiement | Récupération du montant du troisième paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
date1erPaiement | Récupération de la date du premier paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
date2emPaiement | Récupération de la date du deuixème paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
date3emPaiement | Récupération de la date du troisième paiement pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
paiement3X | Récupération du témoin "tem_pmt_3f" pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
moyensDePaiement | Récupération des moyens de paiement pour un étudiant, une année universitaire et un numéro chronologique de quittance. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
montantTotalPaye | Récupération du montant total payé pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
montantsPayes | Récupération du détail des droits payés pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
dateCotisation | Récupération de la date de cotisation pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
mutuelle | Récupération de la mutuelle pour un étudiant et une année universitaire. Paramètres:
| Requête utilisée par le bean : SsoApogeeServiceImpl |
codPcsSalarie | Récupération du code de la catégorie socio-professionnelle pour un étudiant salarié et une année universitaire. Paramètres:
| Requête utilisée par la classe : MultipleApogeeServiceImpl |
temBoursierIaa | Récupération du témoin boursier (TEM_BRS_IAA) pour un étudiant boursier et une année universitaire. Paramètres:
| Requête utilisée par la classe : MultipleApogeeServiceImpl |
inscritsFromElp | Récupération de la liste des inscrits à un ELP Paramètres:
| Requête utilisée par la classe : MultipleApogeeServiceImpl |
inscritsEtapeJuinSep | Récupération de la liste des inscrits à une étape. Paramètres:
| Requête utilisée par la classe : MultipleApogeeServiceImpl |
codIndInscritsFromGroupe | Récupération des cod_ind des inscrits à un groupe Paramètres:
| Requête utilisée par la classe : ElementPedagogiqueServiceImpl |
temSesUniVet | Récupération du témoin session unique d'une VET Paramètres:
| Requête utilisée par la classe : MultipleApogeeServiceImpl |
3.4 Beans interchangeables
Tout ajout de code personnalisé dans MDW doit se faire dans un package dédié reprenant le path logique pour la classe tout en indiquant le nom de votre université.
Ex :
- fr.nomuniversite.mondossierweb.converters
- fr.nomuniversite.mondossierweb.controllers
Par interface
Comme dans la version précédente de MonDossierWeb, certains beans java sont interchangeables pour permettre une plus grande flexibilité.
Vous pouvez créer votre propre bean si ceux proposés ne conviennent pas à votre environnement. Il suffit pour cela de créer une nouvelle classe java implémentant l'interface du bean d'origine, puis de modifier la classe à instancier dans le fichier context.xml (voir les paramètre de type 'Interface' ici).
Ces beans sont les suivants:
identifiant | rôle | interface à implémenter | package | implémentations fournies |
serveurphoto | récupération des photos des étudiants | IPhoto | fr.univlorraine.mondossierweb.photo |
|
codetuFromLogin | récupération du cod_etu à partir du login d'un étudiant. | CodeEtudiantLoginConverterInterface | fr.univlorraine.mondossierweb.converters |
|
loginFromCodetu | récupération du login à partir du codetu d'un étudiant | LoginCodeEtudiantConverterInterface | fr.univlorraine.mondossierweb.converters |
|
emailConverter | création du mail à partir du login étudiant | EmailConverterInterface | fr.univlorraine.mondossierweb.converters |
|
Comme indiquer ci-dessus, les récupérations du login et du mail en fonction du cod_etu et se font, de base, à partir du LDAP via les implémentations :
- codetuFromLoginLdapImpl
- emailConverterLdapImpl
Mais les implémentations propres à l'université de Lorraine (utilisant une table MEL_LOGIN dans Apogée) sont disponibles via les implémentations :
- loginFromCodetuUnivLorraineImpl
- emailConverterUnivLorraineImpl
A noter que pour la récupération du mail il existe également une implémentation 'basic' qui concatène le login étudiant avec le paramètre applicatif 'extensionMailEtudiant' (voir Configuration). Cela se fait via l'implémentation:
- emailConverterBasicImpl
Par extension
Certaines classes peuvent également être étendue afin d'en modifier légérement le comportement. Cela permet de redéfinir uniquement les méthodes dont vous souhaitez modifier le comportement.
Il vous faut créer votre propre classe java qui "extends" la classe de MDW puis modifier la classe à instancier dans le fichier context.xml
identifiant | rôle | classe à étendre | package |
---|---|---|---|
resultatController | récupération des notes et résultats dans Apogée | ResultatController | fr.univlorraine.mondossierweb.controllers |
Contribuer au projet
Dans le cas où vous avez créer vos propres classes java dans le but d'adapter MDW à vos besoins (voir ci-dessus), il se peut que vous soyez intéressé par le partage de votre code, afin d'en faire profiter d'autres universités par exemple.
Si votre code se trouve bien dans un package dédié (voir préconisation) vous pouvez faire une demande de pull-request sur le repository github. Si ces nouvelles classes n’empêche pas la compilation du projet, votre code pourra être intégré à la branche master.
Attention: Si, suite à une mise à jour du code interne à MDW ou aux librairies qu'il utilise, votre code empêche la compilation du projet, il pourra alors être supprimé pour ne pas bloquer les livraisons de l'application.
Libre à vous, ensuite, de re-livrer une nouvelle version corrigée de votre code par pull-request.
De même, si un bug provenant de votre code code est découvert, sa prise en charge et sa correction vous incombe. L'université de Lorraine ne pourra assurer le support de code hors package fr.univlorraine.
3.5 ElasticSearch
A partir de 2018 (version 1.2.2 de MDW), les packages "war" de MDWv3 sont paramétrés par défaut pour se connecter sur un ElasticSearch v2.
L'implémentation d'ElasticSearch au sein de monDossierWeb dépend de la version d'ElasticSearch installée.
Pour changer la version utilisée et passer en v1, il faut recompiler l'application à partir du package *-distribution.zip :
- Editer le fichier pom.xml :
- modifier la version de l'artefact mdw-tools de 2.x.y en 1.x.y puis re-déployer l'application (voir doc Déploiement)
- Dans le fichier de context de monDossierWeb, configurer les champs ElasticSearch en majuscule.
C'est à dire, remplacer :
Extrait context.xml pour ElasticSearch v1<Parameter name="param.elasticsearch.index.champrecherche" value="lib_desc_obj" /> <Parameter name="param.elasticsearch.index.champcodeobjet" value="cod_obj" /> <Parameter name="param.elasticsearch.index.champversionobjet" value="cod_vrs_obj" /> <Parameter name="param.elasticsearch.index.champlibelleobjet" value="lib_obj" />
par :
Extrait context.xml pour ElasticSearch v2<Parameter name="param.elasticsearch.index.champrecherche" value="LIB_DESC_OBJ" /> <Parameter name="param.elasticsearch.index.champcodeobjet" value="COD_OBJ" /> <Parameter name="param.elasticsearch.index.champversionobjet" value="COD_VRS_OBJ" /> <Parameter name="param.elasticsearch.index.champlibelleobjet" value="LIB_OBJ" />
3.6 Développement
Les versions de Vaadin 7.7.17 et inférieures sont soumises à licence Apache 2.0.
Avec ces versions (<=7.7.17), les développements ne nécessitent pas de licence Vaadin.
Les versions de Vaadin 7.7.18 et supérieures sont soumises à licence CVDLv4 (https://vaadin.com/license/cvdl-4.0).
Avec ces versions (>7.7.17), les développements doivent se faire en possédant une licence valide.
Vous trouverez de plus amples informations sur cette page : https://vaadin.com/support/vaadin-7-extended-maintenance.