Fusión de cuentas de usuario

:bookmark: Esta guía explica cómo fusionar varias cuentas de usuario en una única cuenta de Discourse. Cubre la fusión de usuarios que no son personal a través de la interfaz de Discourse y la fusión de usuarios del personal mediante la consola.

:person_raising_hand: Nivel de usuario requerido: Administrador

La fusión de cuentas de usuario en Discourse permite combinar varias cuentas en una sola. Este proceso puede ser útil en varios escenarios:

  1. Cuando un usuario crea varias cuentas, tal vez porque olvidó su registro anterior.
  2. Si un usuario crea una nueva cuenta con una nueva dirección de correo electrónico en lugar de actualizar la existente.
  3. Cuando un usuario desea consolidar varias cuentas utilizadas para diferentes fines (por ejemplo, personales, comerciales o de pruebas) en una única cuenta.

Fusión de usuarios que no son personal

Los administradores pueden fusionar usuarios que no son personal directamente a través de la interfaz de Discourse.

:warning: Esta acción es irreversible. La cuenta de usuario de origen se eliminará después de la fusión.

Para fusionar dos usuarios que no son personal:

  1. Ve a la página de administración del usuario de origen (la cuenta desde la que deseas fusionar).
  2. Desplázate hasta la parte inferior de la página.
  3. Haz clic en el botón “Fusionar”.
  4. En la primera ventana emergente, escribe el nombre de usuario de la cuenta de destino (la cuenta en la que deseas fusionar) y haz clic en “Transferir y eliminar”.
  5. Aparecerá un cuadro de diálogo de confirmación. Escribe el texto de confirmación mostrado (por ejemplo, transfer @source to @target) y haz clic en “Transferir y eliminar” para iniciar la fusión.

:information_source: Fusionar cuentas grandes puede requerir muchos recursos y llevar algún tiempo en procesarse, dependiendo de la cantidad de datos asociados con el usuario de origen.

¿Qué se fusiona?

Al fusionar cuentas de usuario, Discourse combina datos de más de 50 tablas, incluidas:

  • Publicaciones y temas
  • Me gusta otorgados y recibidos
  • Mensajes privados
  • Información del perfil del usuario
  • Preferencias y ajustes del usuario
  • Acciones y actividad del usuario (por ejemplo, marcadores, vistas de temas)
  • Insignias y logros
  • Nivel de confianza y membresías de grupos
  • Cuentas asociadas (por ejemplo, inicios de sesión sociales)

En caso de conflictos, se conservan los detalles del usuario de destino. Si ambos usuarios tenían un usuario anónimo asociado a su cuenta, el propiedad del usuario de origen se perderá.

:warning: Los enlaces entrantes que hacen referencia al usuario de origen (por ejemplo, https://discourse.example.com/t/some-topic/17/3?u=source_username) no se asociarán con el usuario de destino después de la fusión.

Nota importante sobre la fusión de usuarios y DiscourseConnect

La fusión de cuentas de usuario puede afectar potencialmente a DiscourseConnect (anteriormente SSO), dependiendo de la implementación:

  • Si DiscourseConnect se basa en la dirección de correo electrónico, no debería haber problemas siempre que se utilice el correo electrónico de la cuenta de destino en el sistema DiscourseConnect. Ten en cuenta que el correo electrónico del usuario de origen se convertirá en un correo electrónico secundario en la cuenta de destino después de la fusión, lo que podría causar problemas de inicio de sesión si ese correo se utiliza posteriormente con DiscourseConnect. Considera eliminar los correos electrónicos secundarios después de la fusión si es necesario.
  • Si el sistema DiscourseConnect utiliza un ID de usuario único diferente al ID de usuario de Discourse, la fusión podría causar problemas si el ID único de la cuenta de origen no se mapea correctamente a la cuenta de destino.

Fusión de usuarios del personal

Por razones de seguridad, la fusión de usuarios del personal debe realizarse a través de la consola.

:information_source: Si tu sitio está alojado con Discourse, contacta a team@discourse.org para obtener ayuda con la fusión de usuarios del personal.

Para fusionar usuarios del personal a través de la consola:

root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']

Users merged!

root@host-app:/var/www/discourse#

:warning: Asegúrate de que no haya espacios antes o después de la coma en el comando.

Preguntas frecuentes

P: ¿Qué sucede si el proceso de fusión parece detenerse?
R: Si la pantalla de progreso de la fusión no muestra cambios durante un período prolongado, intenta actualizar la página. Es posible que la fusión se haya completado, pero la interfaz no se actualizó.

P: ¿Puedo deshacer una fusión de usuarios?
R: No, una vez que dos usuarios se fusionan, la acción no se puede deshacer. La cuenta de usuario de origen se elimina permanentemente después de la fusión.

P: ¿Afectará la fusión de usuarios a sus publicaciones y temas?
R: Todas las publicaciones y temas del usuario de origen se transferirán al usuario de destino. La autoría de estos elementos cambiará para reflejar al usuario de destino como creador.

10 Me gusta

Se dividió una publicación en un nuevo tema: El botón de fusionar usuario desapareció en mi sitio

También encontramos otra situación complicada con la fusión y el SSO.

  1. El usuario crea una cuenta SSO en la Organización A con una dirección de correo electrónico de first.last@organizationA.com
  2. El usuario se muda a la Organización B y crea una cuenta SSO con una dirección de correo electrónico de first.last@organizationB.com
  3. Fusionamos las dos cuentas
    1. La dirección de correo electrónico principal del usuario es ahora first.last@organizationB.com
    2. PERO el proceso de fusión deja first.last@organizationA.com como la dirección de correo electrónico SECUNDARIA
  4. El usuario regresa a la Organización A, intenta iniciar sesión a través de SSO con first.last@organizationA.com y queda atrapado en el siguiente bucle de inicio de sesión con este mensaje de Discourse: Slow down, you’re making too many requests (Tranquilízate, estás haciendo demasiadas solicitudes)

Para solucionarlo, eliminamos first.last@organizationA.com de la dirección de correo electrónico SECUNDARIA en la cuenta fusionada en el paso n.º 3. Esto creó otra cuenta nueva, que luego fusionamos con la cuenta de first.last@organizationB.com.

También ajustamos nuestro proceso de fusión para que, después de fusionar, eliminemos inmediatamente la dirección de correo electrónico secundaria de la cuenta.

1 me gusta

¿Por qué es así? (¿Por qué no se fusionan también?)

He estado leyendo cómo fusionar cuentas aquí, pero en el foro, donde soy administrador, el botón de fusión no aparece junto al botón de Anonimizar usuario. :man_shrugging:

Al combinar cuentas, ¿cuál se conserva? ¿Cómo se garantiza que se mantenga la correcta? ¿Se combina desde la cuenta que se desea eliminar o desde la que se quiere conservar?

Utilizando la terminología anterior, el usuario «source» se elimina y sus publicaciones, entre otras cosas, se transfieren al usuario «target». Lo hice por primera vez el otro día y funcionó sin problemas.

2 Me gusta