Estaba intentando crear un plugin en Discourse siguiendo esta página: Developing Discourse Plugins - Part 1 - Create a basic plugin y he subido la carpeta de plugins al servidor. Después de eso, no he podido acceder a la página de administración de Discourse.
Cuando he revisado la consola del navegador, estoy viendo el siguiente error: Error: No existe una ruta llamada admin
He comprobado en SSH que el rol de mi usuario tiene privilegios de administrador. He intentado eliminar también las carpetas de plugins de Discourse, pero sigo teniendo el mismo problema.
Intenté cambiar el acceso usando este comando ./launcher enter app pero no me funcionó.
oh, quise decir que tengo acceso de administrador en Discourse.
¿Quieres decir que subiste un plugin directamente a tu servidor?
Discourse debe compilar primero los activos JavaScript del plugin. Debes subir el plugin a un repositorio de GitHub, editar app.yml para añadirlo y luego ejecutar ./launcher rebuild app.
Subir el plugin directamente a la carpeta de plugins sin compilar hará que el frontend de Discourse no encuentre el archivo compilado y cause errores.
Además, si tienes Cloudflare activado para tu servidor, recuerda desactivar la minificación automática y borrar la caché.
Muchas gracias por la ayuda. Me funcionó desactivando la minificación automática para Cloudflare.
Como soy nuevo en Discourse, no sé mucho cómo trabajar con plugins. Estaba intentando agregar un plugin en la carpeta de plugins, pero probé lo que sugeriste, que me funcionó al subir el plugin a GitHub y obtenerlo desde el repositorio de GitHub.
¿Puedo preguntarte una cosa más? ¿Podrías guiarme sobre cómo puedo agregar campos personalizados o campos adicionales a un tema? En realidad, quiero crear un plugin que mejore la funcionalidad del tema. Quiero agregar campos personalizados para el tema, almacenar sus datos en la base de datos y renderizarlos en la página de detalles del tema.
Deberías iniciar un nuevo tema para eso y la pregunta en sí es demasiado amplia para una respuesta real, pero deberías echar un vistazo a Desarrollo de plugins de Discourse - Parte 1 - Crear un plugin básico y el resto. Querrás buscar cosas sobre la creación de topic_custom_fields y agregarlos al serializador. Ve a GitHub - discourse/all-the-plugins para obtener todos los plugins y luego puedes buscar en ellos ejemplos.
Podrías decir más sobre lo que estás haciendo que requiere los campos personalizados, ya que podría haber alguna otra forma de lograr esa tarea sin campos personalizados y sin un plugin.