Filtro de lista de temas experimentales

Hemos introducido recientemente una innovadora ruta /filter, que permite un filtrado más sofisticado de la lista de temas. Significativamente, este marca el paso inicial hacia un lenguaje unificado de filtrado de temas tanto para la búsqueda como para el filtrado. Además, la ruta dedicada para el filtrado de la lista de temas mejora la personalización de la barra lateral, ya que los usuarios ahora pueden incorporar enlaces como enlaces de sección personalizados dentro de la barra lateral.

Cómo activarlo

Habilita la configuración del sitio experimental_topics_filter en la interfaz de administración.

Cómo funciona

El /filter tiene un campo de entrada donde los usuarios pueden ingresar una cadena de consulta para filtrar la lista de temas.

Por ejemplo, category:documentation tag:how-to+email filtrará los temas que están en la categoría Documentation etiquetados con how-to y email.

Actualmente, esta es la lista de filtros que se admiten:

status:open temas que no están cerrados o archivados
status:closed temas que están cerrados
status:public temas que no están restringidos por lectura (por ejemplo, pertenecen a una categoría segura)
status:archived temas que están archivados
status:unlisted temas que no son visibles
status:listed temas que son visibles
status:deleted temas

in:pinned temas que están fijados (ya sea fijados globalmente o por categoría)
in:watching cosas que estoy siguiendo - soporta (muted,normal,tracking, watching_first_post): permite filtrar hasta lo que estás siguiendo, viendo, etc. - se pueden separar varios valores con comas
in:bookmarked cosas que he marcado

category:bug temas en la categoría bug Y todas las subcategorías
=category:bug temas en la categoría bug excluyendo subcategorías
category:documentation:admins temas en la subcategoría admins de documentación
category:bug,feature temas en la categoría bug o feature incluyendo todas las subcategorías
=category:bug,feature temas en la categoría bug o feature excluyendo todas las subcategorías
-category:bug,feature excluyendo temas en la categoría bug o feature incluyendo todas las subcategorías
-=category:bug,feature excluyendo temas en la categoría bug o feature solo excluyendo todas las subcategorías
categories: alias para category

tag:bug+feature temas etiquetados tanto como bug como feature
tag:bug,feature temas etiquetados como bug o feature
-tag:bug+feature excluyendo temas etiquetados como bug y feature
-tag:bug,feature excluyendo temas etiquetados como bug o feature
tags: alias para tag

tag_group:tag_group_name temas etiquetados con cualquier etiqueta que esté en tag_group
-tag_group:tag_group_name excluyendo temas etiquetados con cualquier etiqueta que esté en tag_group

created-by:@USERNAME temas creados por un usuario específico

posts-min:X temas con X o más publicaciones
posts-max:X temas con no más de X publicaciones
posters-min:X temas donde al menos X usuarios diferentes han publicado
posters-max:X temas donde como máximo X usuarios diferentes han publicado
likes-min:X temas con X o más me gusta
likes-max:X temas con no más de X me gusta
likes-op-min:X temas con la primera publicación que tiene X o más me gusta
likes-op-max:X temas con la primera publicación que tiene no más de X me gusta
views-min:X temas con X o más vistas
views-max:X temas con no más de X vistas

activity-before:YYYY-MM-DD temas con la última actividad antes de la fecha especificada
activity-after:YYYY-MM-DD temas con la última actividad después de la fecha especificada
created-before:YYYY-MM-DD creados antes de la fecha especificada
created-after:YYYY-MM-DD creados después de la fecha especificada
latest-post-before:YYYY-MM-DD última publicación creada antes de la fecha especificada
latest-post-after:YYYY-MM-DD última publicación creada después de la fecha especificada

order:activity ordenar por fecha de actividad descendente
order:latest-post ordenar por creación de la última publicación descendente
order:created ordenar por creación del tema descendente
order:views ordenar por vistas del tema descendente
order:likes ordenar por número de me gusta en el tema descendente
order:likes-op ordenar por número de me gusta en la primera publicación de cada tema descendente
order:posters ordenar por número de personas que han publicado descendente
order:category ordenar por nombre de categoría
order:ANY-asc invertir el orden de los resultados para que sea ascendente

Comentarios

Nos encantaría saber de la comunidad si esta característica será valiosa para su propia comunidad y también nos gustaría saber cómo la están utilizando.

Si hay algún filtro que sientan que les ayudará con sus necesidades, háganoslo saber con ejemplos de lo que intentan hacer.

Finalmente, queremos destacar que esta es una versión muy temprana de la característica y todavía se considera experimental en este punto. La experiencia del usuario necesita mejoras y actualmente estamos trabajando en agregar algún tipo de autocompletado en línea o incluso una interfaz para permitir a los usuarios construir un lenguaje de consulta de filtrado de temas sin tener que recordar todos los filtros de memoria.

33 Me gusta

¿Qué me perdí…?
No parece que devuelva temas que estén en la categoría Bug etiquetados con chat y pri-high.

2 Me gusta

No creo que debas poder ver las etiquetas de prioridad. Son solo para nosotros. :shushing_face: :slight_smile:

¿Funciona si no lo incluyes?

3 Me gusta


Parece que si elimino esta etiqueta, tampoco funciona


actualización: el “alias” funciona perfectamente.

2 Me gusta

Lo siento, acabo de darme cuenta de que mi PR para agregar soporte para el alias tag: no se fusionó.

Ahora se ha fusionado, por lo que el alias tag: debería funcionar pronto.

6 Me gusta

Otro problema: el filtro tags actualmente no admite caracteres no ASCII, como el chino.

Ejemplo: tags:一个不存在的标签 devuelve todos los temas, pero tags:a-non-existent-tag no devuelve nada, como se esperaba.


He revisado el código fuente, está causado por

    value.scan(
        /\A(?<tag_names>([a-zA-Z0-9\-]+)(?<delimiter>[,+])?([a-zA-Z0-9\-]+)?(\k<delimiter>[a-zA-Z0-9\-]+)*)\z/,
5 Me gusta

Felicitaciones por el buen trabajo @tgxworld. Esto abre múltiples posibilidades.

Tengo curiosidad por saber si podría proporcionar una opción de filtrado contextual.

Por ejemplo. Si selecciono la categoría de anuncios en la barra lateral, ¿podemos mostrar el panel de filtros (el nuevo que has creado) en la parte superior para filtrar por múltiples etiquetas (chat, nueva-función) dentro de la categoría?

Actualmente, un usuario final no puede filtrar por múltiples etiquetas de forma intuitiva; manualmente tenemos que usar el endpoint /tags/interesection/chat/new-feature. Los usuarios finales pueden no ser conscientes de esta posibilidad, especialmente para hacerlo dentro de una categoría.

5 Me gusta

Buena observación. Tengo una solución para las etiquetas en

El filtro category necesitará una solución similar, pero es un poco más complicado. Debería tenerla completada la próxima semana.

5 Me gusta

Falta una cadena de traducción cuando aparece un nuevo tema en /filter:

[es.topic_count_all count=1]

4 Me gusta

¡La función suena sólida y definitivamente ayudará a crear feeds de temas mejores y más personalizados para nuestros usuarios! ¡Gracias!

Mientras tanto, tengo una pregunta: ¿esta función nos permite incorporar las últimas publicaciones de varios temas dentro de categorías/etiquetas específicas?

1 me gusta

No, eso no es parte del plan actual, creo.

Si pruebas la función actual tal como está y sigues pensando que es algo que te gustaría poder hacer, ¿puedes iniciar un nuevo tema al respecto con un poco más de detalle sobre lo que estás pensando?

1 me gusta

¡Gracias por esta función tan útil!

¿Sería posible también añadir created-by:me o algo similar que filtre automáticamente por los temas creados por el usuario actual? Esto, por supuesto, sería similar a /my/activity/topics, pero podría ser útil para combinarlo con otros filtros y añadirlo a la barra lateral para todos los usuarios.

Además, ¿qué tal un filtro in:participated para todos los temas en los que he publicado, independientemente de su configuración de seguimiento/notificación?

5 Me gusta

¡Esto es genial! :pray: También me encantaría tener soporte para status:unsolved. También creo que sería genial si pudiéramos construir un filtro con algo como assigned:me para que el resultado sea diferente, dependiendo del usuario. Caso de uso: un bot que envía mensajes a nuestros moderadores con enlaces que pueden hacer clic para ver sus temas asignados. Esto sería útil para que podamos tener un mensaje genérico que se envía a todos los moderadores con enlaces a todas las consultas que necesitan referenciar al moderar el foro. Obviamente, pueden navegar a los temas asignados fácilmente desde la interfaz web, pero creo que sería una pequeña mejora en la calidad de vida si pudieran hacer clic en un enlace o marcarlo.

4 Me gusta

Hay algunos precedentes para este tipo de cosas en la función actual, así que creo que ciertamente podemos considerar otras cosas como esta:

3 Me gusta

Hola,

¿Alguien puede decirme si esto está en la versión pública o en algún tipo de beta? No encontré la configuración.

Hola Tony :wave:

¿Está tu instancia actualizada?

Tengo la configuración en mi foro de prueba:

También está disponible en los foros alojados por Discourse, no solo en los autohospedados.

Como se indica, es “experimental”, lo que significa que puede/habrá muchos cambios con el tiempo, y se pueden esperar errores o inconsistencias.

1 me gusta

Ya encuentro esto muy útil para explicar la funcionalidad básica de Discourse a los gerentes de comunidad que son nuevos en la plataforma. Es decir: Tenemos una colección de temas y podemos filtrarlos y ordenarlos de muchas maneras.

Hasta ahora, estos filtros se han distribuido por toda la interfaz, pero la ruta de filtros ofrece un lugar central para acceder y conocer las opciones disponibles:

Teniendo esto en cuenta, me resultaría útil que se incluyeran dos opciones más:

  • en la sección Fecha, también filtrar por tiempo relativo (última semana, mes, año, etc.)
  • en la sección Ordenar, también ordenar por popularidad (que es diferente al número de “me gusta”)
5 Me gusta

Me gusta la función. Sin embargo, me gustaría poder buscar solo texto sin formato. A veces me encuentro necesitando encontrar un tema eliminado pero no sé qué usuario lo creó, así que necesito revisar muchos antes de encontrarlo en lugar de poder buscar entre los eliminados con una palabra clave(s).

Creo que la aspiración es conectar esto con la Búsqueda en algún momento en el futuro para lograr la paridad, aunque me temo que no hay una línea de tiempo definitiva para eso.

3 Me gusta

¿Puedes ordenar / clasificar el resultado por número de respuestas o número de votos? Esperaba usar esto para listar las solicitudes de funciones ordenadas por interés de la comunidad, mientras filtro aquellas etiquetadas como ‘implementadas’. Sin embargo, no parece ser una opción.

Mi caso de uso se describe con más detalle aquí.

2 Me gusta