Plugin de expertos en Etiquetas

Primero, un poco de contexto: recientemente reestructuré radicalmente mi foro de más de 20 años para eliminar las aproximadamente 100 categorías/subcategorías que habían evolucionado a lo largo de los años, a favor de solo 3 categorías publicables por el usuario que utilizan etiquetas para diferenciar temas de interés. Creo que mis usuarios se preguntan actualmente si he perdido la cabeza :laughing:

Una víctima de esto que no consideré hasta que fue demasiado tarde fueron los expertos en categorías. Tenía esto activado para un par de categorías, pero ahora he convertido a los expertos de esas categorías específicas en expertos para categorías masivas, lo que realmente no tiene sentido. En cierto modo, está bien porque los expertos son buenas personas fuera de su propio campo de especialización, pero es extraño recibir publicaciones marcadas como respuestas de expertos cuando sabes que el experto que responde es en realidad el experto en otro campo.

Por lo tanto, me pregunto si (1) un plugin de experto en etiquetas sería factible y (2) ¿es algo que se podría considerar para añadir en el futuro?

Editar: Debo añadir que este es un foro de pasatiempo sin ingresos (aparte de mi pensión), ¡así que no puedo ofrecer ninguna financiación!

4 Me gusta

Un plugin de “Experto en Etiquetas” (“Tag Expert”) sería absolutamente factible. Dada la complejidad del plugin de experto en categorías, no creo que sea una buena idea intentar integrarlo en este plugin. Probablemente, un nuevo plugin sería lo más sencillo.

Ciertamente no hay planes para crearlo por parte del equipo de Discourse, pero es una idea genial y no sería un plugin demasiado difícil de escribir (dependiendo del conjunto de características, por supuesto). ¡Podrías intentar trabajar con IA para ayudarte a construir algo!

4 Me gusta

Empezando desde mi conocimiento actual de Ruby (bastante limitado) y una mirada al código de Category Experts en GitHub, que está lleno de cosas misteriosas como controladores, modelos y serializadores, no estoy seguro de estar de acuerdo con eso. ¡Creo que necesitaría un curso intensivo sobre cómo funcionan los plugins de Discourse antes de que incluso la IA pudiera ayudarme!

3 Me gusta

Bueno, si todo lo que quieres es “publicaciones en un tema etiquetado con X, creadas por usuarios del GrupoA se decoran de manera diferente”, no necesitas controladores/modelos. El cambio es mucho más simple. Sería una configuración del sitio para definir la etiqueta ↔ configuración de grupo, y luego una adición al serializador topic_list_item y al post_serializer para tener un atributo como tag_expert_post accesible.

(Lo siento, sé que esto es muy específico)

5 Me gusta

Si eso fuera todo, ya tendrías todos los selectores en el documento. Así que puedes decorar con CSS, el patrón sería:

apuntar al tema con una etiqueta
  apuntar a la publicación de un miembro de un grupo principal
     decorar una parte de la publicación

Por ejemplo:

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

Esto solo funcionará para grupos principales, ya que se agregan a la publicación como un selector de clase.

Luego podrías obtener, por ejemplo:

O establecer estilos ligeramente diferentes para diferentes grupos de Expertos:

Acababa de hacer algo similar recientemente:

5 Me gusta