Uma maneira de monitorar arquivos enviados pelos usuários 🖼️

Para fins de moderação, seria útil poder ver e navegar pelos arquivos enviados por usuários, especialmente porque os usuários podem enviar arquivos em mensagens pessoais.

Atualmente, as únicas maneiras de ver esses arquivos, até onde sei, são:

  • Navegando pela pasta /uploads/

  • Usando a pesquisa com os filtros with:images ou filetypes:ext1,ext2,ext3

  • Usando o explorador de dados

Essas não são maneiras muito práticas de monitorar arquivos enviados no fórum.

Eu falei sobre essa ideia de recurso em outro lugar, mas é melhor que ela tenha um tópico dedicado.

Mesmo sem ir tão longe quanto uma biblioteca de mídia, poder monitorar esses arquivos seria ótimo.

Por exemplo, uma nova rota de administrador que exibe todos os arquivos enviados recentemente, com alguns filtros:

  • Datas

  • Usuários

  • Tipos de arquivo

13 curtidas

Era isto que eu tinha em mente:

O plugin adiciona uma rota admin/uploads exclusiva para administradores para navegar e filtrar uploads de usuários em todo o site.

Funcionalidades:

  • Listar todos os uploads com miniaturas
  • Rolagem infinita
  • Filtrar por nome de usuário e datas

:warning: É 99% gerado por IA e o código não foi realmente revisado. Não o instale se você não puder revisar o código você mesmo e decidir que é seguro de usar.
Eu não encorajo o desenvolvimento de plugins por IA por não desenvolvedores, e este plugin deve ser considerado apenas como uma prova de conceito.

Agora, se um desenvolvedor quiser ver o que é provavelmente um código terrível, ou usá-lo como algum tipo de inspiração para um projeto mais sério e robusto, por favor, sinta-se à vontade. :+1:

Repositório: https://github.com/Canapin/uploads-browser

7 curtidas

Eu votei nesta funcionalidade porque acho que, à medida que o volume de usuários de um fórum cresce, os uploads de mídia que eventualmente exigem mais volume de armazenamento precisarão de atualizações de servidor, o que, por sua vez, aumentará o custo de execução do fórum. Eventualmente, um maior volume de usuários pode exigir mais RAM ou poder de CPU, mas suspeito que o volume de armazenamento será a primeira coisa a forçar uma atualização. Alguma forma de revisar facilmente o que está sendo carregado forneceria alguma garantia de que o armazenamento não está sendo desperdiçado. Uma imagem requer tanto armazenamento quanto um volume muito grande de texto.

A propriedade dos dados de um fórum é um forte incentivo para executar uma instância do Discourse em vez de um grupo de mídia social onde os dados são de propriedade, armazenados e compartilhados com uma corporação global. Parte do paradoxo, no entanto, é que se um usuário carrega uma imagem ou vídeo e o administrador do fórum alguns anos depois exclui a imagem porque está ficando sem espaço de armazenamento, o usuário pode ficar chateado. Uma vez que uma imagem é carregada em um fórum Discourse, ela se torna parte do legado do fórum.

Este tópico recente sobre otimização de arquivos foi interessante para mim porque eu tinha certeza de que o Discourse reduzia/comprimia arquivos de imagem muito grandes, mas fiquei tranquilizado ao saber mais. O Discourse tem muitas boas ferramentas para restringir os limites de tamanho de arquivo de upload. Algum tipo de ferramenta para revisar, otimizar em lote e possivelmente excluir imagens seria uma ferramenta administrativa poderosa para o Discourse.

3 curtidas

Sim, essa ideia também surge de tempos em tempos e se encaixa na ideia mais geral proposta neste tópico.

4 curtidas

Adicionei um recurso. Ao clicar em uma miniatura, ele mostra as postagens que contêm os uploads e diferencia postagens normais de mensagens privadas.

4 curtidas

Isto parece super útil! :smiley:
Não estou qualificado para verificar o código, mas espero que alguém o assuma.

1 curtida

Ótimo!

Um pequeno problema, se o arquivo for um .png, ele abre em tela cheia em vez de fornecer informações sobre a localização do arquivo.

1 curtida

Sim, não é uma questão de extensão, ele fazia isso para arquivos não associados a nenhuma postagem; ou seja, arquivos usados em postagens excluídas, ou carregados por outros meios (como avatares, ou arquivos criados pelo Discourse em geral).

Eu corrigi (agora diz que não há postagens associadas) e adicionei o autor de cada upload também na biblioteca.

chrome_ASuIHjCMXz

Eu não acho que adicionarei mais recursos a este plugin, adicionei testes em ruby e js para ajudar, mas é isso.

Se mais recursos forem necessários, eles devem ser feitos em um plugin real feito por um desenvolvedor de verdade. :smile:

5 curtidas