Projet

Général

Profil

Tâche #13520

Distribution EOLE - Scénario #13500: Assistance aux utilisateurs (42-44)

Anomalie dans les niveau de classes lors d'imports AAF

Ajouté par Jean-Marc MELET il y a plus de 8 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
09/10/2015
Echéance:
% réalisé:

100%

Temps estimé:
4.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

Bonjour,

Nous avons constaté des la rentrée des incohérences faisant suite à l'importation des comptes depuis l'annuaire AAF sur plusieurs Scribes que nous n'avions jamais rencontré auparavant.
En pratique, certains niveaux sont créés qui n'ont pas lieu d'être et des élèves y sont aléatoirement déplacés (membres du groupe associé à ce niveau).
Par exemple sur un établissement des groupes de niveaux "4g" et "5g" se sont créés suite à l'import annuel du début d'année et contiennent des élèves alors que tous devraient être dans les groupes de niveaux standard "4eme" et "5eme".
Dans un autre, certaines classes générales sont considérées à tord comme segpa et inversement, ce qui crée un désordre dans la gestion des groupes d'appartenance.
Seul point commun: ceci semble toucher exclusivement les niveaux 4ème et 5ème
Apres avoir vérifié scrupuleusement le contenu des fichiers AAF des extractions nous n'avons relevé aucune anomalie, et surtout aucun critère qui pourrait différencier un éleve passé par erreur en "4g" par exemple d'un autre resté en "4eme". Dans tous les cas, la valeur de l'attribut "ENTEleveLibelleMEF" est bien "4EME" et "ENTEleveNivFormation" et "ENTEleveFiliere" sont "4EME GENERALE (N.C 4E AES)".
Nous avons pensé que ce problème pouvait apparaitre lorsque des descriptions longues sont entrées dans STSweb comme "4EME CLASSE BILANGUE" ou "4EME GENERALE (N.C 4E AES)" mais ce qui n'est pas logique c'est que certains elèves figurent dans le niveau "4g" et les autres dans "4eme" alors qu'ils ont exactement les mêmes attributs de classe dans l'AAF
J'ai aussi tenté de jeter un oeil à la moulinette /usr/share/pyshared/scribe/parsing/aaf.py mais ne suis pas parvenu à déterminer ce qui pourrait causer cette génération érronée.
Je joins une copie d'écran de l'EAD et le fichier AAF des élèves d'un cas rencontré

P.S: Je n'y crois pas trop mais pourrait-il s'agir d'effets de bord liés à l'évolution de la structure des extractions ENT2D survenue depuis le 1er septembre?

Liste groupes niveau.jpg Voir (205 ko) Jean-Marc MELET, 09/10/2015 18:11

niveaux-avec-fichier-fourni.png Voir (37,4 ko) Joël Cuissinat, 13/10/2015 15:18

fixniveaux.py Voir (415 octets) Joël Cuissinat, 26/10/2015 14:46

Historique

#1 Mis à jour par Luc Bourdot il y a plus de 8 ans

  • Version cible mis à sprint 2015 42-44 - Equipe PNE-SR
  • Tâche parente mis à #13500

#2 Mis à jour par Luc Bourdot il y a plus de 8 ans

  • Temps estimé mis à 4.00 h
  • Restant à faire (heures) mis à 4.0

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

  • Fichier 0840803S_Complet_20151009_Eleve_0000.xml supprimé

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

suppression du fichier de données nominatives après récupération ...

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

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat
    groupe_mapping = {'ENTEleveMEF':'mef_id',
                      'ENTEleveLibelleMEF':'mef',
                      "ENTEleveNivFormation":'niveau',
                      "ENTEleveFiliere":'filiere',
                      "ENTEleveClasses":'classe',
    }

        # niveau (MEF)
        niveau = groupe['filiere']
        my_niveau = storage.findOrCreate(Niveau, nom=niveau)
        # classe (format AAF : "numero$classe")
        classe = groupe['classe'].split('$')[1]
        my_classe = storage.findOrCreate(Classe, nom=classe,
                                         niveau=my_niveau)

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

J'ai pas encore le résultat de mon import, mais j'ai bien l'impression que le problème n'est pas reproductible avec le fichier fourni...
Le nom des niveau est créé à partir de l'attribut ENTEleveFiliere tronqué au premier espace, hors celui-ci est unique pour chacun des niveau dans le fichier fourni :

$ grep ENTEleveFiliere 0840803S_Complet_20151009_Eleve_0000.xml | sort | uniq
<attr name="ENTEleveFiliere"><value>3EME GENERALE</value></attr>
<attr name="ENTEleveFiliere"><value>4EME GENERALE (N.C 4E AES)</value></attr>
<attr name="ENTEleveFiliere"><value>5EME</value></attr>
<attr name="ENTEleveFiliere"><value>6EME</value></attr>
$

Donc soit c'était un autre fichier (issu d'un export qui a eu des problèmes) soit il y a eu d'autres imports (un petit Sconet pour brouiller les pistes ?).
Plus d'informations concernant ces événements sont disponibles dans les fichiers /var/log/eole/importation.log

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

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

  • Restant à faire (heures) changé de 4.0 à 2.0

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

  • % réalisé changé de 0 à 50
  • Restant à faire (heures) changé de 2.0 à 1.0

+ étude du fichier de log fourni par mail

#10 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de En cours à Résolu

#11 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de Résolu à En cours

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

  • Fichier fixniveaux.py Voir ajouté
  • Statut changé de En cours à Résolu
  • Restant à faire (heures) changé de 1.0 à 0.0
La façon la plus simple de remettre les choses en place est de :
  • corriger les associations classe/niveau erronées au niveau des groupes "Classe" (ie : modifier l'attribut "niveau")
  • relancer une importation AAF qui constatera (enfin) l'incohérence et affichera des lignes du type "changement de classe pour yyy.xxx de 3e3 vers 3e3"

Je joins un script qui corrige l'attribut niveau pour les classes de 5eme et de 3eme.

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

  • % réalisé changé de 50 à 100

#14 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF