Plugin de especialistas em Tag

Primeiro, um pouco de contexto - recentemente reestruturei radicalmente meu fórum de mais de 20 anos para eliminar as cerca de 100 categorias/subcategorias que evoluíram ao longo dos anos, em favor de apenas 3 categorias postáveis pelos usuários, usando tags para diferenciar tópicos de interesse. Acho que meus usuários estão se perguntando se eu perdi o juízo :laughing:

Uma vítima disso que não pensei até ser tarde demais foram os especialistas de categoria. Eu tinha isso ativado para algumas categorias, mas agora que fiz os especialistas dessas categorias específicas especialistas em categorias massivas, isso realmente não faz sentido. De certa forma, está tudo bem porque os especialistas são caras legais fora de sua área de especialização, mas é estranho receber posts sinalizados como respostas de especialistas quando você sabe que o especialista respondendo é realmente o especialista em outro campo.

Portanto, estou me perguntando se (1) um plugin de Especialista em Tags seria viável e (2) se é algo que poderia ser considerado para adição no futuro?

Editar: Devo acrescentar que este é um fórum de hobby sem renda (além da minha aposentadoria), então não posso oferecer nenhum financiamento!

4 curtidas

Um plugin “Tag Expert” seria absolutamente viável. Dada a complexidade do plugin de especialista em categoria, não acho que seria uma boa ideia tentar integrá-lo a este plugin. Um novo plugin provavelmente seria o mais fácil.

Certamente não há planos para criar isso pela equipe do Discourse, mas é uma ideia legal e não seria um plugin muito difícil de escrever (dependendo do conjunto de recursos, é claro). Você poderia tentar trabalhar com IA para ajudá-lo a construir algo!

4 curtidas

Começando com meu conhecimento atual de Ruby (bem limitado) e uma olhada no código do Category Experts no github, que está cheio de coisas misteriosas como controllers, models e serializers, não tenho certeza se concordaria com isso. Acho que precisaria de um curso intensivo sobre como os plugins do Discourse funcionam antes mesmo que a IA pudesse me ajudar!

3 curtidas

Bem, se tudo o que você quer é “posts em um tópico com a tag X, criados por usuários do GrupoA são decorados de forma diferente”, você não precisa de controllers/models. A mudança é muito mais simples. Seria uma configuração do site para definir a tag ↔ configuração de grupo, e então uma adição ao serializador topic_list_item e ao post_serializer para ter um atributo como tag_expert_post acessível.

(Desculpe, sei que isso é muito detalhado)

5 curtidas

Se fosse realmente só isso, você já teria todos os seletores no documento. Então você pode decorar com CSS, o padrão seria:

selecione o tópico com uma tag
  selecione o post por um membro de um grupo primário
     decore uma parte do post

Por exemplo:

body.tag-expert-1 {
  .topic-post.group-tag-experts-1  {
    .cooked {
      ...
    }
  }
}

Isso só funcionará para grupos primários, pois eles são adicionados ao post como um seletor de classe.

Então você poderia ter, por exemplo:

Ou definir estilos ligeiramente diferentes para diferentes grupos de Especialistas:

Acabei de fazer algo semelhante recentemente:

5 curtidas