Способ мониторинга загружаемых пользователями файлов 🖼️

For moderation purposes, it would be useful to be able to see and browse files uploaded by users, especially since users can upload files in personal messages.

Currently, the only ways to see these files, as far as I know, are:

  • Browsing the /uploads/ folder

  • Using the search with the with:images or filetypes:ext1,ext2,ext3 filters

  • Using data explorer

Those are not very practical ways to monitor files uploaded on the forum.

I talked about this feature idea somewhere else but it’s better if it has its dedicated topic.

Even without going as far as a media library, being able to monitor these files would be great.

For example, a new admin route that displays all recently uploaded files, with a few filters:

  • Dates

  • Users

  • File types

16 лайков

Это лишь доказательство концепции:

Плагин добавляет маршрут admin/uploads, доступный только администраторам, для просмотра и фильтрации загрузок пользователей по всему сайту.

Функционал:

  • Список всех загрузок с миниатюрами
  • Бесконечная прокрутка
  • Фильтрация по имени пользователя и датам

:warning: Код на 99% сгенерирован ИИ и не был действительно проверен. Не устанавливайте его, если не можете самостоятельно изучить код и убедиться в его безопасности.
Я не поддерживаю разработку плагинов с помощью ИИ людьми, не являющимися разработчиками, и этот плагин следует рассматривать исключительно как доказательство концепции.

Однако, если разработчик захочет взглянуть на этот, вероятно, ужасный код или использовать его как источник вдохновения для более серьёзного и надёжного проекта, пожалуйста, делайте это. :+1:

Репозиторий: https://github.com/Canapin/discourse-uploads-library


Редакция: теперь существует полноценный плагин, использующий некоторые актуальные функции (:framed_picture: Галерея тем).
Если цель полностью отличается от темы #feature, этот плагин также показывает загрузки пользователей с фильтрами и ограничениями в удобном для просмотра интерфейсе.

10 лайков

Я проголосовал за эту функцию, потому что считаю, что по мере роста числа пользователей форума загрузка медиафайлов, требующая всё большего объёма хранилища, в конечном итоге приведёт к необходимости обновления серверов, что, в свою очередь, увеличит затраты на содержание форума. В конце концов, большее количество пользователей может потребовать больше оперативной памяти или вычислительной мощности, но я подозреваю, что именно объём хранилища станет первым фактором, вынуждающим к обновлению. Возможность легко просматривать загружаемые файлы обеспечила бы уверенность в том, что хранилище не расходуется впустую. Одно изображение занимает столько же места, сколько очень большой объём текста.

Владение данными форума является сильным стимулом для запуска экземпляра Discourse вместо группы в социальной сети, где данные принадлежат, хранятся и передаются глобальной корпорации. Однако часть парадокса заключается в том, что если пользователь загрузит изображение или видео, а администратор форума через несколько лет удалит его из-за нехватки места, пользователь может быть недоволен. Как только изображение загружается на форум Discourse, оно становится частью наследия форума.

Эта недавняя тема об оптимизации файлов была для меня интересной, так как я был достаточно уверен, что Discourse уменьшает разрешение и сжимает очень большие изображения, но мне стало спокойнее, когда я узнал больше. В Discourse есть много хороших инструментов для ограничения максимального размера загружаемых файлов. Какой-то инструмент для просмотра, пакетной оптимизации и возможного удаления изображений стал бы мощным административным инструментом для Discourse.

4 лайка

Да, эта идея тоже время от времени возникает и вписывается в более общую идею, предложенную в этой теме.

5 лайков

Я добавил новую функцию. При клике на миниатюру отображаются посты, содержащие эти загрузки, и происходит разделение обычных постов и личных сообщений.

chrome_thl0b7CCfm.mxf-h264|видео

6 лайков

Это выглядит супер полезно! :smiley:
Я не квалифицирован для проверки кода, но надеюсь, что кто-нибудь возьмётся за это.

1 лайк

Отлично!

Одна небольшая проблема: если файл имеет расширение .png, он открывается на весь экран вместо отображения информации о местоположении файла.

1 лайк

Да, дело не в расширении — это происходило с файлами, не связанными ни с одним постом. То есть с файлами, использованными в удалённых постах, или загруженными другими способами (например, аватары или файлы, созданные самим Discourse).

Я исправил это (теперь сообщается, что связанных постов нет) и добавил автора каждой загрузки в библиотеку.

chrome_ASuIHjCMXz

Думаю, я не буду добавлять новые функции в этот плагин. Я добавил тесты на Ruby и JS для помощи, но на этом всё.

Если потребуются дополнительные функции, их следует реализовать в настоящем плагине, созданном настоящим разработчиком. :smile:

7 лайков