List of all uploaded files

Hello friends,

what are you thinking about some extra tab at the admin interface to keep control over the current disk usage, files sizes, click rates, filtering them after extension and searching for specific terms?

I wish, I could get more control over all attachments.

Best

7 „Gefällt mir“

That’s something I definitely want done. Not sure when though.

11 „Gefällt mir“

Sounds useful!

There is a bunch of product questions around how this could/should work in my mind. It looks like a problem that has been already figured out or solved in other forum software, but I wonder how will this be framed / built around Discourse’s philosophy.

I am also wondering more about the manifestations of providing uploads settings, e.g.: if you chose to introduce extension configuration, the composer needs to cater for this when users are selecting/uploading attachments, and so on. Also, whether this should be in core, or as a plugin.

On the bright side, if we ignore all questions / assumptions / product / design considerations, it doesn’t look like it is technically tricky, I made a one hour spike here (this is very immature implementation though :blush:).

You can definitely extend this with a bunch of useful features: settings, search / filtering, sorting, etc (and some other considerations like supporting pagination, …)

6 „Gefällt mir“

If youbtalking about admin tools. You can considure usong plugin data explorer whic allows admins to query database. When I hunting free space I am querying db there is table uploads whic gives you size location and other useful things. Also one good thing is that deleating rows from uploads also dealeting files. Becouse ther is sidekiq job pruge oprhan uploads.

I am totally open to adding something here, but I feel a top level tab is a bit too much .

Conceptually this feels like a “report” to me with a drilldown vs a section for uploading things.

I would like to see this link to the new report

When I think about this problem I think the main use case is around admins trying to get a handle on the … upload problem…

  • Why do I have so many uploads?

  • Which users have the most/largest uploads ?

  • What are the 100 biggest uploads on my forum?

  • How many things were uploaded in the last month? That way I can keep track of trends.

@codinghorror / @j.jaffeux what are your thoughts here?

12 „Gefällt mir“

Yes I agree it could be a report, we might have to start working on the filtering logic I talked with you months ago. But other than that it should be good.

3 „Gefällt mir“

Great line of questioning @sam !

I think perhaps I lack some context on what is the admin’s job / use case for the upload problem, but it appears to be (if there is any research or perhaps admin opinions to confirm that, it would be great!) that it can be framed as: I am an Admin, I want to gain understanding of my instance’s uploads usage.

I wonder if there are any after actions when the job / use case is satisfied. For example, if the admin notices a problem or a trend, will the admin/site_settings/category/files is the place they can optimise their file uploading strategy?

Also, I agree that the Uploads section is heavy as a top level tab for this use case.

Any news about this topic?

Im looking for a option to look through the uploaded files.

3 „Gefällt mir“

I guess, sorting and listing files isn’t as much as important for Discourse as for us. :see_no_evil:

Similar issue:

Hier sind einige Data Explorer-Abfragen, um Details zu Post-Uploads zu erhalten. Möglicherweise könnte Ähnliches zum Abschnitt für Admin-Berichte hinzugefügt werden, für Sites, auf denen das Data Explorer-Plugin nicht installiert ist. Lass mich wissen, ob diese Daten nicht das sind, was du suchst.

Welche Benutzer haben die meisten/größten Uploads?

Gibt den Benutzer, seine Upload-Anzahl und seine Gesamtuploads in KB, auf 2 Dezimalstellen gerundet, zurück. Der Join auf die Tabelle users verhindert, dass Daten von gelöschten Benutzern zurückgegeben werden. Die Ergebnisse werden nach der Gesamtgröße der Uploads in absteigender Reihenfolge sortiert.

Inklusive optimierter Bilder

WITH uploads_with_optimized AS (
SELECT
ul.user_id,
ROUND((SUM(COALESCE(oi.filesize, 0)) + SUM(ul.filesize)) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
LEFT JOIN optimized_images oi
ON ul.id = oi.upload_id
GROUP BY ul.user_id
)

SELECT
uwo.user_id,
COUNT(uploads.user_id) AS upload_count,
total_kb
FROM uploads_with_optimized uwo
JOIN uploads
ON uploads.user_id = uwo.user_id
GROUP BY uploads.user_id, uwo.user_id, total_kb
ORDER BY total_kb DESC
LIMIT 50

Ohne optimierte Bilder

SELECT
ul.user_id,
COUNT(ul.user_id) AS upload_count,
ROUND(SUM(ul.filesize) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
GROUP BY ul.user_id
ORDER BY total_kb DESC
LIMIT 50

Was sind die 100 größten Uploads auf meinem Forum?

Gibt den Benutzer, den Post mit dem Upload und die Dateigröße des Uploads in KB zurück. Die Ergebnisse werden nach Upload-Größe in absteigender Reihenfolge sortiert.

Inklusive optimierter Bilder

SELECT
ul.user_id,
pul.post_id,
ROUND((SUM(oi.filesize) + ul.filesize) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
JOIN optimized_images oi
ON ul.id = oi.upload_id
GROUP BY oi.upload_id, ul.user_id, pul.post_id, ul.filesize
ORDER BY total_kb DESC
LIMIT 100

Ohne optimierte Bilder

SELECT
ul.user_id,
pul.post_id,
ROUND(ul.filesize / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
ORDER BY total_kb DESC
LIMIT 100

Uploads der letzten 30 Tage

Die Abfrage erfordert, dass du einen Parameter :end_date bereitstellst. Das Datum sollte im Format ‘yyyy-mm-dd’ vorliegen, z. B. ‘2020-01-08’. Sie gibt Ergebnisse für den 30-Tage-Zeitraum zurück, der mit dem end_date endet. Sie gibt den Tag, die Upload-Anzahl und die Gesamtuploads des Tages in KB für alle Tage im Zeitraum zurück, die Post-Uploads haben. Die Ergebnisse werden nach Tag sortiert.

Inklusive optimierter Bilder

--[params]
-- date :end_date

SELECT
ul.created_at::date AS day,
COUNT(1) AS upload_count,
ROUND((SUM(COALESCE(oi.filesize, 0)) + SUM(ul.filesize)) / 1000.0, 2) AS total_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
LEFT JOIN optimized_images oi
ON ul.id = oi.upload_id
WHERE ul.created_at::date BETWEEN :end_date::date - INTERVAL '30 days' AND :end_date
GROUP BY ul.created_at::date
ORDER BY ul.created_at::date DESC

Ohne optimierte Bilder

--[params]
-- date :end_date

SELECT
ul.created_at::date AS day,
COUNT(1) AS upload_count,
ROUND(SUM(ul.filesize) / 1000.0, 2) AS daily_upload_kb
FROM post_uploads pul
JOIN uploads ul
ON ul.id = pul.upload_id
WHERE ul.created_at::date BETWEEN :end_date::date - INTERVAL '30 days' AND :end_date
GROUP BY ul.created_at::date
ORDER BY ul.created_at::date DESC

11 „Gefällt mir“

Ich bin ein neues (Meta-)Mitglied der Community und habe kürzlich die Admin-Aufgaben für eine andere Community übernommen, die mit Discourse läuft (und von Discourse gehostet wird). Im Dashboard habe ich gerade einen „Sprung

2 „Gefällt mir“

[quote=“jochen_weber, Beitrag: 14, Thema: 63714”]
Ich habe gerade einen „Sprung

5 „Gefällt mir“

Ah, das ergibt sehr viel Sinn. Ich habe kurz darüber nachgedacht, ob das der Fall sein könnte – nachdem ich diesen Beitrag hier verfasst habe :wink:

Hmm, vielleicht wäre es sinnvoll, auf dem Speichermessgerät im Dashboard einen kurzen Satz in diesem Sinne hinzuzufügen, damit die Leute nicht denken, jemand entziehe ihnen Speicherplatz mit unbekannten Daten :wink:

Und falls Sie jemals einen “Upload-Inspektor” erstellen, der keine Business-Plan-Plugins erfordert, wäre das super zu schätzen!!

Cheers!

4 „Gefällt mir“

Endlich habe ich nicht verstanden, wie ich die Liste der Uploads der Mitglieder in verschiedenen Themen und Beiträgen sehen kann!!??

1 „Gefällt mir“

Ich möchte das Verzeichnis der hochgeladenen Dateien durchsuchen. Mein konkreter Anwendungsfall ist die Untersuchung der Details dieser defekten URL:

Jede unterstützende Rückmeldung von einem Administrator wäre sehr hilfreich. Oder habe ich etwas übersehen?

Mit freundlichen Grüßen,
R

1 „Gefällt mir“

Eine weitere Problemumgehung besteht darin:

  • Erstellen und Herunterladen einer Website-Sicherung mit „Uploads einschließen“
  • Navigieren Sie zu diesem Archiv und entpacken Sie es, z. B. von der Befehlszeile aus: $ tar -xvzf xxxx.tar.gz
  • Wechseln Sie in das Upload-Verzeichnis: $ cd uploads
  • Wählen Sie zwischen Original- und optimierten Abschnitten und erkunden Sie die resultierende Dateistruktur
  • Keiner der Upload-Namen ist vorhanden, alle Namen verwenden zufällige (oder kodierte) Zeichenfolgen

Eine grafische Benutzeroberfläche im Admin-Portal würde eine bessere Benutzererfahrung bieten. Daher stimme ich für diese Funktionalität. R

1 „Gefällt mir“