Importar usuarios existentes de Wordpress a Discourse

Hola a todos,

Quizás me esté perdiendo algo, pero ¿cómo puedo lograr lo siguiente?

Un sitio existente de WordPress con cientos de miembros registrados.
Una nueva instalación autoalojada de Discourse que utilice WordPress como proveedor de SSO.

Necesito importar todos los usuarios existentes de WordPress a Discourse para que no tengan que iniciar sesión primero en el sitio de WordPress para acceder a las notificaciones de Discourse.

Estos usuarios NO son expertos en tecnología y pedirles que inicien sesión primero en el sitio web es demasiado complejo para ellos.

Actualmente están acostumbrados a usar un sistema de tablón de anuncios de Google Groups con el que pueden comunicarse mediante publicaciones enviadas exclusivamente por correo electrónico. Por lo tanto, no es probable que se autoaprovisionen de manera fiable en el nuevo Discourse alojado.

Cualquier idea sería muy apreciada.

¿Estás intentando migrar usuarios a Discourse o a Discord?

Si estás usando WordPress como proveedor de SSO para Discourse con el complemento WP Discourse, habilitar la opción Crear o Sincronizar usuarios de Discourse al iniciar sesión debería lograr lo que buscas. Los usuarios de Discourse se crearán a partir de los usuarios de WordPress cuando inicien sesión por primera vez en tu sitio de WordPress.

@simon Discourse, lo siento.

Tengo esa opción habilitada, pero no quiero que los usuarios TENGAN que iniciar sesión para ser creados en Discourse.
Debido a la falta de conocimientos técnicos de los usuarios, necesito importarlos masivamente a Discourse sin que ellos realicen ninguna interacción.

LA GRAN mayoría de los usuarios nunca iniciarán sesión realmente. Sin embargo, SÍ participarán en las conversaciones mediante respuestas por correo electrónico.

Hay varias formas de abordarlo. Si te sientes cómodo haciendo algo de programación, el plugin WP Discourse ofrece algunas funciones estáticas para sitios que utilizan WordPress como proveedor de SSO para Discourse. Las funciones se encuentran en este archivo: https://github.com/discourse/wp-discourse/blob/master/lib/utilities.php.

Para usarlas, deberás recorrer todos tus usuarios de WordPress y, por cada uno, llamar a:

$sso_params = \WPDiscourse\Utilities\Utilities::get_sso_params( $user );

\WPDiscourse\Utilities\Utilities::sync_sso_record( $sso_params );

El parámetro $user en la primera línea debe ser un objeto de usuario de WordPress.

Deberás tener en cuenta la limitación de tasa de Discourse. Querrás limitar tus solicitudes a aproximadamente una por segundo. Cuando la llamada a sync_sso_record sea exitosa, se devolverá un usuario de Discourse.

Genial, gracias. ¿Y si no me siento seguro con un poco de programación?

Lo que publiqué arriba podría ser la forma más sencilla de migrar a tus usuarios actuales a WordPress. Si tienes presupuesto, podrías crear un tema en nuestra categoría Marketplace para encontrar a alguien que realice el trabajo por ti.

Si no tienes presupuesto, podrías rogarle a tus usuarios que inicien sesión en tu sitio de WordPress. Si tienes muchos usuarios que nunca iniciarán sesión en WordPress o Discourse, es posible que debas replantear tu enfoque.

Gracias @simon.
He publicado en Marketplace.

Gracias por tu ayuda.

Dependiendo de tu situación, lo más sencillo sería no usar SSO para iniciar sesión de los usuarios en Discourse. Así, podrías exportar una lista de usuarios desde WordPress, extraer sus direcciones de correo electrónico en un archivo CSV y utilizar la funcionalidad de invitación masiva de Discourse para invitarlos a tu foro. Podrías personalizar el correo de invitación para informar a los usuarios que deben hacer clic en el enlace del correo y aceptar unirse a la comunidad. Una vez que hayan hecho eso, podrán interactuar con el foro por correo electrónico.

Suena a que lo que deberías hacer es importar los datos existentes. ¿Puedes obtener archivos mbox de la lista?