Vérification de la cohérence des messages avec le cycle vie de la carte
Ajout possibilité messages ENABLE->RENEWED
FormService : encodage via simple urlencoder, plus court que hexa - cf plus bas, modifiez la configuration de FormService dans applicationContext-services.xml pour mettre hashType à HASH si vous voulez conserver l'ancien comportement/encodage des URLs.
Si vous avez besoin de revenir à l'encodage précédent (HASH et non HEXA) pour préserver les urls que vous auriez en favori par exemple, vous pouvez modifier le FormService (applicationContext-services.xml) ainsi
<bean id="formService" class="org.esupportail.sgc.services.FormService"> <property name="nbFields" value="3"/> <property name="fieldsValuesNbMax" value="200"/ <property name="hashType" value="HASH"/> <property name="fieldsList"> <map> ... |
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Cela vous positionnera la configuration PRINTER_ROLE_CONFIG qu'il faudra adapter - mettez la à true si vous souhaitez resrteindre la possibilité d'impression à certains gestionnaires (MANAGER) via ROLE_PRINTER ou/et l'affectation d'imprimantes depuis admin < imprimantes.
WS REST : cardRequest (POST /wsrest/api) renvoie l'id de la carte en cas de succès
Nouveau WebService POST en /setCardEtat/{cardId} permet de changer l'état d'une carte
Cf la question de la FAQ "Comment passer la carte d'un état à un autre via web-service ?"
Vue Admin/Sessions : classification par userType
Mise à jour de librairies java (spring, spring-security ...)
Debug : vue manager pour ROLE_CONSULT_X
Vue Admin/GroupsRoles pour visualisation de la récupération et calcul groupes/rôles
Vue Admin/UserInfos pour affichage du temps de calcul de la récupération des UserInfos
Fix logs pattern whith no http requests / sessions
Debug message d'erreur - demande de cartes pour utilisateur sans droit de gestionnaire
Pas de synchro si les duedates sont passés
ESCR : pas de màj si les expiry date sont antérieures à la date du jour
API CROUS/IZLY : pas de màj si les duedate sont antérieures à la date du jour
API CROUS/IZLY : étudiants - pas d'update si date de fin locale antérieure à date de fin sur crous/izly
Debug : export CSV ok pour manager mais aussi manager d'un type donné, livreur, etc.
Vue manager - préférences : possibilité de choisir son onglet par défaut
Vue manager - debug slim-select sur le bouton + (plus de filtres)
Lien visuel sur vue utilisateur carte dématérialisée pour les cartes en état validé, encodé, activé, désactivé
Debug : demande de carte par le manager -> dernière photo en date si dispo
Debug : ajustement content-type images dans html b64
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Cela vous positionnera la configuration BMP_COMMAND_VIRTUAL qu'il faudra adapter - mettez la à vide si vous ne souhaitez pas proposer le lien de la carte en plein écran (~ dématérialisée) à l'utilisateur.
En cliquant sur le lien/bouton puis en recliquant sur la carte "dématérialisée" celle-ci s'affiche en plein écran.
Cette version permet l'édition des cartes en 1 passe, cette évolution a été développée dans le cadre de l'Appel À Projets Services Numériques Aux Étudiants ESUP-SGC 2022/2023.
Debug P2S / PcPass / AC UniLassalle lors du redémarrage d'esup-sgc
mvn compile exec:java -Dexec.args="dbupgrade" |
Cela vous positionnera les configurations BMP_COMMAND_COLOR_PRINTER et BMP_COMMAND_BLACK_PRINTER qu'il faudra adapter si vous souhaitez bénéficier de la possibilité de l'édition (impression + encodage) en 1 seul passe via des imprimantes avec encodeurs (evolis ou zebra). Merci de vous référer à la page wiki Édition en 1 passe pour plus d'information sur cette mise en oeuvre.
Version 1.9.3 - 17/10/2022
Optimisation SQL : amélioration vitesse d'affichage page /manager
Fixe LdapUserInfoServiceTest quand 0 ou >1 bean de type LdapUserInfoService
Optimisation SQL : amélioration vitesse d'affichage page /manager, page /user et des synchros
Affichage en min/sec/ms des temps de synchro
Debug Contrôle d'accès : si date enabled sur carte à null, carte jamais activée (cas d'une carte encodée devenue caduque)
Refactoring / Debugage : si crous activé par défaut : affichage info crous pour l'utilisateur
Possibilité de demander un renouvellement de carte via API
Fixe le tri des onglets userTypes
Mise à jours librairies dont driver mysql/postgresql
Debug Importation cartes extérieures (KO depuis 1.9.0)
Authentification OK même si erreurs de synchronisation utilisateur
Debug SwitchUser sur nouvel utilisateur non connu en base
Ajout tâche cron de mise à jour auto des règles de calcul des tarifs CROUS (à décommenter) - cf 279a674e9d0052fb6d - fichier applicationTasksContext.xml
Attention, cette version voit disparaitre l'usage des fichiers ESIST au profit de règles recupérées dynamiquement depuis l'API CROUS.
Lors de votre montée de version sur cette 1.9.0, il faut configurer les règles à récupérer via esup-sgc avant toute synchronisation de vos ayants droits sur l'api crous (sous peine d'un potentiel changement de tarif et envoi de mail par crous/izly).
Pour ce faire, désactivez/commentez temporairement la tâche de synchronisation totale de vos utilisateurs synchronizeAllUsersInfos dans applicationTasksContext.xml.
Démarrez ainsi votre esup-sgc afin de configurer de suite cette récupération de règles au travers de l'IHM depuis l'onglet "Admin" / Tarifs CROUS.
API CROUS : possibilité pour l'ayant droit de déclôturer son compte CROUS/IZLY
UserInfoService : prise en compte de caducIfEmpty même si synchronize à false
Authentification / Switch User fonctionnelle même si une erreur de synchro se produit
CsvExportAcInsaService : date de fin max à 31/12/2049 pour contrôle accès INSA
Lien 'voir carte' pour l'utilisateur uniquement sur les cartes imprimées.
Mise à jour librairies Spring
API CNOUS : ajout de /beforeizly dans l'url - modification config applicationContext-crous.xml
Attention, suite à un git merge/pull de cette modification, vous devrez sans doute résoudre un conflit dans src/main/resources/META-INF/spring/applicationContext-crous.xml :
la propriété weburl de apiCrousService ne doit maintenant plus proposer le suffixe /v1 - en production on aura donc maintenant <property name="webUrl" value="https://api.lescrous.fr" />
Ajout d'un test ldap
CROUS : debug commit du 28/02/2022 ...
CROUS : gestion de l'erreur 462 406 'Le compte a un rne prioritaire qui est différent du rne proposé'
Màj librairies aspectj/java : support du JDK 11
Possibilité de configurer devRemoteUser=toto@univ-ville.fr pour auth générique sans l'environnement shibbolteh SP (facilite le développement)
Message d'erreur lorsque l'entête HTTP remote_user non récupérée via shib
Màj librairies spring, spring-security et jackson-databind
user_account.update_date : date de dernière modification/synchronisation de l'utilisateur
-> affichage date de mise à jour de l'utilisateur
log de l'ensemble des champs non égaux lors des synchronisations.
Màj webjars-locator
Cache Control et cache busting
Ajout d'index en BD -> optimisation des synchronisations utilisateurs
Possibilité d'annuler les demandes de carte par un gestionnaire
Mise à jour librairies spring
RestValidateService : simple log en warn quand not found sur un get
Ajout d'un test de validation chaîne deuinfo
Possibilité de pousser ESCN et/ou ESI dans LDAP
Modification de la configuration des contrôles accès : on spécifie le chemin d'accès au répertoire/montage de sortie du CSV dans chaque bean de chaque contrôle d'accès.
Ainsi on peut avoir plusieurs instances de contrôles d'accès d'une même solution différents (pour du multi-établissements, ou multi-sites avec des serveurs P2S non unifiés par exemple).
Attention, suite à un git merge/pull de cette modification, vous devrez sans doute résoudre un conflit dans src/main/resources/META-INF/spring/applicationContext-acces-control.xml
Ainsi, cf le diff sur github, il faut passer, au niveau de src/main/resources/META-INF/spring/applicationContext-acces-control.xml, d'une configuration en
<bean class="org.esupportail.sgc.services.ac.CsvExportP2sService"/> <bean id="p2sVfsAccessService" class="org.esupportail.sgc.services.fs.VfsAccessService"> <property name="uri" value="file://tmp/" /> </bean> |
à la configuration suivante (pour chaque contrôle d'accès, l'id du bean p2sVfsAccessService permettant de définir le répertoire/montage de sortie du CSV est donné en paramètre au bean d'export du contrôle d'accès)
<bean class="org.esupportail.sgc.services.ac.CsvExportP2sService"> <constructor-arg ref="p2sVfsAccessService"/> </bean> <bean id="p2sVfsAccessService" class="org.esupportail.sgc.services.fs.VfsAccessService"> <property name="uri" value="file://tmp/" /> </bean> |
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Si vous obtenez l'erreur suivante
Caused by: org.postgresql.util.PSQLException: ERROR: must be owner of function textsearchable_card_trigger |
Vous devez modifier le owner de ces fonctions en lançant les commandes suivantes dans votre pbase esupsgc sous postgres (psql) :
ALTER function textsearchable_user_account_trigger() owner to esupsgc ; ALTER function textsearchable_card_trigger() owner to esupsgc ; |
La méthode d'authentification via login/password sur l'API CROUS est actuellement dépréciée et ne sera plus disponible/possible à partir de fin janvier 2021.
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici récupérer un appId/appSecret depuis https://developers.lescrous.fr - cf Configurations API CROUS
Si vous utilisez git pour tenir à jour votre esup-sgc, vous aurez logiquement un 'conflit' sur le fichier src/main/resources/META-INF/spring/applicationContext-crous.xml - celui-ci a été modifié pour remplacer les 2 lignes login/password par les 2 lignes appId/appSecret - à vous de modifier le fichier en ce sens.
API CROUS : Affichage StatutCompte, StatutBlocage et date de naissance.
Contrainte d'unicité eppn sur escr_student.
Utilisation des webjars pour libs css/js.
Màj librairies css/js.
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Stats: demandes non éditables par adresse
Stats: périodes d'édition des cartes
Stats: tarifs CROUS - personnes avec due_date>now() uniquement
ESC DEUINF0 : implémentation de la partie permettant de signer la deuinfo, intégrer le certificat, valider la deuinfo et proposer un affichage sommaire lors du badgeage d'une carte étudiante européenne.
(en lien avec implémentation de l'écriture et lecture e la DEUINFO côté esup-nfc-tag-server - modification effectuée ce même jour).
Amélioration statistiques : statistiques supplémentaires et par année universitaire
Export CSV: nom, prénom, date de naissance, ine, date limite
Debug externalCard - dueDate CADUC
Log authToken
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Suite à cette mise à jour, vous pouvez reconfigurer les liens sur les clients eusp-sgc/esup-nfc proposés dans la barre de navigation, ce via la page Admin > NavBarApp.
Pour pouvoir proposer effectivements ces applications clientes, vous pouvez maintenant :
SVG workflow - textes plus lisibles
Filtres operation/bloquant dans erreurs crous
Invalidation ESCR : log uniquement en erreur, mais pas/plus d'exception
Màj librairie jackson-databind -> 2.9.10
Show crousErrorLog : meilleur gestion des exceptions lors du GET
Debug order getting one card for user : ENABLED order first and date order n
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Suite à cette mise à jour, pensez à renseigner la nouvelle configuration disponible "ESUP_SGC_ETABLISSEMENT_NAME" pour présenter le nom de votre établissement dans les appels REST.
Ajout verso6 et verso7 affichage verso depuis esup-nfc-tag
API CROUS : erreur 'Client inconnu' non bloquant
Export CSV logs CROUS
Bouton de purge des logs crous
Implémentation de la validation/invalidation d'une carte dans l'outil papercut - https://www.papercut.com - cf PapercutValidateService
Fixe ROLE_CONSULT_ / ROLE_MANAGER_ (les ROLE_MANAGER_xxx n'avaient pas la possibilité d'utiliser la nouvelle version de l'encodeur notamment).
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Debug import carte externe par un gestionnaire
Debug stats
Statistiques :
nombre de cartes par état
Fixe pb de sécurité : sécurisation par défaut de tout /wsrest via filtrage IP
Demande de carte par gestionnaires possible
Debug Paybox (pb depuis dernier commit du 28/01) - bis
Debug Paybox (pb depuis dernier commit du 28/01)
Ajout d'une interface pour purger les cartes et utilisateurs
Optimisation et debug du calcul des rôles depuis les groupes ldap
Rôle ROLE_SWITCH_USER
Envoi d'un mail à une adresse à chaque paiement paybox (si configuré)
Paiement paybox : configuration du formattage du numéro de commande possible
Debug récupération des adresses pour l'onglet All
LdapGroupBaseService pour (éventuelle) optimisation de la recherche des utilisateurs d'un groupe
Debug pagination / filtres sur page par défaut (bug apparu suite aux modifications du 29/11/2018)
Debug màj secondary_id dans ldap lorsqu'on rejoue la validation/invalidation totale ldap sur toutes les cartes
Prévisualisation carte : usage de rectoxPrinted si imprimée
Nouveaux champs userInfo : externalAddress, freeField1, freeField2, freeField3 - cf Configurations ESUP-SGC et ESUP-NFC-TAG-SERVER#SGCetESUP-NFC-TAG-SERVER-UserInfo:
Améliorations sécurité : vérification des droits des ROLE_MANAGER_xx lors de l'accès aux fiches
Améliorations autorisations (autorisations et restrictions) sur les onglets, cases à cocher.
Un manager peut livrer la carte via l'IHM.
Màj esupsgcclient : debug pour java sous linux avec la version JDK 1.8 191, 192 et ... (l'appli java plantait lorsque un son tente d'être émis)
API ESUP-SGC : getCrousRightHolder : curl 'https://esup-sgc.univ-ville.fr/wsrest/api/getCrousRightHolder?eppnOrEmail=toto@univ-ville.fr'
Refactoring champs de recherche libre - Attention : dans applicationContext-services.xml 'fieldsList' de formService change, c'est maintenant une map et on ajoute user_account. ou card. pour indiquer la table user_account ou card sur laquelle le champ est présent - cf le diff de la configuration par défaut
Forcer la validation cartes crous/escr lors de l'activation crous/escr
Tools > ESCR : envoi des cartes éventuellement manquantes
Fixes bordereau (limitation à 500 cartes)
Encart danger, cartes en cours d'impression
Envoi de rneEtablissement comme rneOrgCode sur API CROUS
Champ academicLevel pour API ESCR - cf Configurations ESUP-SGC et ESUP-NFC-TAG-SERVER#SGCetESUP-NFC-TAG-SERVER-UserInfo:
Fixe bug (introduit en 1.1.0 par la màj de spring-security) retouche d'images/photos par lot
API : récupération des ids de photos, modification formattage des dates json
Améliorations interactions avec API CROUS ; majorité des erreurs passées en non bloquantes ; stockage libellé dernière erreur crous dans la fiche utilisateur/carte.
Mise à jour des librairies, notamment spring (3.2->4.3) et spring-security (3.2->4.2), Hibernate, ...
Formulaire pour modifier l'identifiant utilisateur eppn en base et côté CROUS.
Possibilité de configurer un message/mail à destination d'une adresse mail (plutôt qu'à destination de l'adresse mail de l'utilisateur final)
ESIST-etd.xml : règles crous par défaut pour tous les étudiants
Debugage calcul des groupes (avec rôles multiples séparés par des ;)
Petit message d'attente lors de l'activation/désactivation de la carte.
Améliorations statistiques
Affichage du CSN dans la vue utilisateur.
UserInfoServiceTest : usage possible de la configuration test.userinfo.eppn2test via fichier src/test/resources/META-INF/spring/esup-sgc-test.properties
Debug export statistiques en CSV
Debug mise à jour erreur crous
Fixe statistiques selon les user_types
Màj jar esupsgcclient - certificat signature -> Nov 2020
Logs sur LdapValidateService
PhotoResizeService (non utilisé)
Retouchage des photos par lot
Demande annulée aussi qd demande rejetée (et fin de droits dépassée) -> ie pas uniquement pour nouvelles demandes
CsvExportUniLaSalleService
Stat demande en cours
Debug collapse - bouton 'magique'
Debug schacExpiryDate à null posait pb à la synchro
Champ 'synchronize' dans userInfoServices pour forcer la non-synchronisation : Doc sur le champ synchronize dans applicationContext-services.xml
Debug ShibUserInfoService : pas de suppression d'element si null
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Affichage ESCR uniquement si carte étudiante eutopéenne
CsvExportAcInsaService
Debug lien photo bordereau
Fixe export contrôle accès insa (nom 15 car. - prénom 13 car.)
Ajout info statut carte dans application verso nfc
écriture contrôle accès
possibilité d'afficher la photo dans l'export 'bordereau' d'une recherche : configuration boolean PHOTO_BORDEREAU à ajouter :
INSERT INTO appli_config (id, key, value, description, type) VALUES (nextval('hibernate_sequence'), 'PHOTO_BORDEREAU', 'true', 'Affiche ou non la photo dans le bordereau', 'BOOLEAN');
fixe stats
affichage données ESCR via API
logs debug
fixe Izly account closed -> 404 when adding a card
fixe conflit ESCR / Card not Found ESCR
modification portée de blockUserMsg ; cf tableau des userInfo
ajout de blockUserMsg ; cf tableau des userInfo
Typo
Affichage exception à l'utilisateur pour les exceptions non gérées
Url "nettoyée" onglets par userType
Photo : pas de gain de qualité avec zoom à 4 -> zoom à 2 et non 4 (photoExportZoom dans esup-sgc-vanilla.js)
Debug renouvellement de cartes : le même big_file était utilisé
Url "nettoyée" lors des recherches/listings des cartes
Usage de access-control4ExternalCard et csn4ExternalCard : supannRefId4ExternalCard déprécié
Messages mails selon le userType.
Préservation de l'ordre lors d'un changement d'états de plusieurs cartes
Débug encodage url recherche par adresses, champs libres, ...
Statistiques selon l'année universitaire et ajout de statistiques cartes européennes étudiantes
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |
Debug SgcRoleHierarchy : ROLE_ADMIN suffisant pour avoir ROLE_SUPER_MANAGER
Fixe / debug usage api carte européenne
Fixe bug de l'export des résultats sous forme de csv/bordereau
Prise en compte du choix du ldaptemplate dans la recherche ajax ldap
Amélioration et descriptif dans l'interface des messages/mails - onglet admin
CsvExportPcPassService pour contrôle d'Accès Université du Havre
Amélioration api photos
debug : la possibilité d'activer la carte européenne à tout moment n'était pas possible
affichage csn dans admin/crouscards
admin/crouscards redirection paginée après envoi csv cartes crous
CsvExportAcInsaService pour contrôle accès Insa Rouen
fixe recherche sur adresse
mise à jour du client d'encodage
fixe lastCardTemplate : devient une référence
possibilité de mettre requestFree à false sans passer par groupe mais via un userinfo - exemple avec le requestNotFreeUserInfoService dans Configuration spécifique COMUE Normandie Université#src/main/resources/META-INF/spring/applicationContext-services.xml
card-info restreint pour carte extérieure (== carte 'importée')
fixe userType : de 1 à 3 caractères ok -> dans les ocnfigurations via l'ihm, au lieu de IEP on peut mettre I;E;P et aussi ainsi I;Ext;P par exemple (sépérateur ;)
possibilité de rechercher dans plusieurs ldap pour le super-manager
des debugs de l'interface web
Suite à la mise à jour du code sur cette version (via un git pull sur le master), il faut ici lancer la commande :
mvn compile exec:java -Dexec.args="dbupgrade" |