processus d'import #46

Closed
opened 2023-12-10 13:54:42 +01:00 by jmtrivial · 1 comment
Owner

Pipeline d'import

Exemple:

Étapes

  1. import de chaque événement, qui contient
    • les infos d'un événement
    • une url unique (par exemple url de l'ics + uid)
    • une date de dernière modification si c'est disponible
  2. on regarde si un événement existe avec la même url unique
    • si oui, on regarde si la date de dernière modification de l'import est plus récente que la date de l'événement existant.
      • si oui, on regarde si la date de dernière modification en base est plus récente que la date de dernier import
        • si oui, on créé un nouvel événement, en indiquant que c'est un possible doublon du précédent
        • si non, on met à jour l'événement
      • si non, on n'a rien à faire
  3. si pas d'url unique identique, on utilise une comparaison floue (même date, même lieu approximatif, date approximative, etc)
    • si oui, on créé un nouvel événement, en indiquant que c'est un possible doublon du déjà présent
    • si non, on créé le nouvel événement

Création de l'événement

Au moment de l'import, on utilise un outil qui permet de deviner la catégorie (et les tags ?) grâce à des règles simples écrites par les utilisateurs admin. On peut aussi regarder les informations du possible doublon s'il est déjà en base.

attributs nécessaires à l'import

Tous les événements ont notamment :

  • un champ date de dernier import
  • un champ qui est une liste d'événement possiblement doublon. On l'affiche aux visiteurs (cet événement est peut-être un doublon de ...), et si l'utilisateur est connecté, on propose une étape de fusion
# Pipeline d'import Exemple: * Le calendrier des Augustes https://calendar.google.com/calendar/ical/programmation.lesaugustes%40gmail.com/public/basic.ics ## Étapes 1. import de chaque événement, qui contient * les infos d'un événement * une url unique (par exemple url de l'ics + uid) * une date de dernière modification si c'est disponible 2. on regarde si un événement existe avec la même url unique * si oui, on regarde si la date de dernière modification de l'import est plus récente que la date de l'événement existant. * si oui, on regarde si la date de dernière modification en base est plus récente que la date de dernier import * si oui, on créé un nouvel événement, en indiquant que c'est un possible doublon du précédent * si non, on met à jour l'événement * si non, on n'a rien à faire 3. si pas d'url unique identique, on utilise une comparaison floue (même date, même lieu approximatif, date approximative, etc) * si oui, on créé un nouvel événement, en indiquant que c'est un possible doublon du déjà présent * si non, on créé le nouvel événement ## Création de l'événement Au moment de l'import, on utilise un outil qui permet de deviner la catégorie (et les tags ?) grâce à des règles simples écrites par les utilisateurs admin. On peut aussi regarder les informations du possible doublon s'il est déjà en base. ## attributs nécessaires à l'import Tous les événements ont notamment : * un champ date de dernier import * un champ qui est une liste d'événement possiblement doublon. On l'affiche aux visiteurs (cet événement est peut-être un doublon de ...), et si l'utilisateur est connecté, on propose une étape de fusion
jmtrivial added the
importation
label 2023-12-10 13:54:42 +01:00
Author
Owner

Début d'implémentation :
bec3fef0bf

Début d'implémentation : https://forge.chapril.org/jmtrivial/agenda_culturel/commit/bec3fef0bf04a98bc6f81b98365cde3bae9f89c3
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: jmtrivial/agenda_culturel#46
No description provided.