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 Mi Piace

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

5 Mi Piace

Would Pinning Globally work?

Nope.

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

1 Mi Piace

Ciao :waving_hand:t2:

Sono curioso di sapere quali sono le limitazioni tecniche per questo.

Un esempio del mio caso d’uso sarebbe:

  • un argomento intitolato “Le cucine locali di Luogo A sono generalmente più salate rispetto alle cucine locali di Luogo B”
  • dove Luogo A e Luogo B sono nomi di categorie
  • c’è un sondaggio con le opzioni D'accordo, Neutro e In disaccordo
  • poter salvare l’argomento in entrambe le categorie consente la sincronizzazione delle conversazioni e dei voti tra entrambe le categorie dal giorno 1 (o si spera entro pochi giorni dalla creazione dell’argomento), invece di un approccio reattivo di unire solo argomenti duplicati dopo che il problema è diventato virale)
  • un nome in codice interessante per questo potrebbe essere anti-cross-categories-topic-duplication-feature/plugin lolz :joy:

Il mio primo pensiero è stato creare una tabella intermedia nel database. Lolz, così di basso livello :joy:

Probabilmente alcune soluzioni migliori potrebbero essere

  • aggiungere un riferimento a una classe modello o un’associazione
  • indicizzare un elenco di argomenti associati a una categoria nel database e chiamare un metodo per raggruppare tali argomenti quando si chiama @category.all_published_topics o qualcosa di simile

Quindi, volevo solo sapere se ci sono dei divieti tecnici rigorosi riguardo a questo problema prima che approfondisca :cold_face:

Beh, è semplice da identificare, dai un’occhiata al codice sorgente, è molto fondamentale per il design:

È un pilastro funzionale importante.

Questo singolo attributo intero è presente ovunque nel codice del modello, nell’API, nei processi di backend e nell’interfaccia utente. Si presume che ce ne sia solo uno in decine di componenti tematici e plugin, immagino.

Dovresti essere molto coraggioso per provare a cambiare un design/presupposto così centrale e richiederebbe molto lavoro, e probabilmente non saresti in grado di utilizzare molte delle estensioni disponibili nell’ecosistema.

Troveresti quasi certamente anche molto lavoro/impossibile economicamente aggiornare l’istanza.

Posso suggerirti di usare i tag invece di una categoria?

Un argomento può avere molti tag e quindi apparire in molte liste di tag.

2 Mi Piace

Vedi: Post Topic in Two Categories?