Is it possible to set a topic under many categories?

AI-generated summary

The discussion revolves around the possibility of assigning a topic to multiple categories in Discourse. mausconi inquires about this feature, and lisajill responds that it’s not possible, suggesting the use of the tagging system instead. Mittineague proposes pinning globally as a potential solution, but lisajill dismisses this idea.

rudzainy shares a use case where assigning a topic to multiple categories would be beneficial and explores possible technical solutions, such as creating a middle table in the database or adding a model class reference. However, merefield points out that the current design of Discourse relies heavily on a single category per topic and that changing this would require significant work and potentially break compatibility with extensions and upgrades. As an alternative, merefield suggests using tags, which can be assigned to multiple topics and appear in multiple tag lists.

In many cases, it’s very useful and rigorous to set a topic under many categories. Is it possible to do so with Discourse?

1 me gusta

No. You’d need to use the tagging system for something equivalent and that would have no hierarchy.

5 Me gusta

Would Pinning Globally work?

Nope.

https://meta.discourse.org/t/global-pinned-topics/32807/2?u=lisajill

1 me gusta

Hola :waving_hand:t2:

Tengo curiosidad por saber cuáles son las limitaciones técnicas para esto.

Un ejemplo de mi caso de uso sería:

  • un tema titulado “Las cocinas locales de Ubicación A son generalmente más saladas en comparación con las cocinas locales de Ubicación B”
  • donde Ubicación A y Ubicación B son nombres de categorías
  • hay una encuesta con las opciones De acuerdo, Neutral y En desacuerdo
  • poder guardar el tema en ambas categorías permite sincronizar conversaciones y votos entre ambas categorías desde el día 1 (o con suerte a los pocos días de la creación del tema), en lugar de un enfoque reactivo de fusionar solo temas duplicados después de que el problema se volviera viral)
  • un nombre en clave genial para esto podría ser anti-cross-categories-topic-duplication-feature/plugin lolz :joy:

Mi primer pensamiento fue crear una tabla intermedia en la base de datos. Lolz, qué nivel tan bajo :joy:

Probablemente algunas mejores soluciones podrían ser

  • agregar una referencia de clase de modelo o una asociación
  • indexar una lista de temas asociados con una categoría en la base de datos y llamar a un método para agrupar esos temas al llamar a @category.all_published_topics o algo similar

Así que sí, solo quería saber si hay alguna prohibición técnica estricta con respecto a este problema antes de profundizar :cold_face:

Bueno, eso es sencillo de identificar, échale un vistazo al código fuente, es muy fundamental para el diseño:

Es un pilar funcional importante.

Este único atributo entero está en todo el código del modelo, la API, los procesos de backend y la interfaz de usuario. Supongo que solo hay uno en docenas de Componentes de Tema y Plugins también.

Tendrías que ser muy valiente para intentar cambiar un diseño/suposición tan central y sería mucho trabajo, y probablemente no podrías usar muchas de las extensiones disponibles en el ecosistema.

Casi con toda seguridad, también te resultaría mucho trabajo/económicamente imposible actualizar la instancia.

¿Puedo sugerirte que uses etiquetas en lugar de una categoría?

Un tema puede tener muchas etiquetas y, por lo tanto, aparecer en muchas listas de etiquetas.

2 Me gusta

Ver: Post Topic in Two Categories?