technique:adminserv:wekan_boards

Wekan : script de suppression des boards non-récemment modifiés

Il a été décider que les boards datant de plus de X jours/mois/années seront supprimés définitivement pour ne pas engorger la base de données.

Deux manières de procéder sont possibles pour effectuer cette suppression.

  • La première consiste à récupérer la liste des boards publics et de boucler sur chacun d’eux afin de comparer leur date de dernière modification avec la deadline choisie par Picasoft. C’est une opération facile et rapide mais qui ne concerne pas tous les boards, les privés ne sont pas traités.
  • La deuxième permet quant à elle de manipuler tous les boards. Le principe est de parcourir chaque board de chaque utilisateur. Ces opérations ne sont pas optimales au niveau algorithmiques (au sens du nombre de requêtes envoyées à l’API), mais elle permet de répondre correctement au besoin.

C’est cette deuxième solution qui a été adoptée.

Algorithme utilisé :

  • Connexion à l’API et récupération du token
  • Récupération de la liste entière des utilisateurs
  • Boucler sur chaque utilisateur
  • Pour chaque utilisateur, récupérer la liste des boards auquel il fait partie
  • Boucler sur chaque board de l’utilisateur en récupérant ses informations
  • Si sa date de dernière modification (ou, si jamais modifié, sa date de création) est plus ancienne que la deadline fixée au début du script, alors le board est supprimé
  • technique/adminserv/wekan_boards.1604871544.txt.gz
  • de qduchemi