Replies: 2 comments
-
Pour les contenus éditoriaux, on pourrait utiliser le mécanisme en place sur la contribution (champ de recherche dans notre table kali_articles ou legi_articles) afin d'avoir non pas un lien mais directement les infos de la DILA. Pour les modèles de courrier, le plus simple serait de basculer sur l'admin la gestion des modèles et d'utiliser le même mécanisme. |
Beta Was this translation helpful? Give feedback.
-
Nous avons mis en place l'alerting sur les nouvelles contributions, au niveau des contenus liés pour les alertes de type:
Il serait intéressant de faire la même avec les autres types de contenus L'approche est assez manuelle, ça serait intéressant de voir comment on pourrait l'automatiser pour les autres contenus. Si nous voulons le faire pour les modèles de courrier, il faudra faire les mêmes étapes que sur ces deux PRs : |
Beta Was this translation helpful? Give feedback.
-
Contexte
Le job d'alerting tourne tous les jours. Il compare les versions X-1 et X de différentes sources pour détecter des modifications et les afficher sur l'admin.
Une fonctionnalité permet d'afficher en plus les documents du CDTN liés à la modification. Cela ne concerne que les modifications sur les articles de legifrance (legi-data et kali-data). Par exemple, je détecte que l'article L1234 a été modifié. Je vais rechercher dans mes documents, ceux qui ont en référence cet article. Ainsi, je vais pouvoir indiquer la liste des documents impactés et que potentiellement je vais devoir modifier ou dépublier.
Fonctionnement
Le mécanisme est assez simple. On a la classe RelevantDocumentsExtractorImpl qui va pour une liste de changement Dila, retourné les documents ayant la référence dans notre base de données. Cela passe par les méthodes :
getContribReferences
,getTravailEmploiReferences
,getMailTemplateReferences
etgetEditorialContentReferences
.Particularité : on va comparer l'id et le cid pour détecter si c'est le même article. Il y a une particularité sur les articles, ils ont deux identifiants. Le cid et id Le cid est immuable alors que l'id peut évoluer avec les versions de l'article. Ici, on va comparer les deux pour détecter les documents même si il référence une vieille version de l'article.
Problème
Le problème est lié aux contenus modèles de courrier et contenus éditoriaux, soit les méthodes
getMailTemplateReferences
etgetEditorialContentReferences
.Ces deux contenus ne possèdent pas l'id et le cid. On n'a que l'URL. Du coup, pour chaque document, on va appeler l'API DILA pour récupérer les informations manquantes et pouvoir lier les documents.
Lorsque l'on fait l'appel, par moment, l'API DILA ne répond pas ce que l'on veut et on n'obtient une erreur. Cette dernière est silencieuse et n'empêche pas le job d'alerting de continuer mais cela fausse les données sur l'admin car on est incapable de lier les documents de type modèle de courrier ou contenu éditorial.
Solution
Ajouter ces informations directement dans le document à sa création/mise à jour afin de ne pas avoir à faire de call sur l'API DILA dans le job d'alerting et limiter ainsi au maximum les erreurs sur le job d'alerting.
Beta Was this translation helpful? Give feedback.
All reactions