Conecta WP Discourse con Discourse

Después de instalar el plugin WP Discourse, necesitas conectarlo a tu Discourse. Cuando estés listo, mira este video corto o sigue las instrucciones a continuación.

Siguiente Paso

Una vez que el plugin esté conectado, dirígete al tema que describe la función que deseas configurar:


Instrucciones

Pasos

Cuando estés en la pestaña Conexión de la configuración del plugin WP Discourse, siempre habrá un aviso en la parte superior de la página que te indicará si está conectado a tu Discourse. Para establecer una conexión, ingresa:

  1. Ingresa la URL de tu foro en el campo de configuración URL de Discourse.

  2. Revisa la configuración de Nombre de usuario de publicación. A menos que tengas una razón específica para cambiarlo, déjalo como “system”. Si lo cambias, debe ser el nombre de usuario de un usuario administrador en tu Discourse. Puedes encontrar el nombre de usuario de un usuario debajo de su nombre cuando haces clic en su avatar.

  3. Crea una clave API de Discourse para WordPress:

    1. Ve a tu Panel de Administración de Discourse (en tu foro de Discourse) y haz clic en “API”.

    2. Crea una nueva clave con lo siguiente:

      • Descripción: ingresa una etiqueta que aclare para qué es esta clave.
      • Nivel de usuario: selecciona “Todos los usuarios”.
      • Alcance: selecciona “Global”.
    3. Copia la clave que aparece en la pantalla y haz clic en “Continuar”.

  4. Pega la clave API en la configuración Clave API en WP Discourse.

Cuando hayas completado estas configuraciones, asegúrate de hacer clic en el botón ‘Guardar Opciones’. Si todo está configurado correctamente, deberías ver un aviso que dice “Estás conectado a Discourse” en la parte superior de la página.

Multisite

El plugin WP Discourse tiene una opción de Configuración Multisite para el caso en que un foro de Discourse se conecte a una red de múltiples WordPress. Esta opción está disponible en la pestaña de configuración de Conexión del sitio principal de una red.
Seleccionarla permite que algunas de las configuraciones del plugin se utilicen en toda la red (todas las opciones de conexión, las opciones de Webhook, la Clave Secreta de DiscourseConnect y la configuración Habilitar DiscourseConnect). Habilitar esta configuración creará una tabla de base de datos adicional que se utiliza para asociar topic_ids de Discourse con blog_ids de WordPress cuando se publican publicaciones de WordPress a Discourse.

Funciones no compatibles en Multisite

El uso de WordPress como cliente de DiscourseConnect no es compatible con WordPress Multisite.

Clave API granular (nuevo :sparkles:)

Ahora puedes crear una clave API granular para el plugin WP Discourse. Las claves API granulares se convertirán en la forma estándar de conectar WP Discourse a Discourse en el futuro cercano.

Cómo usar una clave granular

Así es como puedes usar una clave granular:

  1. Primero, asegúrate de estar en la versión 2.4.3 del plugin y la última versión de Discourse en la rama tests-passed. Las claves API granulares de WP Discourse aún no son compatibles con Discourse stable.

  2. Ve al panel de API en el panel de administración de Discourse y crea una nueva clave de “Todos los usuarios”, pero con un Alcance “Granular”.

  3. En la parte inferior de la lista de Alcances, encontrarás los alcances de WordPress. Selecciona el alcance “Publicación” (requerido en este momento) y los alcances para cualquier otra función que estés utilizando en el plugin WP Discourse, y haz clic en “Guardar”.

  4. Ahora reemplaza tu clave antigua en la configuración Clave API en WP Discourse con tu nueva clave granular y guarda tu configuración.

Cuando guardes tu configuración de WP Discourse, deberías ver el mensaje normal “¡Estás conectado a Discourse!”.

Si ves “No estás conectado a Discourse…”, puede ser porque tus alcances son incorrectos. El plugin compara los alcances de tu clave API con las funciones que tienes habilitadas actualmente. Si tienes alcances insuficientes, te considerará no conectado. Puedes ver qué alcances faltan habilitando los registros de conexión y observando los mensajes de error en el visor de Registros.

Los alcances de WP Discourse

Hay cuatro alcances para el plugin WP Discourse:

  1. Publicación. Este alcance te permite publicar publicaciones de WordPress a Discourse. Este alcance es obligatorio, incluso si no estás publicando (por ejemplo, solo usas DiscourseConnect), ya que incluye funcionalidades que todas las funciones utilizan. Esto se desacoplará en el futuro, haciendo que todos los alcances sean opcionales.

  2. Comentarios. Este alcance permite mostrar respuestas a las publicaciones publicadas en Discourse en WordPress como comentarios.

  3. DiscourseConnect. Este alcance permite usar DiscourseConnect (en cualquier configuración).

  4. Utilidades. Este alcance es necesario para ciertas funciones de utilidad disponibles en el plugin. Si tienes algún código personalizado que interactúa con el plugin, deberías habilitar este alcance, a menos que estés seguro de que no lo necesitas.

¿Por qué usar una clave granular?

La razón principal para usar una clave granular es la seguridad. Una clave API Global permite que cualquiera que tenga la clave actúe como administrador en tu Discourse. Esto significa que la seguridad de tu Discourse depende de la seguridad de tu WordPress. Una clave granular es mucho menos potente, ya que se limita a los alcances que habilitas para ella.

8 Me gusta

Estamos viendo un problema, mientras que la actualización de Publicaciones en Wordpress no actualiza la publicación relacionada en Discourse. Estamos recibiendo el siguiente error en los registros.

ERROR:
publish.ERROR: update_post.post_error {“wp_title”:"title … ",“wp_author_id”:“2205402”,“wp_post_id”:3179224,“response_message”:“No tiene permiso para ver el recurso solicitado. El nombre de usuario o la clave de la API no son válidos.”,“http_code”:403}

Estamos utilizando una clave granular para conectar WP Discourse a Discourse con los ámbitos “Publicación en Wordpress” y “Comentarios en Wordpress”. ¿Alguien puede ayudarme con esto?

Hola @deepak_dhamde, lamento que tengas un problema. Hoy viajo, pero intentaré reproducir tu problema y te responderé mañana a primera hora.

1 me gusta

Hola @deepak_dhamde He grabado un video mío configurando una clave granular con los alcances que estás utilizando. Si pudieras revisarlo y decirme si estás haciendo algo diferente.

Hola @angus, disculpa la demora en responder.
Seguimos exactamente el mismo procedimiento para generar la Clave Granular pero aún vemos el mismo error 403 en los registros. Cuando actualizamos las publicaciones de WordPress, el tema relacionado en Discourse no se actualiza.

ERROR:

[2024-09-16 06:51:28] publish.ERROR: update_post.post_error {“wp_title”:“Testing update post feature on staging site”,“wp_author_id”:“2168699”,“wp_post_id”:3175772,“response_message”:“No tiene permiso para ver el recurso solicitado. El nombre de usuario o la clave de la API no son válidos.”,“http_code”:403}

Hola @deepak_dhamde.

Probablemente habrá alguna pequeña diferencia en la forma en que lo estás configurando, o en tu entorno. Me resulta difícil encontrar esa diferencia sin más información. Aquí tienes algunas formas en que podemos avanzar:

  1. podrías darme acceso a tu entorno (con gusto firmaré un acuerdo de confidencialidad) para que pueda echar un vistazo; o
  2. podrías grabar tu propio video haciendo lo mismo que acabo de hacer (enviármelo en privado); o
  3. puedes echar otro vistazo y considerar estos factores:
    • ¿Están actualizados tu Discourse y Wordpress?
    • ¿Puedes crear una clave “Global” que funcione?
    • ¿Has intentado que diferentes miembros de tu equipo realicen el mismo conjunto de pasos (a veces, una nueva perspectiva verá algo nuevo)?
    • comparte el archivo “meta” en tu visor de registros de WP Discourse conmigo (es decir, tu entorno de Wordpress) y veré si algo destaca.

Hola @angus,

Creamos una nueva clave granular, seguimos el procedimiento que mencionaste en el video y habilitamos la edición en el ámbito de publicación, y comenzó a funcionar. Muchas gracias por ser tan paciente y comprensivo.

1 me gusta

4 publicaciones se dividieron en un nuevo tema: Conectar WP Discourse a una instancia local de Discourse que ejecuta una versión específica