사용자가 업로드한 파일을 모니터링하는 방법 🖼️

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개의 좋아요

이것은 단순한 개념 증명(PoC)일 뿐입니다:

이 플러그인은 사이트 전체의 사용자 업로드를 탐색하고 필터링할 수 있는 관리자 전용 admin/uploads 라우트를 추가합니다.

기능:

  • 썸네일과 함께 모든 업로드 목록 표시
  • 무한 스크롤
  • 사용자 이름 및 날짜별 필터링

:warning: 이 코드의 99%가 AI로 생성되었으며, 코드가 제대로 검토되지 않았습니다. 코드를 직접 검토하여 사용이 안전하다고 판단할 수 없다면 설치하지 마십시오.
개발자가 아닌 사용자가 AI를 활용한 플러그인 개발을 권장하지 않으며, 이 플러그인은 개념 증명 용도로만 고려되어야 합니다.

만약 개발자가 아마도 엉망일 코드를 살펴보고 싶거나, 더 진지하고 견고한 프로젝트를 위한 영감으로 사용하고자 한다면, 그렇게 하셔도 좋습니다. :+1:

레포지토리: https://github.com/Canapin/discourse-uploads-library


수정: 이제 관련 기능을 일부 사용하는 정식 플러그인이 있습니다. (:framed_picture: Topic Gallery).
Contribute > Feature 토픽의 목적과 완전히 다르면, 이 플러그인은 탐색 가능한 인터페이스에서 필터 및 제한 조건과 함께 사용자의 업로드를 표시합니다.

11개의 좋아요

이 기능을 지지한 이유는 포럼의 사용자 수가 증가함에 따라 미디어 업로드에 필요한 저장 용량이 커지고, 이는 서버 업그레이드를 유발하여 결국 포럼 운영 비용을 증가시킬 것이라고 생각하기 때문입니다. 시간이 지나면 더 많은 사용자에게 더 많은 RAM이나 CPU 성능이 필요할 수 있지만, 저장 용량이 먼저 업그레이드를 강제하는 요인이 될 것이라고 예상합니다. 업로드되는 콘텐츠를 쉽게 검토할 수 있는 방법이 제공된다면, 저장 공간이 낭비되지 않는다는 확신을 줄 수 있을 것입니다. 하나의 이미지는 매우 대량의 텍스트와 동일한 용량의 저장 공간을 차지합니다.

포럼 데이터의 소유권은 전 세계적으로 데이터를 소유하고 저장하며 공유하는 소셜 미디어 그룹 대신 디스커스(Discourse) 인스턴스를 운영하는 강력한 동기입니다. 그러나 역설적인 부분은, 사용자가 이미지를 업로드했는데 몇 년 후 포럼 관리자가 저장 공간 부족으로 해당 이미지를 삭제할 경우, 사용자는 불만을 가질 수 있다는 점입니다. 디스커스 포럼에 이미지가 업로드되면 그것은 포럼의 유산(legacy)의 일부가 됩니다.

최근 파일 최적화에 관한 토론은 제가 상당히 흥미롭게 읽었습니다. 저는 디스커스가 매우 큰 이미지 파일을 다운샘플링(downsample)하거나 압축한다고 비교적 확신했지만, 더 많은 정보를 얻으면서 안심할 수 있었습니다. 디스커스는 업로드 파일 크기 제한을 설정하는 데 유용한 도구가 많이 있습니다. 이미지를 검토하고 일괄 최적화하며 필요 시 삭제할 수 있는 유형의 도구는 디스커스에 있어 강력한 관리 도구가 될 것입니다.

4개의 좋아요

네, 이 아이디어도 가끔 언급되곤 하며, 이 주제에서 제안된 보다 일반적인 아이디어와도 부합합니다.

5개의 좋아요

기능을 추가했습니다. 썸네일을 클릭하면 업로드가 포함된 게시물을 표시하며, 일반 게시물과 쪽지(PM)를 구분합니다.

6개의 좋아요

정말 유용해 보이네요! :smiley:
저는 코드를 검토할 자격은 없지만, 누군가가 이걸 맡아주길 바랍니다.

1개의 좋아요

좋아요!

한 가지 작은 문제가 있는데, 파일이 .png인 경우 파일 위치 정보가 표시되지 않고 전체 화면으로 열립니다.

1개의 좋아요

네, 확장 문제 때문이 아닙니다. 어떤 게시글에도 연결되지 않은 파일에 대해 그렇게 동작했습니다. 즉, 삭제된 게시글에 사용된 파일이나 다른 경로(예: 아바타, 또는 Discourse가 생성한 파일 등)로 업로드된 파일을 의미합니다.

이를 수정했습니다(이제 연결된 게시글이 없다고 표시됨), 그리고 라이브러리에 각 업로드의 작성자도 추가했습니다.

chrome_ASuIHjCMXz

이 플러그인에 더 많은 기능을 추가할 생각은 없습니다. 도움이 되도록 Ruby와 JS 테스트를 추가했지만, 여기까지입니다.

더 많은 기능이 필요하시다면, 실제 개발자가 만든 정식 플러그인에서 구현되어야 합니다. :smile:

7개의 좋아요