Separación entre plugin y tema

Estamos desarrollando un plugin que serializa un nuevo atributo (una imagen) en la lista de temas (usando TopicListItemSerializer). Sin embargo, no tiene sentido mostrar esta imagen en el contexto de la interfaz de usuario estándar de Discourse. Esta imagen será consumida por nuestro propio tema, lo que hará que nuestro sitio sea muy diferente de una instalación predeterminada de Discourse.

Mi idea inicial era crear un plugin que simplemente proporcione este atributo en el serializador y dejar que el tema lo consuma y muestre la imagen. ¿Tiene esto sentido, o el plugin también debería incluir el código para mostrar la imagen en la interfaz de usuario?

Tu idea inicial está bien; separar en un plugin y un tema te dará la flexibilidad de hacer actualizaciones en el tema y actualizar tu sitio sin necesidad de volver a desplegar (la otra opción, tener todo el código de la interfaz de usuario en el plugin, requerirá un nuevo despliegue cuando realices cambios).

¡Gracias por la respuesta, @pmusaraj!