Tag-union implementation?

Continuing the discussion from Tags: category restrictions, tag groups, relationships:

I’m interested in building a tag union capability that would mimic how tag intersections are currently implemented (Tag intersections page): essentially the same result as intersections (the default category/Latest view), but doing an OR on multiple tags rather than an AND. I would appreciate any suggestions as a new Discourse developer.

My thoughts (so far) are as follows:

  • Searching on multiple tags via the search page essentially provides tag-union functionality (Does multiple tag search support AND vs OR?). The problem is that I don’t want the search results view – I want the default category page. Could search results be redirected to accomplish this?

  • If search results can’t be redirected, I’m open to attempting a /tags/union/ route (and have been looking into how intersection works). I would prefer to do this via plugin, but I am concerned that that is not something that could currently be accomplished via a plugin. Any suggestions here would be appreciated.

If there is sufficient user interest to add a tag-union capability into the Discourse core, I’d be willing to do it and submit a PR, but I’m hoping to find an alternative. Thanks in advance.

4 curtidas

Not sure this counts as sufficient user interest, but intending to revive this discussion to see if users/team are interested.

Thoughts? @daniel

1 curtida

Houve alguma atualização sobre isso? Seria muito útil ter uma rota /tags/union.

1 curtida

Nós o temos agora, pelo menos em forma de rota:

https://meta.discourse.org/?tags[]=screen-reader&tags[]=accessibility

A longo prazo, estamos pensando em construir uma interface de usuário para filtragem e ordenação mais limpas das listas de tópicos.

4 curtidas

Recebo uma lista de tópicos vazia ao clicar no URL fornecido:

Pode haver algum problema?

Sim, nosso roteador Ember precisa aprender sobre esta rota (cc @david)

Funcionará se você navegar diretamente para a URL

2 curtidas

Preciso executar ./launcher rebuild app para ter esta atualização na minha instância auto-hospedada?

Eu esperaria até corrigirmos o roteamento do lado do cliente

1 curtida

Construir arrays de queryParam usando a sintaxe paramName[] é algo específico do framework backend, e não acho que seja suportado nativamente pelo Ember. Talvez possamos fazer funcionar, mas eu dei uma olhada rápida na implementação do lado do servidor do filtro tags e parece que também suportamos uma lista separada por espaços.

Portanto, este link já deve funcionar sem uma recarga completa da página: https://meta.discourse.org/?tags=screen-reader+accessibility

2 curtidas

Isso é muito bom. No entanto, a página não mantém as restrições quando uma categoria é selecionada no canto superior esquerdo. Para páginas com tags únicas, isso funciona como esperado.

Por exemplo, se eu estiver em /tag/tag1 e escolher site-feedback no canto superior esquerdo. Ele mostra /tags/c/site-feedback/2/tag1.

Com /?tags=tag1+tag2, ele apenas me redireciona para /c/site-feedback/2.

É possível ter essa funcionalidade?

Acho que isso também foi solicitado nestes dois tópicos:

1 curtida

Esse tipo de coisa não é suportado no momento, mas é algo que estamos pensando em melhorar a longo prazo

3 curtidas