Possibilité de supprimer des tags avec moins de N sujets

Je viens de découvrir cette merveilleuse fonctionnalité « supprimer les balises inutilisées », et cela m’a donné envie de plus !

Pour poursuivre la discussion issue de Un guide complet des balises Discourse :

Nous avons de nombreuses balises avec un « nombre : 1 », car la création de balises n’est absolument pas verrouillée et certains utilisateurs les traitent simplement comme des hashtags. Je reste convaincu qu’il faut maintenir des permissions ouvertes pour les balises, mais il serait agréable de pouvoir désherber le jardin plus facilement de temps en temps.

J’aimerais beaucoup trouver des moyens d’inciter les gens à considérer les balises comme un moyen de « regrouper » des sujets connexes et à ne créer des balises que lorsqu’ils pensent (ou savent !) qu’elles seront utilisées plus d’une fois.

Mais en attendant, je pense que l’extension de la fonctionnalité existante pour permettre la « suppression des balises utilisées par moins de __ sujets » pourrait être une amélioration intéressante que nous utiliserions.

4 « J'aime »

Encore plus élaboré, je pourrais imaginer un paramètre qui balaye automatiquement les étiquettes et les supprime selon les critères suivants :

count < N && topic_last_updated > X mois

En gros, vous donnez aux étiquettes une chance de s’implanter. Leur durée de vie est renouvelée si de nouveaux sujets sont publiés avant un certain délai. Mais si aucun nouveau sujet n’a été publié depuis plus de, disons, 3 mois, et que l’étiquette a moins de 5 sujets, alors supprimez-la simplement.

6 « J'aime »

Je pense aussi que ce sont de bonnes suggestions pour améliorer la fonction de nettoyage des balises @neil

2 « J'aime »

Je n’ai jamais vu ce bouton non plus, et je suis d’accord pour dire qu’une fonction de nettoyage automatique serait utile. Elle devrait également veiller à ne pas supprimer les balises réservées uniquement au personnel. Il existe probablement d’autres cas où certaines balises ne devraient pas être supprimées automatiquement.

2 « J'aime »

En attendant, voici une requête #plugin:data-explorer qui peut aider à identifier des balises candidates pour suppression :

-- [params]
-- int :months_since_used = 24
-- int :max_topic_count = 50

with
t as (
  select 
    current_date::timestamp - (:months_since_used * (INTERVAL '1 months')) as cutoff_date
),
topic_tag_dates as (
  select tags.id, tags.name, tags.topic_count, topics.last_posted_at as last_used
  from topic_tags
  left join tags
  on topic_tags.tag_id = tags.id
  left join topics
  on topic_tags.topic_id = topics.id
),
max_last_used as(
  select id, max(last_used) mx from topic_tag_dates
  group by id
),
tag_last_used as (
  select topic_tag_dates.id, name, topic_count, last_used from topic_tag_dates
  left join max_last_used
  on topic_tag_dates.id = max_last_used.id
  where max_last_used.mx = topic_tag_dates.last_used
)
select id,name,topic_count,last_used from tag_last_used, t
  where tag_last_used.last_used < t.cutoff_date
  and topic_count < :max_topic_count
  order by topic_count desc
5 « J'aime »

Je m’excuse pour le rappel,

Oui, cette fonctionnalité est vivement nécessaire, car certains membres de mon forum ont jugé amusant de plaisanter en postant des tags, disons, « intéressants » qui ne conviennent pas à tous les âges. C’est pourquoi je souhaiterais voir une telle fonctionnalité.

Merci.

1 « J'aime »

Alors comment l’exécuter pour supprimer si sujets = 1 ?

Parce que le nettoyeur par défaut ne supprime que les balises sans sujets. Nous formons notre personnel et j’ai limité la création de nouvelles.