Genaue Themenanzahl in der Tag-Liste

In the tags page, the topic number is not accurate. Indeed, it includes topics that are not visible to the user.

Example here on meta:

I’ve been hit by this issue when using the API. In my plugin, I need an exact topic count, so I’m forced to load each tag in order to count the visible topics. It seems to work right now, but it’s a waste of bandwidth and I’m afraid one day I will hit a Discourse rate limit for API calls.

Any chance this might be solved?

Thanks.

2 „Gefällt mir“

Those are all in PMs you don’t have access to.

It’s not a fix or anything (obviously) but at 4 instances only in PMs I don’t think we need this particular tag … so I’m removing it.

1 „Gefällt mir“

If need be, another example on meta is the sass tag (topic count in tag list=2, topic count in tag page=1).

1 „Gefällt mir“

Ich habe das auch in unserem Forum bemerkt. Der einfachste Weg, es zu reproduzieren, ist, wenn ich ein neues Thema mit Tags erstelle und es dann lösche, wird es trotzdem gezählt.

2 „Gefällt mir“

Ein weiterer kleiner Ärger, der durch dieses Problem verursacht wird, ist, dass Administratoren beim Löschen eines leeren Tags eine falsche Fehlermeldung erhalten.

Leerer Tag:

Falsche Fehlermeldung:

Kannst du das @tshenry nachstellen?

1 „Gefällt mir“

Ok, ich formuliere meine Antwort noch einmal um, da ich ziemlich sicher bin, dass ich nun verstanden habe, was hier genau vor sich geht :slight_smile:

Wie @ninjapenguin bereits erwähnt hat: Wenn du ein Tag hast und alle Topics löschst, die dieses Tag verwenden, bleibt das Tag auf der Tags-Seite aufgelistet und die Anzahl bleibt unverändert. Ich vermute, dass dies daran liegt, dass die Topics weiterhin technisch existieren und das Tag somit noch immer gespeichert ist.

@syl, wenn du zur Topic-Liste des Tags tete navigierst, wie in deinem Screenshot gezeigt, und dann

?status=deleted

ans Ende der URL anfügst, solltest du zwei gelöschte Topics mit dem Tag tete sehen.

Die Informationsmeldung in deinem zweiten Screenshot entspricht der Anzahl der gelöschten Topics, die dieses Tag verwenden.


Ich habe das Gefühl, dass gelöschte Topics bei der Zählung und Auflistung von Tags eigentlich nicht berücksichtigt werden sollten. Dies könnte jedoch keine besonders einfache Änderung sein, da die Daten in der Datenbank so gespeichert sind. Was denkst du, @codinghorror?

2 „Gefällt mir“

Das ist korrekt.

In einem Standard-Forum erklären gelöschte Themen meiner Meinung nach die meisten Diskrepanzen zwischen der in der Tag-Liste angezeigten Themenanzahl und der tatsächlichen Anzahl von Themen, die ein Benutzer innerhalb jedes Tags sehen kann. Eine Behebung dieses Problems wäre bereits ein großer Gewinn. Beachte jedoch, dass Diskrepanzen auch auftreten, wenn ein Nicht-Administrator-Benutzer ein Tag betrachtet, das private Themen enthält.

Das kann ich nicht reproduzieren. Wenn ich einen Tag habe, der nur in einer PN oder in einem Thema in einer eingeschränkten Kategorie verwendet wurde, sieht ein Benutzer ohne Zugriff auf diese Themen den Tag nicht in der Tag-Liste.

Das einzige unglückliche Verhalten, das ich derzeit sehe, ist das, was ich im Zusammenhang mit gelöschten Themen erwähnt habe.

1 „Gefällt mir“

Entschuldigung für die Verwirrung, ich habe mich auf die Tag-Anzahl bezogen. So lässt sich das Problem reproduzieren:

  1. Erstellen Sie als Administrator ein Thema ohne Kategorie und mit einem neuen Tag
  2. Erstellen Sie als Administrator ein weiteres Thema mit demselben Tag, das einer eingeschränkten Kategorie angehört
  3. Gehen Sie als normaler Benutzer zum Tag test-tag und überprüfen Sie, dass Sie nur ein Thema sehen
  4. In der Tag-Liste wird die Tag-Anzahl jedoch als 2 angezeigt
1 „Gefällt mir“

Ok, danke, das sehe ich jetzt.

Ich habe mir den Code angesehen und einige Dinge festgestellt.

  • In der Tabelle tags gibt es zwei Spalten, die die Anzahl der Tags beeinflussen können: topic_count und pm_topic_count. Diese Zählungen werden beim Anwenden/Entfernen von Tags hoch- oder herabgesetzt. Nicht-Administrator-Nutzer sehen nur den Wert von topic_count.

  • Es gibt einen Konsistenz-Job, der alle 12 Stunden ausgeführt wird und die Tag-Zählungen aktualisiert, damit sie keine gelöschten Themen enthalten.

  • Es gibt keine Möglichkeit, die Anzahl dynamisch basierend auf dem individuellen Themenzugriff eines Nutzers anzupassen.

Basierend auf dem, was ich sehe, liegt kein Fehler vor, sondern lediglich eine Einschränkung aufgrund der aktuellen Implementierung. Ich denke, alles, was hier besprochen wurde, fällt unter die Kategorie „Feature-Anfrage

1 „Gefällt mir“

Vielen Dank, @tshenry. Das klingt sehr gut und könnte erklären, warum ich das Problem auf meiner Dev-Instanz viel häufiger hatte (vielleicht wird dort der Konsistenz-Job nicht ausgeführt). Ich werde das prüfen.

P.S.: Derzeit hat der Tag documentation hier auf Meta eine Anzahl von 5, aber ich kann nur 4 Themen sehen. Ich werde das in 12 Stunden erneut prüfen :slight_smile:

1 „Gefällt mir“