Temos muitas tags com “contagem: 1”, pois a criação de tags não é de forma alguma restrita e algumas pessoas as tratam apenas como hashtags. Ainda acredito em manter as permissões para tags abertas, mas seria bom poder podar o jardim com mais facilidade periodicamente.
Adoraria encontrar maneiras de incentivar as pessoas a considerar as tags como um meio de “agrupar” tópicos relacionados e a criar tags apenas quando acharem (ou souberem!) que serão usadas mais de uma vez.
Mas, enquanto isso, acho que estender a funcionalidade existente para permitir “excluir tags usadas por menos de __ tópicos” poderia ser uma melhoria interessante que usaríamos.
Ainda mais sofisticado, eu poderia imaginar uma configuração que varresse automaticamente as tags e as excluísse com base nos seguintes critérios:
count < N && topic_last_updated > X meses atrás
Basicamente, você permite que as tags tenham uma chance de se estabelecer. Sua vida é renovada se novos tópicos forem publicados antes de algum tempo limite. Mas se nenhum novo tópico foi publicado há mais de, digamos, 3 meses, e a tag tiver menos de 5 tópicos, então basta eliminá-la.
Eu também nunca vi esse botão, e concordo que um recurso de limpeza automática seria útil. Ele também deve ter cuidado para não excluir tags que são exclusivas da equipe. Provavelmente existem outros casos em que algumas tags não devem ser excluídas automaticamente.
Enquanto isso, aqui está uma consulta #plugin:data-explorer que pode ajudar as pessoas a identificar tags candidatas para exclusão:
-- [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
Sim, isso é muito necessário, pois algumas pessoas no meu fórum acharam engraçado brincar e postar, digamos, tags ‘interessantes’ não apropriadas para todas as idades. Por isso, gostaria de ver esse tipo de recurso.