Voir le Journal des modifications d'objets liés au niveau du formulaire parent

Bonjour,

Je suis sur la version 6.1.22 et j’ai lu ce post qui indique que l’historisation des objets liés dans un objet est possible sur la version 6 :
Journal des modifications pour plusieurs objets liés entre eux - Support - Simplicité Software Community Forum.

Est-ce que vous pourriez, s’il vous plaît, partager le paramétrage à effectuer pour en bénéficier ?

Merci d’avance.

Bonjour,

Malheureusement cela n’a pas été implémenté, car le sujet est trop complexe à modéliser dans un cadre général.

Une chose qui pourrait être faite rapidement/simplement serait que le panel “Change log” d’un objet père (ex : un Dossier) affiche également les “Change log” des objets en relation 0,n via un lien de composition (ex : les Documents du dossier).

Il suffirait donc que le lien soit de type “Delete cascade” pour que Simplicité rassemble les redolog à l’écran (par ex : on voit l’ajout d’un document dans le redolog du dossier).

Est ce que ce genre de chose répondrait à votre besoin ?

Oui, c’est bien le besoin.

Bonjour,

On a revu la search-spec du panel “Change log” pour ramener tous les redolog de l’objet parent ainsi que ceux de ses enfants :

  • Cela scanne uniquement les objets en relation de composition (en delete cascade)
  • qui sont habilités en droit de lecture pour l’utilisateur
  • et tel que link.mergeRedologs() est vrai
  • l’algo est récursif pour chercher les petits-enfants éventuels, c’est donc un traitement assez lourd si le modèle est très riche, il conviendra de ne pas forcement tout remonter sur le parent.

Cela ne scanne donc pas les liens d’agregation ou restricted, dans ce cas les objets sont trop différents sémantiquement pour mélanger leurs redolog.

Par exemple imaginons une relation N,N entre un Dossier et des Acteurs, une mise à jour d’un acteur ne sera pas visible sur le dossier, par contre l’ajout/retrait d’un Acteur sera visible depuis le Dossier (insert ou delete de la relation N,N).

On verra pour paramétrer cette option sur un Link en 6.3, car la 6.2 est releasée et on ne va plus modifier le méta-modèle physique. En attendant, vous pourrez changer la définition par code pour ne pas remonter les redologs d’un lien au niveau du parent :

getLink("childName","foreignKey").setMergeRedologs(false);

Ce sera livré en 6.2.2 (et backporté en 6.1.23), on se reserve le droit de changer ce comportement suivants les performances constatées.

@kjanate @Emmanuelle

1 Like

Suite à tests de performance, il ne sera pas possible d’activer cette option par défaut car Simplicité utilise de trop nombreux cascade-delete (le module notamment).

Pour remonter les Redologs d’un objet sur son parent, il faudra explicitement l’indiquer et ce quelle que soit la nature de la relation (delete cascade, fk to null, restricted…).

en 6.2.2 par code, dans le postLoad de l’objet père il suffira d’activer l’option sur la relation vers l’objet fils :

getLink("childObjName", "foreignKeyName").setMergeRedologs(true);

En 6.3+, ce sera directement paramétrable sur la relation :

Okay! Merci beaucoup pour votre retour :slight_smile:

/release-notes/v6-3#child-objects-change-logs