Separazione tra plugin e tema

Stiamo sviluppando un plugin che serializza un nuovo attributo (un’immagine) nell’elenco degli argomenti (utilizzando TopicListItemSerializer). Tuttavia, non ha senso visualizzare questa immagine nel contesto dell’interfaccia utente standard di Discourse. Questa immagine sarà utilizzata dal nostro tema, che renderà il nostro sito molto diverso dall’installazione predefinita di Discourse.

La mia idea iniziale era creare un plugin che fornisca semplicemente questo attributo nel serializzatore, lasciando al tema il compito di consumarlo e visualizzare l’immagine. Ha senso farlo, o il plugin dovrebbe includere anche il codice per visualizzare l’immagine nell’interfaccia utente?

La tua idea iniziale va bene: separare il plugin dal tema ti darà la flessibilità di apportare aggiornamenti al tema e aggiornare il sito senza dover effettuare un nuovo deployment (l’altra opzione, ovvero avere tutto il codice UI nel plugin, richiederebbe un nuovo deployment ogni volta che apporti modifiche).

Grazie per la risposta, @pmusaraj!