Excluir em massa permanentemente tópicos antigos

Our forum is near by reaching first year of usage.
Some of our category / topic is used for daily work,
We have lot of topics which is irrelevant in perspective of holding for long time.
Is there any feature or plan to implement some kind of deleting or archiving old topics.
Is there way to BULK delete topics using some kind of SQL queries.
Cloud I do something like in XX category delete all topics (post) older then date 1.1.2015.

Why I’ll love to delete posts is because I do not want to lose performances of my instance.
This is where we get in 10 months

Assumption is that 40% of this conversation is now irrelevant and longer required for holding.
If this going to speed up our discource why not delete old posts

1 curtida

I think it is good to consider for longer term – if the content is truly of no value, it should be archived out somehow – but based on those numbers you should be fine for a while.

3 curtidas

Just to share my requirements, I’ll be setting up discourse from smf. We have 10 years worth of SMF data, so I’d like to purge all except for the last 5 years worth. In addition, I’d like to be able to automatically delete posts older then 5 users once Discourse is operational.

A equipe do Discourse pode fornecer a solução para exclusão permanente em massa?

As pessoas têm razões válidas para excluir tópicos permanentemente em massa, e ter que escrever código não é apenas impossível para não programadores, mas também muito mais propenso a erros do que uma solução oficial.

Renomeei o título deste tópico de solicitação de funcionalidade para que fique claro que se trata de exclusão em massa permanente. Podemos discutir a funcionalidade aqui e detalhar como ela pode parecer na interface do usuário, mas não crie muitas expectativas de que ela será implementada em um futuro próximo.

Excluir publicações permanentemente acarreta muitos riscos, e excluir permanentemente em massa acarreta muitos riscos! Você tem certeza de que realmente quer fazer isso? Seu banco de dados é realmente tão grande que você não consegue viver com os tópicos excluídos, como todo mundo? Ou existe algum outro motivo para você querer excluir permanentemente os tópicos? Você pode compartilhar seus motivos?

Existe Introducing permanently delete post functionality, mas isso funciona apenas para um tópico por vez.

Até onde sei, atualmente não é possível ver uma lista de publicações excluídas e, em seguida, excluí-las permanentemente em massa, digamos, com base em critérios como idade. Você poderia escrever um script para fazer isso a partir da linha de comando, ou se não se sentir confortável, peça no Marketplace para alguém fazer isso por você.

Se tal funcionalidade existisse na interface, você poderia descrever com mais detalhes como acha que ela deveria funcionar?

Talvez a melhor abordagem fosse algo como isto:

  • adicionar filtro à pesquisa avançada para mostrar tópicos que foram excluídos. Dessa forma, você poderia combiná-lo com outros filtros (intervalo de datas, tag, categoria, autor, etc.) para obter a lista de tópicos excluídos que você deseja excluir permanentemente.
  • quando can_permanently_delete estiver habilitado, também fornecer a opção “Excluir permanentemente” nas ações em massa.

(Por favor, não publique a mesma solicitação em vários tópicos antigos - excluí o outro)

Será menos arriscado com um recurso oficial do que as pessoas tentando executar comandos personalizados.

O GitHub tem exclusão permanente de repositórios. Eu fiquei bem. Eles fazem você digitar o nome da organização e do repositório antes de excluir, e sua senha, para verificar se você realmente quer fazer isso.

Não vejo por que isso tem que ser bloqueado. É apenas irritante.

Sim. 100%. Não quero lixo no meu banco de dados, especialmente lixo sem sentido de bots tentando aprovar posts e desperdiçando meu tempo. Por que eu iria querer manter essas coisas?

Por favor, nos dê uma maneira oficial e testada de fazer isso. Ou pelo menos uma opção de tempo para excluir posts excluídos após XX dias.

Você poderia adicionar verificação tripla no fluxo de UX para reduzir o risco. Por exemplo, semelhante à mensagem “excluir 124 usuários” ao excluir usuários em massa, mas também solicitar reautenticação, ou algo assim, para torná-lo ainda menos arriscado. Talvez exibir uma mensagem de aviso chamativa em vermelho que precise ser aceita. Você pode eliminar o risco fazendo as pessoas pensarem três vezes ao excluir posts em massa.

A pior solução possível para esse tipo de coisa é nenhuma solução, da minha perspectiva de usuário final. Eu fico absolutamente irritado pensando nisso, que não consigo fazer algo que sinto que deveria ser fácil de fazer na interface do usuário (com verificação tripla ou quíntupla, tudo bem!).

Metade do armazenamento ocupado no meu banco de dados é conteúdo de spam de bots sem sentido. Eu realmente não quero pagar por mais armazenamento, quero excluir coisas facilmente e ter o dobro da vida útil.

1 curtida

Eu não discordo que este seria um bom recurso, e é por isso que estou pedindo mais detalhes e coletando ideias sobre como ele poderia parecer.

Não será uma prioridade para nós implementar como um recurso oficial até que mais de nossos próprios clientes o solicitem. Ter dados extras no banco de dados não é necessariamente um problema, especialmente em nossa hospedagem, onde o armazenamento raramente é um problema.

Um bom primeiro passo seria analisar o código de Bianca em Introducing permanently delete post functionality e ver se uma tarefa rake de exclusão em massa poderia ser criada, que seja fácil e segura de executar. Temos muitas tarefas rake que são perfeitamente seguras, e também muitos recursos que eventualmente chegam à interface do usuário que começam como tarefas rake.

3 curtidas

Também gostaria de solicitar suporte oficial para isso!

Tenho pesquisado sobre isso - pois importei um monte de tópicos em lote, mas a formatação estava errada - então quero excluí-los em lote e tentar novamente. Posso excluir logicamente em massa da interface do usuário, mas eles ainda estão no banco de dados.

Considero incrível que uma plataforma com tantos recursos ótimos não tenha nenhum controle real de retenção de dados. Isso pode representar um risco de conformidade regulatória para algumas empresas.

No mínimo, você deveria pelo menos ser capaz de especificar um período de retenção (em anos?) para itens excluídos logicamente - pois isso ajudaria na conformidade e no gerenciamento de capacidade.

2 curtidas