Recurso de filtro de lista de tópicos experimentais

Recentemente, introduzimos uma rota /filter inovadora, permitindo uma filtragem mais sofisticada da lista de tópicos. Significativamente, este é o passo inicial em direção a uma linguagem unificada de filtragem de tópicos, tanto para pesquisa quanto para filtragem. Além disso, a rota dedicada para filtragem da lista de tópicos aprimora a personalização da barra lateral, pois os usuários agora podem incorporar links como links de seção personalizados dentro da barra lateral.

Como ativar

Ative as configurações do site experimental_topics_filter na interface de administração.

Como funciona

O /filter possui um campo de entrada onde os usuários podem digitar uma string de consulta para filtrar a lista de tópicos.

Como exemplo, category:documentation tag:how-to+email filtrará tópicos que estão na categoria Documentation com as tags how-to e email.

Atualmente, esta é a lista de filtros suportados:

status:open tópicos que não estão fechados ou arquivados
status:closed tópicos que estão fechados
status:public tópicos que não têm restrição de leitura (por exemplo, pertencem a uma categoria segura)
status:archived tópicos que estão arquivados
status:unlisted tópicos que não estão visíveis
status:listed tópicos que estão visíveis
status:deleted tópicos

in:pinned tópicos que estão fixados (fixados globalmente ou por categoria)
in:watching coisas que estou acompanhando - suporta (muted,normal,tracking, watching_first_post): permite filtrar por coisas que você está acompanhando, assistindo, etc. - múltiplos valores podem ser separados por vírgula
in:bookmarked coisas que marquei

category:bug tópicos na categoria bug E todas as subcategorias
=category:bug tópicos na categoria bug excluindo subcategorias
category:documentation:admins tópicos na subcategoria admins de documentação
category:bug,feature tópicos na categoria bug ou feature incluindo todas as subcategorias
=category:bug,feature tópicos na categoria bug ou feature excluindo todas as subcategorias
-category:bug,feature excluindo tópicos na categoria bug ou feature incluindo todas as subcategorias
-=category:bug,feature excluindo tópicos na categoria bug ou feature apenas excluindo todas as subcategorias
categories: alias para category

tag:bug+feature tópicos com as tags bug e feature
tag:bug,feature tópicos com a tag bug ou feature
-tag:bug+feature excluindo tópicos com as tags bug e feature
-tag:bug,feature excluindo tópicos com a tag bug ou feature
tags: alias para tag

tag_group:tag_group_name tópicos com qualquer tag que esteja em tag_group
-tag_group:tag_group_name excluindo tópicos com qualquer tag que esteja em tag_group

created-by:@USERNAME tópicos criados por um usuário específico

posts-min:X tópicos com X ou mais posts
posts-max:X tópicos com no máximo X posts
posters-min:X tópicos onde pelo menos X usuários diferentes postaram
posters-max:X tópicos onde no máximo X usuários diferentes postaram
likes-min:X tópicos com X ou mais curtidas
likes-max:X tópicos com no máximo X curtidas
likes-op-min:X tópicos com o primeiro post tendo X ou mais curtidas
likes-op-max:X tópicos com o primeiro post tendo no máximo X curtidas
views-min:X tópicos com X ou mais visualizações
views-max:X tópicos com no máximo X visualizações

activity-before:YYYY-MM-DD tópicos com o último bump antes da data especificada
activity-after:YYYY-MM-DD tópicos com o último bump após a data especificada
created-before:YYYY-MM-DD criados antes da data especificada
created-after:YYYY-MM-DD criados após a data especificada
latest-post-before:YYYY-MM-DD último post criado antes da data especificada
latest-post-after:YYYY-MM-DD último post criado após a data especificada

order:activity ordenar por data de bump desc
order:latest-post ordenar por criação do último post desc
order:created ordenar por criação do tópico desc
order:views ordenar por visualizações do tópico desc
order:likes ordenar por número de curtidas no tópico desc
order:likes-op ordenar por número de curtidas no primeiro post de cada tópico desc
order:posters ordenar por número de pessoas que postaram desc
order:category ordenar por nome da categoria
order:ANY-asc inverter a ordem dos resultados para que seja ascendente

Feedback

Gostaríamos muito de saber da comunidade se este recurso será valioso para sua própria comunidade e também gostaríamos de saber como você o está utilizando.

Se houver algum filtro que você acha que ajudará em suas necessidades, por favor, nos informe com exemplos do que você está tentando fazer.

Finalmente, queremos destacar que esta é uma versão muito inicial do recurso e ainda é considerada experimental neste momento. A experiência do usuário precisa de melhorias e estamos trabalhando para adicionar algum tipo de autocompletar inline ou até mesmo uma interface para permitir que os usuários criem uma linguagem de consulta de filtragem de tópicos sem ter que memorizar todos os filtros de cor.

33 curtidas

O que eu perdi…?
Parece que ele não retorna tópicos que estão na categoria Bug marcados com chat e pri-high.

2 curtidas

Não acho que você deva conseguir ver as tags de prioridade. Elas são apenas para nós. :shushing_face: :slight_smile:

Funciona se você não incluir?

3 curtidas


Parece que se eu remover esta tag, também não funciona


atualização: o “alias” funciona perfeitamente.

2 curtidas

Desculpe, acabei de perceber que meu PR para adicionar suporte ao alias tag: não foi mesclado.

Ele agora foi mesclado, então o alias tag: deve funcionar em breve.

6 curtidas

Outro problema: o filtro tags atualmente não suporta caracteres não ASCII, como o chinês.

Exemplo: tags:一个不存在的标签 retorna todos os tópicos, mas tags:a-non-existent-tag não retorna nada, como esperado.


Verifiquei o código-fonte, é causado por

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

Elogios pelo ótimo trabalho, @tgxworld. Isso abre múltiplas possibilidades.

Só para saber, poderia fornecer uma opção de filtragem contextual?

Por exemplo, se eu selecionar a categoria de anúncios na barra lateral, podemos mostrar o painel de filtro (o novo que você criou) na parte superior para filtrar por várias tags (chat, novo-recurso) dentro da categoria.

Atualmente, um usuário final não pode filtrar por várias tags intuitivamente - manualmente, temos que usar o endpoint /tags/interesection/chat/new-feature. Os usuários finais podem não estar cientes dessa possibilidade, especialmente para fazê-lo dentro de uma categoria.

5 curtidas

Boa observação. Tenho uma correção para tags em

O filtro category precisará de uma correção semelhante, mas é um pouco mais complicado. Devo concluí-lo na próxima semana.

5 curtidas

Falta uma string de tradução quando um novo tópico aparece em /filter:

[pt_BR.topic_count_all count=1]

4 curtidas

O recurso parece sólido e definitivamente ajudará a construir feeds de tópicos melhores e personalizados para nossos usuários! Obrigado!

Enquanto isso, tenho uma pergunta se este recurso nos permite incorporar as últimas postagens de vários tópicos dentro de categorias/tags específicas?

1 curtida

Não, isso não faz parte do plano atual, acho.

Se você experimentar o recurso atual como está e ainda achar que é algo que você gostaria de poder fazer, você pode iniciar um novo tópico sobre isso com um pouco mais de detalhes sobre o que você está pensando?

1 curtida

Obrigado por este recurso muito útil!

Seria possível também adicionar created-by:me ou algo semelhante que filtre automaticamente os tópicos criados pelo usuário atual? Isso seria, claro, semelhante a /my/activity/topics, mas pode ser útil para combinar com outros filtros e adicioná-lo à barra lateral para todos os usuários.

Além disso, que tal um filtro in:participated para todos os tópicos em que postei, independentemente de sua configuração de rastreamento/notificação?

5 curtidas

Isso é ótimo! :pray: Eu também adoraria ter suporte para status:unsolved. Acho que também seria ótimo se pudéssemos construir um filtro com algo como assigned:me, para que o resultado seja diferente, dependendo do usuário. Caso de uso: um bot que envia mensagens aos nossos moderadores com links que eles podem clicar para acessar seus tópicos atribuídos. Isso seria útil para que possamos ter uma mensagem genérica enviada a todos os moderadores com links para todas as consultas que eles precisam referenciar ao moderar o fórum. Obviamente, eles podem navegar para os tópicos atribuídos facilmente na interface web, mas acho que seria uma pequena melhoria de QoL se eles pudessem clicar em um link ou marcador.

4 curtidas

Há alguma precedência para esse tipo de coisa no recurso atual, então acho que podemos certamente considerar outras coisas como esta:

3 curtidas

Oi,

Alguém pode me informar se isso está na versão pública ou em algum tipo de beta? Não encontrei a configuração.

Olá Tony :wave:

Sua instância está atualizada?

Tenho a configuração no meu fórum de teste:

Também está disponível em fóruns hospedados pelo Discourse, não apenas auto-hospedados.

Como declarado, é “experimental”, o que significa que pode haver/haverá muitas mudanças ao longo do tempo, e bugs ou inconsistências são esperados.

1 curtida

Acho isso muito útil para explicar a funcionalidade básica do Discourse para gerentes de comunidade novos na plataforma. Ou seja: Temos uma coleção de tópicos e podemos filtrá-los e classificá-los de várias maneiras.

Até agora, esses filtros estavam espalhados pela interface, mas a rota de filtro oferece um local central para acessar e aprender sobre as opções disponíveis:

Com isso em mente, seria útil ter mais duas opções incluídas:

  • Na seção Data, também filtrar por tempo relativo (última semana, mês, ano, etc.)
  • Na seção Classificar, também classificar por popularidade (que é diferente do número de curtidas)
5 curtidas

Eu gosto do recurso. Eu gostaria de poder pesquisar apenas por texto simples. Às vezes, preciso encontrar um tópico excluído, mas não sei qual usuário o criou, então preciso passar por vários antes de encontrá-lo, em vez de apenas poder pesquisar entre os excluídos com uma palavra-chave(s).

Acho que a aspiração é conectar isso à Pesquisa em algum momento no futuro para paridade, embora receio que não haja um cronograma definitivo para isso.

3 curtidas

Você pode classificar / ordenar o resultado pelo número de respostas ou pelo número de votos? Eu esperava usar isso para listar solicitações de recursos ordenadas pelo interesse da comunidade, enquanto filtrava aquelas marcadas como ‘implementado’. No entanto, isso não parece ser uma opção.

Meu caso de uso é descrito com mais detalhes aqui.

2 curtidas