Projet

Général

Profil

Scénario #29088

Les établissements de rattachement doivent être corrects dans l'annuaire Thot

Ajouté par Joël Cuissinat il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
23/09/2019
Echéance:
22/11/2019
% réalisé:

100%

Points de scénarios:
4.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

Description

Extrait de la demande originale d'Arnaud Grossir

Bonjour,

Nous avons un serveur thot 2.6.2 mis à jour avec le dernier paquet python-eoleaaf (2.6.2-23)
un "aaf-complet" s'est bien passé (en tout cas je n'ai pas remarqué d'erreurs)
le lendemain, un "aaf-complet-maj" (nous utilisons des extraction AAF complètes) m'a remonté de nouvelles erreurs:

[ ... ]

3) erreur non bloquante mais génératrice d'incohérences (une partie du point 5 de ma dernière demande) (nb : #28733)

Certains enseignants ont des cours sur deux établissements (leur établissement de rattachement + un autre), mais lors
de l'aaf-complet-maj, les fichiers finaux ldif contiennent bien les deux lignes attendues mais elles ne sont pas cohérentes.
(j'ai repéré pour les professeurs les attributs
"ENTAuxEnsMatiereEnseignEtab" et "ENTAuxEnsClasses", mais il y en a peut-être d'autres...)

J'ai donc vérifié pour une enseignante de musique qui a ce problème (j'ai anonymisé la personne):

-le fichier AAF est correct elle a un etablissement de rattachement:1535 et un autre établissement ou elle dispense des cours également:1441

<addRequest>
<operationalAttributes><attr name="categoriePersonne"><value>PersEducNat</value></attr></operationalAttributes>
<identifier><id>15381</id></identifier>
<attributes>
<attr name="ENTPersonJointure"><value>15381</value></attr>
<attr name="ENTPersonDateNaissance"><value>XXXXXXXXXX</value></attr>
<attr name="ENTPersonNomPatro"><value>XXXXXXXX</value></attr>
<attr name="sn"><value>XXXXXXXX</value></attr>
<attr name="givenName"><value>XXXXXXX</value></attr>
<attr name="personalTitle"><value>Mme</value></attr>
<attr name="mail"><value>XXXXXXXXXXXX</value></attr>
<attr name="ENTPersonStructRattach"><value>1535</value></attr>
<attr name="ENTAuxEnsCategoDiscipline"><value>17$EDUCATION MUSICALE</value></attr>
<attr name="ENTAuxEnsDisciplinesPoste"><value>EDUCATION MUSICALE$17</value></attr>
<attr name="ENTAuxEnsMEF"><value>1535$10310019110$3EME</value><value>1535$1031001911U$3EME ULIS</value><value>1535$1021000111U$4EME ULIS</value><value>1535$10210001110$4EME</value><value>1535$10110001110$5EME</value><value>1535$1011000111U$5EME ULIS</value><value>1535$10010012110$6EME</value><value>1535$1001001211U$6EME ULIS</value><value>1441$10210001110$4EME</value><value>1441$1021000111U$4EME ULIS</value><value>1441$10210001117$4EME SPORTIVE</value><value>1441$10010012110$6EME</value><value>1441$10010012117$6EME SPORTIVE</value></attr>
<attr name="ENTAuxEnsMatiereEnseignEtab"><value>1535$EDUCATION MUSICALE</value><value>1441$EDUCATION MUSICALE</value></attr>
<attr name="ENTAuxEnsClasses"><value>1535$3A</value><value>1535$3B</value><value>1535$3C</value><value>1535$4A</value><value>1535$4B</value><value>1535$4C</value><value>1535$5A</value><value>1535$5B</value><value>1535$5C</value><value>1535$6A</value><value>1535$6B</value><value>1535$6C</value><value>1441$42</value><value>1441$46</value><value>1441$67</value><value>1441$68</value></attr>
<attr name="ENTAuxEnsGroupes"><value/></attr>
<attr name="ENTAuxEnsClassesMatieres"><value>1535$3A$081300</value><value>1535$3B$081300</value><value>1535$3C$081300</value><value>1535$4A$081300</value><value>1535$4B$081300</value><value>1535$4C$081300</value><value>1535$5A$081300</value><value>1535$5B$081300</value><value>1535$5C$081300</value><value>1535$6A$081300</value><value>1535$6B$081300</value><value>1535$6C$081300</value><value>1441$42$081300</value><value>1441$46$081300</value><value>1441$67$081300</value><value>1441$68$081300</value></attr>
<attr name="ENTAuxEnsGroupesMatieres"><value/></attr>
<attr name="ENTAuxEnsClassesPrincipal"><value/></attr>
<attr name="ENTPersonFonctions"><value>1535$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE</value><value>1441$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE</value></attr>
<attr name="ENTPersonCategorieEnseignant"><value>O</value></attr>
<attr name="PersEducNatPresenceDevantEleves"><value>O</value></attr>
</attributes>
</addRequest>

La base eoleaaf est correcte, et contient de bons renseignements. Vous remarquerez que j'ai également récupéré l'ENTPersonFonctions... vous verrez pourquoi ensuite.

mysql> select ENTPersonFonctions from enseignant where uid='DKS99535';
+-----------------------------------------------------------------------------------------------+
| ENTPersonFonctions                                                                            |
+-----------------------------------------------------------------------------------------------+
| 1535$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE
1441$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE |
+-----------------------------------------------------------------------------------------------+
1 row in set (0,01 sec)

mysql> select ENTAuxEnsMatiereEnseignEtab from enseignant where uid='DKS99535';
+-------------------------------------------------+
| ENTAuxEnsMatiereEnseignEtab                     |
+-------------------------------------------------+
| 1535$EDUCATION MUSICALE
1441$EDUCATION MUSICALE |
+-------------------------------------------------+
1 row in set (0,00 sec)

Ensuite c'est là que ça se complique, le traitement mysql->fichiers ldif ne prend que l'autre établissement (1441) alors que l'attribut
ENTPersonFonctions est correct (comme s'il passait par un autre traitement dans les scripts python):

dn: uid=DKS99535,ou=personnes,dc=enoe,dc=net
changetype: modify
 etc etc...
-
replace: ENTPersonStructRattach
ENTPersonStructRattach: cn=s1535,ou=structures,dc=enoe,dc=net
-
replace: ENTPersonFonctions
ENTPersonFonctions: 1535$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE
ENTPersonFonctions: 1441$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE
-
replace: ENTPersonDateNaissance
ENTPersonDateNaissance: 14/04/1978
-
replace: ENTAuxEnsCategoDiscipline
ENTAuxEnsCategoDiscipline: 17$EDUCATION MUSICALE
-
replace: ENTAuxEnsMatiereEnseignEtab
ENTAuxEnsMatiereEnseignEtab: cn=s1441,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE
ENTAuxEnsMatiereEnseignEtab: cn=s1441,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE
-
replace: ENTAuxEnsClasses
ENTAuxEnsClasses: cn=s1441,ou=structures,dc=enoe,dc=net$3A$3B$3C$4A$4B$4C$5A$5B$5C$6A$6B$6C
ENTAuxEnsClasses: cn=s1441,ou=structures,dc=enoe,dc=net$42$46$67$68

et dans le ldap (l'annuaire en cours sur Thot) j'ai ceci, (c'est l'établissement principal qui 1535 qui est présent à des places où l'on devrait trouver 1441):

ENTPersonStructRattach: cn=s1535,ou=structures,dc=enoe,dc=net
ENTPersonFonctions: 1535$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE
ENTPersonFonctions: 1441$ENS$ENSEIGNEMENT$L1700$EDUCATION MUSICALE
etc etc
ENTAuxEnsCategoDiscipline: 17$EDUCATION MUSICALE
ENTAuxEnsMatiereEnseignEtab: cn=s1535,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE
ENTAuxEnsMatiereEnseignEtab: cn=s1535,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE
ENTAuxEnsClasses: cn=s1535,ou=structures,dc=enoe,dc=net$3A$3B$3C$4A$4B$4C$5A$5
 B$5C$6A$6B$6C
ENTAuxEnsClasses: cn=s1535,ou=structures,dc=enoe,dc=net$42$46$67$68

C'est assez déroutant, on dirait (ce n'est qu'une supposition)
- que aaf-complet met l'établissement de rattachement (1535) à la place du second etablissement (1441)
- que aaf-complet-maj fait exactement l'inverse

D'autre part, je ne comprend pas comment on peut avoir ces deux valeurs identiques dans l'annuaire actif, ça devrait soulever une erreur ?!:
ENTAuxEnsMatiereEnseignEtab: cn=s1535,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE
ENTAuxEnsMatiereEnseignEtab: cn=s1535,ou=structures,dc=enoe,dc=net$EDUCATION MUSICALE

Voilà, merci encore pour le travail déjà effectué.. et pour celui arrive en cet instant !

Cordialement

Solutions à mettre en œuvre

  • implémenter les évolutions sur EOLE >= 2.6.2
  • reproduire étudier et corriger le problème
  • tester la non régression dans le test Jenkins test-thot-aaf-complet-1901

Critères d'acceptation

le test Jenkins test-thot-aaf-complet-1901 est passant
le test Jenkins test-thot-aaf-delta-1511 est passant


Sous-tâches

Tâche #28979: Vérifier et résoudre les problèmes de rattachement des professeurs à plusieurs établissementsFerméBenjamin Bohard

Tâche #29242: Modifier les jeux de tests pour incorporer le cas problématiqueFerméBenjamin Bohard


Demandes liées

Lié à Distribution EOLE - Tâche #29278: Validation du scénario : Les établissements de rattachement doivent être corrects dans l'annuaire Thot Fermé 04/11/2019
Copié depuis Thot - Scénario #28951: Thot et import AAF au format ENT2VA: erreurs restantes Terminé (Sprint) 23/09/2019 11/10/2019

Révisions associées

Révision 4e69e9c5 (diff)
Ajouté par Benjamin Bohard il y a plus de 4 ans

Use variable from right scope.

Ref #29088

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Copié depuis Scénario #28951: Thot et import AAF au format ENT2VA: erreurs restantes ajouté

#2 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Sujet changé de Thot et import AAF au format ENT2VA: erreurs restantes (suite) à Les établissements de rattachement doivent être corrects dans l'annuaire Thot
  • Description mis à jour (diff)
  • Echéance 31/10/2019 supprimé
  • Assigné à Joël Cuissinat supprimé
  • Version cible sprint 2019 42-44 Equipe MENSR supprimé
  • Début 18/07/2019 supprimé
  • Release changé de EOLE 2.7.1.2 à Carnet de produit (Cadoles)

#3 Mis à jour par Gilles Grandgérard il y a plus de 4 ans

  • Echéance mis à 22/11/2019
  • Version cible mis à Prestation Cadoles 45-47
  • Début mis à 28/10/2019

#4 Mis à jour par Matthieu Lamalle il y a plus de 4 ans

La base mysql étant correcte, mais le ldif apportant une différences, il faut considérer que la base de donnée à raison, et reporter les mêmes valeurs dans le ldif.
Lors de la création du ldif, il ne faut traiter que les utilisateurs rattachés à l'établissement courant, et reporter les valeurs de la base dans le ldif.

Nous ne sommes pas sur de pouvoir construire les XML pour reproduire le problème.
Il nous faut les XML de tests afin de pouvoir reproduire le problème, l'analyser, et le corriger si possible.

#5 Mis à jour par Joël Cuissinat il y a plus de 4 ans

Dans le jeu de données eole-ci-tests "dataset/aaf-mini/complet", il existe deux établissements (2515 et 2516), il est donc possible d'ajouter un enseignant sur le modèle de l'extrait XML fourni dans la demande.

Si nécessaire, nous pourrons faire la modification dans le dépôt à partir de mardi prochain (12/11).

#6 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Lié à Tâche #29278: Validation du scénario : Les établissements de rattachement doivent être corrects dans l'annuaire Thot ajouté

#7 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Assigné à mis à Benjamin Bohard

#8 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Description mis à jour (diff)

#9 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Statut changé de Nouveau à Terminé (Sprint)

#10 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Release changé de Carnet de produit (Cadoles) à EOLE 2.7.1.2

Formats disponibles : Atom PDF