Project

General

Profile

Scénario #13655

L'attribut LastUpdate d'un groupe doit être mis à jour si une modification concerne ce groupe

Added by Pascal RATTE over 4 years ago. Updated over 4 years ago.

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Start date:
11/27/2015
Due date:
02/12/2016
% Done:

100%

Estimated time:
(Total: 4.75 h)
Spent time:
(Total: 2.08 h)
Story points:
4.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
Auto

Description

Il est assez facile de gérer le nettoyage des utilisateurs du LDAP grâce à l'attribut LastUpdate qui s'actualise à chaque import pour l'ensemble des utilisateurs issus de l'AAF.
Malheureusement, cette mise à jour du Lastupdate n'est pas faite pour les groupes.
Il est donc beaucoup plus difficile de distinguer les groupes issus de l'AAF des groupes autres (créés dans l'EAD, issus des AAF des années précédentes donc obsolètes)

Nous avons fait des scripts de nettoyage mais parce qu'ils ne peuvent pas se baser sur le lastupdate, ils sont imparfaits.
A noter tout de même, dans un gros lycée nous avons purgé jusqu'à 1200 groupes "fantômes" (groupes sans membre, non issus de l'AAF de cette année)

Ma demande serait juste d'actualiser systématiquement (comme pour les utilisateurs) le LastUpdate de tous les groupes AAF pendant la procédure d'import

Mieux encore, si une info pouvait, en plus, nous indiquer si un groupe a été créé depuis l'EAD ou depuis l'AAF, serait encore plus précis. (ceci pour gérer les AAF N-1,...)


Subtasks

Tâche #14150: Détecter tous les cas où un groupe est modifié et s'assurer que son attribut est mis à jourFerméJoël Cuissinat

Documentations - Tâche #14940: L'attribut LastUpdate n'est pas documenté pour l'entrée "groupe" (Scribe)FerméJoël Cuissinat

History

#1 Updated by Joël Cuissinat over 4 years ago

  • Project changed from Scribe to scribe-backend

#2 Updated by Joël Cuissinat over 4 years ago

D'après le code, il est bien prévu que l'attribut "LastUpdate" soit mis à jour pour les groupes "retrouvés" lors d'un import (méthode _touch de la classe eolegroup.Group) :

machine:~/git/scribe-backend/scribe(2.3)$ grep -B1 touch importation/writer.py 
        log.log.debug("Niveau %s existant : OK" % prefix_grp_name)
        groupe._touch(prefix_grp_name)
--
        log.log.debug("Classe %s existante : OK" % prefix_grp_name)
        groupe._touch(prefix_grp_name)
--
        log.log.debug("Matiere %s existante : OK" % prefix_grp_name)
        groupe._touch(prefix_grp_name)
--
        log.log.debug("Option %s existante : OK" % prefix_grp_name)
        groupe._touch(prefix_grp_name)
--
        log.log.debug("Service %s existant : OK" % prefix_grp_name)
        groupe._touch(prefix_grp_name)

#3 Updated by Joël Cuissinat over 4 years ago

  • Tracker changed from Demande to Tâche
  • Estimated time set to 4.00 h
  • Parent task set to #13756
  • Remaining (hours) set to 4.0

L'étude de cette demande est en cours (échanges avec les collègues de Besançon).

#4 Updated by arnaud grossir over 4 years ago

A la demande de Pascal, je re-formule la demande (cf également mon mail à Pascal et Joël du 27/10/15)

Pour effectuer certains nettoyages ldap, nous aurions besoin (sur les objets de la branche "groupes" du ldap scribe) d'avoir l'attribut "LastUpdate" à jour. Suite à plusieurs tests, il s'avère que cet attribut n'est mis à jour que si l'import AAF présente des utilisateurs qui y sont reliés (lors de la lecture du fichier xml des eleves). Un groupe vide (de type "classe", ou "option" par exemple) ne voit pas son attribut LastUpdate mis à jour. Et pourtant il y a des cas pour lesquels un groupe vide peut remonter de l'AAF. Dans ce cas, on ne trouve pas de trace de lui dans le fichier xml des eleves, mais on le retrouve dans le fichier xml "EtabEducNat".

D'autre part, cet attribut LastUpdate devrait être modifié, selon toute logique, à chaque ajout/modification/suppression d'un de ses attribut via l'EAD, et pas seulement lors de l'import AAF. Ce deviendrait alors une trace fiable d'actions sur les groupes.
On pourrait aussi penser à ce type d'évolution pour la branche "utilisateurs" du ldap scribe.

Enfin, il serait pertinent de savoir quel a été le mode de création d'un groupe ou d'un utilisateur. Peut-on envisager de stocker ce type d'information dans un nouvel attribut ldap ? Cet attribut stockerait une info de type "aaf"/"ead"... et vide (ou inexistant) si ça a été créé d'une autre manière (script maison/ligne de commande)

Pour résumer, voici la demande:
- attribut LastUpdate des groupes mis à jour lors de l'AAF, même si le groupe est vide
- attribut LastUpdate des groupes et des utilisateurs mis à jour en cas de ajout/modification/suppression d'un de leurs attributs (et ce quel que soit le moyen: import AAF ou interface EAD)
- création d'un attribut pour les groupes et les utilisateurs, qui stockerait le mode de création (EAD/AAF)

Merci de l'attention que vous voudrez bien porter à cette demande reformulée

Cordialement

#5 Updated by Scrum Master over 4 years ago

  • Status changed from Nouveau to En cours

#6 Updated by Scrum Master over 4 years ago

  • Description updated (diff)
  • Assigned To set to Joël Cuissinat

#7 Updated by Joël Cuissinat over 4 years ago

  • Subject changed from évolution import AAF. (LastUpdate des groupes) to L'attribut LastUpdate d'un groupe doit être mis à jour si une modification concerne ce groupe
  • Parent task deleted (#13756)

#8 Updated by Joël Cuissinat over 4 years ago

  • Tracker changed from Tâche to Demande
  • Target version deleted (Sprint 2015 45-47 - Équipe MENESR)
  • Start date deleted (10/16/2015)

=> pour transformation en scénario.

Merci de saisir une nouvelle demande dédiée à l'ajout d'un attribut "source des données"...

#9 Updated by Joël Cuissinat over 4 years ago

  • Tracker changed from Demande to Proposition Scénario
  • Status changed from En cours to Nouveau
  • Assigned To deleted (Joël Cuissinat)

#10 Updated by Scrum Master over 4 years ago

  • Tracker changed from Proposition Scénario to Scénario
  • Start date deleted (11/27/2015)
  • Release set to EOLE 2.5.2
  • Story points set to 4.0

#11 Updated by Luc Bourdot over 4 years ago

  • Due date set to 01/22/2016
  • Target version set to sprint 2016 01-03 - Equipe MENESR
  • Start date set to 12/21/2015

#12 Updated by Scrum Master over 4 years ago

  • Due date deleted (01/22/2016)
  • Target version deleted (sprint 2016 01-03 - Equipe MENESR)
  • Start date deleted (12/21/2015)

#13 Updated by Luc Bourdot over 4 years ago

  • Due date set to 02/12/2016
  • Target version set to sprint 2016 04-06 - Equipe MENESR
  • Start date set to 01/25/2016

#14 Updated by Joël Cuissinat over 4 years ago

  • Assigned To set to force orange

#15 Updated by Joël Cuissinat over 4 years ago

  • Status changed from Nouveau to Terminé (Sprint)

Also available in: Atom PDF