Project

General

Profile

Anomalie #14557

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

Added by Quentin RIBAC almost 2 years ago. Updated 11 months ago.

Status:
Développé / Analysé (S)
Priority:
1-Majeur
Assignee:
Target version:
Start date:
07/31/2020
Due date:
Tags Courrier:
20.03.12

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.

droitsSocleEtCustom.png (77.9 KB) droitsSocleEtCustom.png Quentin RIBAC, 07/31/2020 04:52 PM
xml_attendu.png (63.8 KB) xml_attendu.png Quentin RIBAC, 07/31/2020 04:52 PM
xml_fonctionnel_custom_ignore.png (63.8 KB) xml_fonctionnel_custom_ignore.png Quentin RIBAC, 07/31/2020 04:52 PM
erreur_401_unauthorized_GET_currentUser_profile.png (240 KB) erreur_401_unauthorized_GET_currentUser_profile.png Quentin RIBAC, 07/31/2020 04:52 PM
xml_fonctionnel_valeur_fausse_en_custom.png (61.8 KB) xml_fonctionnel_valeur_fausse_en_custom.png Quentin RIBAC, 07/31/2020 04:52 PM
xml_initial.png (64 KB) xml_initial.png Quentin RIBAC, 07/31/2020 04:52 PM
xml_Reunion_socle_et_custom.png (61.6 KB) xml_Reunion_socle_et_custom.png Quentin RIBAC, 07/31/2020 04:52 PM
5744
5745
5746
5747
5748
5749
5750

History

#1 Updated by Ludovic ARAUJO almost 2 years ago

Reproduit en 20.03.8 (serveur : local, timezone : Europe/Paris)
J'ai appliqué la time zone de dakar dans mon custom (custom/cs_xxx/core/xml/config.xml), pas d'erreur.
J'ai modifier le fichier core/xml/config.xml du socle et j'ai eu l'erreur.

#2 Updated by Support Maarch almost 2 years ago

  • Status changed from A qualifier to A traiter

#3 Updated by Emmanuel DILLARD almost 2 years ago

  • Status changed from A traiter to Etude planifiée
  • Priority changed from 0-Bloquant to 1-Majeur

#4 Updated by Emmanuel DILLARD over 1 year ago

La mécanique a changé en 20.10.

20.03 -> modifier le XML du Core

Voir pour la prise en compte en custom (analyse)

#5 Updated by Emmanuel DILLARD over 1 year ago

  • Status changed from Etude planifiée to Prêt à développer

#7 Updated by Emmanuel DILLARD over 1 year ago

  • Project changed from Backlog to CURRENT SPRINT
  • Status changed from Prêt à développer to En cours de dev (S)
  • Tags Courrier 20.03.10 added

#8 Updated by Florian AZIZIAN over 1 year ago

  • Assignee deleted (EDI PO)

#9 Updated by Florian AZIZIAN over 1 year ago

  • Assignee set to Florian AZIZIAN

#10 Updated by Florian AZIZIAN over 1 year ago

Ce n'est pas possible de le faire dans la 20.03 :

$_SESSION['config']['default_timezone'] est défini dans la fonction build_config() du fichier core/class/class_portal.php
Cette fonction est appelée dans le fichier core/init.php qui est lui-même appelé avant la définition du custom.
Par exemple dans les fichiers apps/maarch_entreprise/index.php ou index.php

Vous êtes donc obligé de modifier le fichier xml qui est dans les sources, comme vous l'avez déjà fait.

Pour pouvoir faire les mises à jour mineures via l'interface, il faudra donc :
- mettre de côté les modifications et réinitialiser le fichier d'origine
- faire la mise à jour via l'interface
- remettre les modifications

Il n'y aura pas le problème en 20.10 car la mécanique a été complètement revue.

#11 Updated by Florian AZIZIAN over 1 year ago

  • Tags Courrier deleted (20.03.10)

#12 Updated by Florian AZIZIAN over 1 year ago

  • Status changed from En cours de dev (S) to Développé / Analysé (S)

#13 Updated by Emmanuel DILLARD over 1 year ago

  • Status changed from Développé / Analysé (S) to Rejeté

#14 Updated by Emmanuel DILLARD over 1 year ago

  • Project changed from CURRENT SPRINT to Backlog
  • Assignee changed from Florian AZIZIAN to Quentin RIBAC

#15 Updated by Ludovic ARAUJO over 1 year ago

  • Priority changed from 1-Majeur to 0-Bloquant

#17 Updated by Henri QUENEAU over 1 year ago

  • Priority changed from 0-Bloquant to 1-Majeur

#19 Updated by Henri QUENEAU over 1 year ago

  • Priority changed from 1-Majeur to 0-Bloquant

#20 Updated by Emmanuel DILLARD over 1 year ago

  • Project changed from Backlog to CURRENT SPRINT
  • Status changed from Rejeté to En cours de dev (S)
  • Assignee changed from Quentin RIBAC to EDI PO
  • Priority changed from 0-Bloquant to 1-Majeur
  • Tags Courrier 20.03.12 added

#21 Updated by Florian AZIZIAN over 1 year ago

  • Assignee deleted (EDI PO)

#22 Updated by Damien BUREL over 1 year ago

  • Assignee set to Damien BUREL

#23 Updated by Damien BUREL over 1 year ago

  • Status changed from En cours de dev (S) to Développé / Analysé (S)

#24 Updated by Emmanuel DILLARD over 1 year ago

-> utilisation de la timezone du apps/maarch_entreprise/xml/config.xml

#25 Updated by Emmanuel DILLARD over 1 year ago

  • Project changed from CURRENT SPRINT to Backlog

#27 Updated by Emmanuel DILLARD over 1 year ago

  • Assignee changed from Damien BUREL to Quentin RIBAC

#28 Updated by Emmanuel DILLARD over 1 year ago

  • Target version changed from 20.03.XX to 20.03 (Support restreint)

#29 Updated by Emmanuel DILLARD 11 months ago

  • Project changed from Backlog to Backlog Courrier
  • Target version changed from 20.03 (Support restreint) to 20.03 (Restreint)

Also available in: Atom PDF