Filterfunktion für die Liste experimenteller Themen

Wir haben kürzlich eine innovative /filter Route eingeführt, die eine ausgefeiltere Filterung der Themenliste ermöglicht. Dies ist ein wichtiger erster Schritt zu einer einheitlichen Sprache für die Filterung von Themen, sowohl für die Suche als auch für die Filterung. Darüber hinaus verbessert die dedizierte Route für die Filterung von Themenlisten die Anpassbarkeit der Seitenleiste, da Benutzer nun Links als benutzerdefinierte Abschnittslinks in der Seitenleiste einfügen können.

Aktivierung

Aktivieren Sie die Website-Einstellungen experimental_topics_filter in der Admin-Oberfläche.

Funktionsweise

Die /filter Route verfügt über ein Eingabefeld, in das Benutzer eine Abfragezeichenfolge eingeben können, um die Themenliste zu filtern.

Zum Beispiel filtert category:documentation tag:how-to+email Themen, die in der Kategorie Documentation mit den Tags how-to und email gekennzeichnet sind.

Derzeit werden folgende Filter unterstützt:

status:open Themen, die nicht geschlossen oder archiviert sind
status:closed Geschlossene Themen
status:public Themen, die nicht lesebeschränkt sind (z. B. zu einer sicheren Kategorie gehören)
status:archived Archivierte Themen
status:unlisted Nicht sichtbare Themen
status:listed Sichtbare Themen
status:deleted Gelöschte Themen

in:pinned Angeheftete Themen (global oder pro Kategorie)
in:watching Dinge, die ich beobachte - unterstützt (muted, normal, tracking, watching_first_post): Ermöglicht das Filtern nach Dingen, die Sie verfolgen, beobachten usw. - mehrere Werte können durch Kommas getrennt werden
in:bookmarked Dinge, die ich mir gemerkt habe

category:bug Themen in der Kategorie “Bug” UND allen Unterkategorien
=category:bug Themen in der Kategorie “Bug” ohne Unterkategorien
category:documentation:admins Themen in der Unterkategorie “admins” von “documentation”
category:bug,feature Themen in der Kategorie “Bug” oder “Feature”, einschließlich aller Unterkategorien
=category:bug,feature Themen in der Kategorie “Bug” oder “Feature”, ausgenommen aller Unterkategorien
-category:bug,feature Themen in der Kategorie “Bug” oder “Feature” ausschließen, einschließlich aller Unterkategorien
-=category:bug,feature Themen in der Kategorie “Bug” oder “Feature” ausschließen, nur ausgenommen aller Unterkategorien
categories: Alias für category

tag:bug+feature Themen mit den Tags “bug” UND “feature”
tag:bug,feature Themen mit dem Tag “bug” ODER “feature”
-tag:bug+feature Themen ausschließen, die mit “bug” UND “feature” gekennzeichnet sind
-tag:bug,feature Themen ausschließen, die mit “bug” ODER “feature” gekennzeichnet sind
tags: Alias für tag

tag_group:tag_group_name Themen, die mit einem beliebigen Tag aus tag_group gekennzeichnet sind
-tag_group:tag_group_name Themen ausschließen, die mit einem beliebigen Tag aus tag_group gekennzeichnet sind

created-by:@USERNAME Themen, die von einem bestimmten Benutzer erstellt wurden

posts-min:X Themen mit X oder mehr Beiträgen
posts-max:X Themen mit höchstens X Beiträgen
posters-min:X Themen, bei denen mindestens X verschiedene Benutzer gepostet haben
posters-max:X Themen, bei denen höchstens X verschiedene Benutzer gepostet haben
likes-min:X Themen mit X oder mehr Likes
likes-max:X Themen mit höchstens X Likes
likes-op-min:X Themen, deren erster Beitrag X oder mehr Likes hat
likes-op-max:X Themen, deren erster Beitrag höchstens X Likes hat
views-min:X Themen mit X oder mehr Aufrufen
views-max:X Themen mit höchstens X Aufrufen

activity-before:JJJJ-MM-TT Themen, deren letzter Bump vor dem angegebenen Datum liegt
activity-after:JJJJ-MM-TT Themen, deren letzter Bump nach dem angegebenen Datum liegt
created-before:JJJJ-MM-TT Vor dem angegebenen Datum erstellt
created-after:JJJJ-MM-TT Nach dem angegebenen Datum erstellt
latest-post-before:JJJJ-MM-TT Letzter Beitrag vor dem angegebenen Datum erstellt
latest-post-after:JJJJ-MM-TT Letzter Beitrag nach dem angegebenen Datum erstellt

order:activity Sortiert nach Bump-Datum absteigend
order:latest-post Sortiert nach Erstellungsdatum des letzten Beitrags absteigend
order:created Sortiert nach Erstellungsdatum des Themas absteigend
order:views Sortiert nach Anzahl der Aufrufe absteigend
order:likes Sortiert nach Anzahl der Likes im Thema absteigend
order:likes-op Sortiert nach Anzahl der Likes im ersten Beitrag jedes Themas absteigend
order:posters Sortiert nach Anzahl der Poster absteigend
order:category Sortiert nach Kategorienamen
order:ANY-asc Kehrt die Reihenfolge der Ergebnisse um, sodass sie aufsteigend ist

Feedback

Wir würden uns freuen, von der Community zu erfahren, ob dieses Feature für Ihre eigene Community wertvoll sein wird, und wir möchten auch wissen, wie Sie es nutzen.

Wenn es Filter gibt, die Ihnen bei Ihren Bedürfnissen helfen würden, lassen Sie es uns bitte wissen, zusammen mit Beispielen dafür, was Sie versuchen zu tun.

Schließlich möchten wir hervorheben, dass dies eine sehr frühe Version des Features ist und noch als experimentell gilt. Die Benutzererfahrung muss verbessert werden, und wir arbeiten derzeit daran, eine Art Inline-Autovervollständigung oder sogar eine Benutzeroberfläche hinzuzufügen, die es Benutzern ermöglicht, eine Abfragesprache für die Themenfilterung zu erstellen, ohne sich alle Filter auswendig merken zu müssen.

33 „Gefällt mir“

Was habe ich verpasst…?
Es sieht nicht so aus, als ob Themen zurückgegeben werden, die in der Kategorie Bug mit den Tags chat und pri-high versehen sind.

2 „Gefällt mir“

Ich glaube nicht, dass du die Prioritäts-Tags sehen können solltest. Sie sind nur für uns. :shushing_face: :slight_smile:

Funktioniert es, wenn du sie nicht einfügst?

3 „Gefällt mir“


Es scheint, wenn ich diesen Tag entferne, funktioniert es auch nicht


Update: Der “Alias” funktioniert perfekt.

2 „Gefällt mir“

Entschuldigung, ich habe gerade festgestellt, dass mein PR zur Unterstützung des tag:-Alias nicht zusammengeführt wurde.

Er wurde nun zusammengeführt, sodass der tag:-Alias bald funktionieren sollte.

6 „Gefällt mir“

Ein weiteres Problem: Der tags-Filter unterstützt derzeit keine Nicht-ASCII-Zeichen wie Chinesisch.

Beispiel: tags:一个不存在的标签 gibt alle Themen zurück, aber tags:a-non-existent-tag gibt nichts zurück, wie erwartet.


Ich habe den Quellcode überprüft, es wird verursacht durch

    value.scan(
        /\A(?<tag_names>([a-zA-Z0-9\-]+)(?<delimiter>[,+])?([a-zA-Z0-9\-]+)?(\k<delimiter>[a-zA-Z0-9\-]+)*)\z/,
5 „Gefällt mir“

Tolle Arbeit, @tgxworld. Das eröffnet vielfältige Möglichkeiten.

Ich frage mich nur, ob es eine Option für kontextbezogene Filterung bieten könnte?

Wenn ich zum Beispiel die Kategorie „Ankündigungen“ aus der Seitenleiste auswähle, können wir dann das Filterfeld (das neue, das Sie erstellt haben) oben anzeigen, um nach mehreren Tags (Chat, Neues Feature) innerhalb der Kategorie zu filtern?

Derzeit kann man als Endbenutzer nicht intuitiv nach mehreren Tags filtern – manuell müssen wir den Endpunkt /tags/intersection/chat/new-feature verwenden. Endbenutzer sind sich dieser Möglichkeit möglicherweise nicht bewusst, insbesondere wenn sie dies innerhalb einer Kategorie tun.

5 „Gefällt mir“

Gut bemerkt. Ich habe eine Korrektur für Tags in

Der category-Filter benötigt eine ähnliche Korrektur, ist aber etwas komplizierter. Ich sollte sie bis nächste Woche abgeschlossen haben.

5 „Gefällt mir“

Es fehlt eine Übersetzungszeichenfolge, wenn ein neues Thema in /filter erscheint:

[de.topic_count_all count=1]

4 „Gefällt mir“

Die Funktion klingt solide und wird definitiv dabei helfen, bessere und individuellere Feeds von Themen für unsere Nutzer zu erstellen! Vielen Dank!

In der Zwischenzeit habe ich eine Frage, ob diese Funktion es uns ermöglicht, die neuesten Beiträge aus mehreren Themen innerhalb bestimmter Kategorien/Tags einzubetten?

1 „Gefällt mir“

Nein, das ist meines Erachtens derzeit nicht Teil des Plans.

Wenn Sie die aktuelle Funktion ausprobieren und feststellen, dass Sie dies dennoch tun möchten, können Sie dann ein neues Thema dazu eröffnen, mit etwas mehr Details darüber, was Sie sich vorstellen?

1 „Gefällt mir“

Vielen Dank für diese sehr nützliche Funktion!

Wäre es möglich, auch created-by:me oder etwas Ähnliches hinzuzufügen, das automatisch nach Themen filtert, die vom aktuellen Benutzer erstellt wurden? Dies wäre natürlich ähnlich wie /my/activity/topics, könnte aber nützlich sein, um es mit anderen Filtern zu kombinieren und es für alle Benutzer in die Seitenleiste aufzunehmen.

Wie wäre es außerdem mit einem in:participated-Filter für alle Themen, in denen ich unabhängig von den Tracking-/Benachrichtigungseinstellungen gepostet habe?

5 „Gefällt mir“

Das ist großartig! :pray: Ich würde mich auch über Unterstützung für status:unsolved freuen. Ich denke auch, dass es großartig wäre, wenn wir einen Filter mit etwas wie assigned:me erstellen könnten, sodass das Ergebnis je nach Benutzer unterschiedlich ist. Anwendungsfall: Ein Bot, der unseren Moderatoren Nachrichten mit Links sendet, auf die sie klicken können, um ihre zugewiesenen Themen aufzurufen. Dies wäre praktisch, damit wir eine allgemeine Nachricht haben, die an alle Moderatoren gesendet wird und Links zu allen Anfragen enthält, auf die sie sich bei der Moderation des Forums beziehen müssen. Offensichtlich können sie von der Weboberfläche aus leicht zu den zugewiesenen Themen navigieren, aber ich denke, es wäre eine kleine Verbesserung der Lebensqualität, wenn sie auf einen Link klicken oder ein Lesezeichen setzen könnten.

4 „Gefällt mir“

Es gibt bereits einige Präzedenzfälle für diese Art von Dingen in der aktuellen Funktion, daher denke ich, dass wir sicherlich andere Dinge wie diese in Betracht ziehen können:

3 „Gefällt mir“

Hallo,

Kann mir jemand sagen, ob dies in der öffentlichen Version oder in einer Art Beta ist? Ich habe die Einstellung nicht gefunden.

Hallo Tony :wave:

Ist deine Instanz auf dem neuesten Stand?

Ich habe die Einstellung in meinem Testforum:

Sie ist auch auf Discourse-gehosteten Foren verfügbar, nicht nur auf selbst gehosteten.

Wie angegeben ist sie “experimentell”, was bedeutet, dass es im Laufe der Zeit viele Änderungen, Fehler oder Inkonsistenzen geben kann/wird.

1 „Gefällt mir“

Ich finde dies bereits sehr hilfreich, um die grundlegende Funktionalität von Discourse für Community Manager zu erklären, die neu auf der Plattform sind. Und zwar: Wir haben eine Sammlung von Themen und können diese auf vielfältige Weise filtern und sortieren.

Bisher waren diese Filter über die Benutzeroberfläche verteilt, aber die Filterroute bietet einen zentralen Ort, um auf die verfügbaren Optionen zuzugreifen und mehr darüber zu erfahren:

Vor diesem Hintergrund wäre es hilfreich, wenn zwei weitere Optionen enthalten wären:

  • im Abschnitt Datum auch nach relativer Zeit filtern (letzte Woche, Monat, Jahr usw.)
  • im Abschnitt Sortieren auch nach Beliebtheit sortieren (was sich von der Anzahl der Likes unterscheidet)
5 „Gefällt mir“

Ich mag die Funktion. Ich würde jedoch gerne nur nach reinem Text suchen können. Manchmal muss ich ein gelöschtes Thema finden, weiß aber nicht, welcher Benutzer es erstellt hat, daher muss ich mich durch viele durcharbeiten, bevor ich es finde, anstatt nur mit einem Schlüsselwort/Schlüsselwörtern nach gelöschten Elementen suchen zu können.

Ich denke, das Bestreben ist, dies zu einem späteren Zeitpunkt für Parität mit der Suche zu verbinden, obwohl ich befürchte, dass es dafür keinen endgültigen Zeitplan gibt.

3 „Gefällt mir“

Können Sie die Ergebnisse nach der Anzahl der Antworten oder der Anzahl der Stimmen sortieren/ordnen? Ich hatte gehofft, dies nutzen zu können, um Funktionsanfragen nach dem Interesse der Community aufzulisten und gleichzeitig diejenigen herauszufiltern, die mit „implementiert“ gekennzeichnet sind. Dies scheint jedoch keine Option zu sein.

Mein Anwendungsfall wird hier detaillierter beschrieben: https://meta.discourse.org/t/filter-topics-without-a-specific-tag/80253/10?u=maddieman.

2 „Gefällt mir“