¿Puedo usar la API JSON en lugar de crear un plugin?

Estoy realizando algunas personalizaciones (como se describe aquí y aquí) que parecen requerir un conocimiento sólido de Ember y Rails, así como de cómo encaja el código base subyacente de Discourse.

Como resultado, el progreso ha sido lento (estoy más acostumbrado a Angular y JavaScript, y soy nuevo en Discourse), por lo que estoy buscando formas de sacar estas personalizaciones al mercado más rápido.

Así que, aquí va la pregunta: en lugar de crear un plugin que manipule las plantillas de Discourse, ¿podría lograr el mismo resultado final usando la API JSON?

Tener un buen dominio de la API parece más eficiente que un buen dominio de Ember y el código base de Discourse, y podría implementarse usando lenguajes como JavaScript puro o jQuery.

Creo que la respuesta es sí. Como ha dicho el equipo, cualquier cosa que haga Discourse puede hacerse con la API.

Supongo que esto puede funcionar, pero la razón de la pregunta es la siguiente: el caso de uso normal de la API JSON, supongo, es una aplicación separada que quiere interactuar con la aplicación de Discourse. En mi caso, sería la aplicación de Discourse llamando a su propia API.

Por ejemplo, antes había preguntado sobre cómo recuperar y mostrar los propietarios de los grupos de cada grupo en la página de índice de grupos. Normalmente, para eso se construiría un plugin.

En mi caso, haría algo así: en mi panel de personalización bajo “”—llamaría a una función AJAX cuando se cargue la página de índice de grupos, que enviaría una llamada a la API para devolver los propietarios de cada grupo y luego insertaría esa información en cada listado de grupos.

¿Funcionaría eso? ¿Necesitaría generar una clave de API para eso, dado que proviene de la propia aplicación?

2 Me gusta

El problema es que si quieres almacenar un nuevo tipo de datos, necesitas un plugin. El servidor debe saber dónde almacenar los datos, qué formato es aceptable, quién puede verlos y quién puede modificarlos.


Las identidades de los propietarios de los grupos son públicas, por lo que un componente de tema podría cargarlas y mostrarlas en la página de índice de los grupos, aunque lentamente.

En cuanto a los temas destacados por categoría, de hecho existen algunos temas y plugins que utilizan etiquetas para implementar esa funcionalidad. ¿Los has revisado?

5 Me gusta

Genial. Probablemente no estaría buscando almacenar un nuevo tipo de datos. Más bien, estaría trabajando con campos personalizados, siguiendo el formato de campos personalizados preexistente.

No había visto plugins para destacar temas en categorías anteriormente. Lo clave para mí es dar a los moderadores de las categorías la capacidad de seleccionarlos. Lo revisaré.

En cuanto al uso de la API para mostrar los propietarios de las categorías y mostrar otra información que obtendría de la API: tendría sentido si es un poco más lento que el proceso de compilación normal, pero espero que este método no sea demasiado lento (creo que funcionaría en sitios que normalmente recuperan información de APIs para rellenar datos).

1 me gusta

Solo puedes declarar nuevos campos personalizados (y serializarlos) en un plugin.

2 Me gusta