Journal des modifications > Différencier modification unitaire / modification en masse

Version

  • Version minimale souhaitée : > 5.3.x

Description

----description of the new feature request----

Contexte : Actuellement, le journal des modifications enregistre l’ensemble des modifications apportées aux objets métiers de manière séquentielle, en y associant l’identifiant de l’utilisateur technique ou applicatif à l’origine de l’action.

Besoin : Dans le cadre de l’audit des données et du suivi de l’activité, il devient crucial de pouvoir identifier le mode d’exécution d’une modification utilisateur. Nous souhaitons pouvoir dissocier visuellement et fonctionnellement, au sein du journal des modifications :

  1. Les modifications unitaires effectuées directement par un utilisateur depuis l’interface (IHM, formulaire).
  2. Les modifications unitaires réalisées via des actions de masse.

Évolution demandée :

  • Ajout d’un tag de contexte : Introduire un champ ou un attribut de contexte (exemple : type de modification ou contexte d’exécution) dans la table de log des modifications.
  • Filtrage dans l’IHM : Permettre de filtrer l’historique d’un objet selon ce critère (unitaire vs masse) pour faciliter les analyses de régression ou les audits de données.

Bonjour,

Bonne idée, ça permettrait aussi de grouper visuellement les mises à jour d’un même “lot” de traitement.

Une action de masse est un abus de langage, ce n’est pas un ‘update’ en masse, c’est un groupement de mises à jour unitaires via la couche logique des objets (usage des hooks…).

On parle de tache cron ? d’import des fichiers ? de mise à jour en masse d’un objet via la UI ?

A court terme sans évolution, le plus simple est de lancer les traitements de masse avec un utilisateur/login dédié au suivi demandé. Il sera alors très simple de filtrer sur chaque login et sur la date de traitement.

A moyen terme, l’évolution consistera à ajouter un champ “origine” :
UI / API / Import, voir le nom du batch lui-même.

Bonjour François,
Notre besoin concerne la modification en masse d’un objet depuis l’interface utilisateur. Est-ce que tu peux ajouter ce point à la roadmap ?

Ok dans ce cas c’est le front qui devra donner une information de “batch” ou de “lot” en français.

Cette notion devra aussi servir au lancement de tous les traitement en masse, comme un import CSV ou XML.

Evolution simple donc surement backportable en V6.3.

L’évolution est finalement très impactante, comme pour les imports en masse qui disposent d’un colonne dédiée :

  • il faut ajouter une colonne rlg_origin sur l’objet RedoLog
  • et revoir de toutes les interfaces back pour leur passer une origine contextuelle (UI, REST…)

Ce donc réalisé dans le cadre de la V7 uniquement.