Projet

Général

Profil

Actions

Anomalie #14557

fermé

Fichier XML (core/xml/config.xml) non pris en compte lors de la copie dans le custom - champ CONFIG/default_timezone

Ajouté par Quentin RIBAC il y a plus de 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
R&D - Terminé
Priorité:
1-Majeur
Assigné à:
Quentin RIBAC
Version cible:
Début:
31/07/2020
Echéance:

Description

Ceci concerne le projet TCO situé à la Réunion, mais il s’agit bien d’un ticket backlog. La timezone en question est Indian/Reunion (soit UTC+4) et non Europe/Paris (UTC+2). Le tag est 20.03.5

La timezone apparait dans deux fichiers XML, apps/maarch_entreprise/xml/config.xml et core/xml/config.xml

Le premier (apps/...) ne pose pas de problème. Pour le second (core/...), la copie dans le custom n’est pas prise en compte et il faut modifier le XML dans le socle.

Problème :

Avec la timezone Europe/Paris, on a un 401 Unauthorized sur GET /rest/currentUser/profile, ce qui bloque le chargement et laisse une page grise après la connexion (voir capture d’éran du navigateur).

Tests :

  1. (initial) Europe/Paris dans socle & custom : KO erreur 401
  2. (attendu) Europe/Paris dans socle & Indian/Reunion dans custom : KO erreur 401
  3. (fonctionnel custom ignoré) Indian/Reunion dans socle et Europe/Paris dans custom : OK chargement correct
  4. (fonctionnel valeur fausse en custom) Indian/Reunion dans socle et texte aléatoire dans custom : OK chargement correct
  5. (fonctionnel valeur vraie en custom) Indian/Reunion dans socle & custom : OK chargement correct

Résumé :

GET /rest/currentUser/profile renvoie 401 Unauthorized {"errors": "Authentication Failed"} si on ne met pas la bonne timezone dans core/xml/config.xml dans le socle. Le custom est ignoré.

Résultat attendu :

Pouvoir modifier core/xml/config.xml dans le custom, afin de préserver le socle et de ne pas bloquer les mises-à-jour.

Idée :

Peut-être que le mécanisme de chargement des fichiers XML détectant qu’il faut charger depuis le custom et non le socle n’est pas activé partout. J’ai vu une fonction getXmlLoaded, je suppose que c’est elle qui remplit ce rôle de détection du XML dans le custom.

La fonction getXmlLoaded n’est pas appelée dans core/class/class_portal.php lignes 47-49, c’est simplexml_load_file qui est appelée dans la méthode build_config de la classe portal avec un chemin relatif au fichier actuel sans mention du custom.

J’espère que cette piste pourra vous être utile.


Fichiers

droitsSocleEtCustom.png (77,9 ko) droitsSocleEtCustom.png Quentin RIBAC, 31/07/2020 16:52
xml_attendu.png (63,8 ko) xml_attendu.png Quentin RIBAC, 31/07/2020 16:52
xml_fonctionnel_custom_ignore.png (63,8 ko) xml_fonctionnel_custom_ignore.png Quentin RIBAC, 31/07/2020 16:52
erreur_401_unauthorized_GET_currentUser_profile.png (240 ko) erreur_401_unauthorized_GET_currentUser_profile.png Quentin RIBAC, 31/07/2020 16:52
xml_fonctionnel_valeur_fausse_en_custom.png (61,8 ko) xml_fonctionnel_valeur_fausse_en_custom.png Quentin RIBAC, 31/07/2020 16:52
xml_initial.png (64 ko) xml_initial.png Quentin RIBAC, 31/07/2020 16:52
xml_Reunion_socle_et_custom.png (61,6 ko) xml_Reunion_socle_et_custom.png Quentin RIBAC, 31/07/2020 16:52
Actions

Formats disponibles : Atom PDF