Cómo agregar a todos los miembros en un nuevo grupo?

Hola,

Me gustaría añadir a todos los miembros en un nuevo grupo, pero cuando intento copiar y pegar una lista grande de nombres de usuario separados por comas, obtengo un error.

Funciona cuando intento importar 100, pero tengo que añadir 40.000 miembros…

En el pasado era posible importar hasta 10.000.

¿Alguna idea?

1 me gusta

Sí, no estoy seguro de que la interfaz de usuario agregue miles de usuarios en bloque. Creo que puedes hacerlo creando un nuevo grupo y luego usando la consola de Rails para agregar usuarios con nivel de confianza: 0 a ese grupo. Si decides seguir esta ruta, asegúrate de hacer una copia de seguridad primero.

2 Me gusta

¿Por qué? ¿Qué problema está resolviendo esto? ¿Planea eliminar a algunos de ellos más tarde? ¿Por qué no usar simplemente trust_level_0 o trust_level_1? Es probable que, sea lo que sea que esté intentando hacer, añadir a todos los usuarios a un grupo no sea una buena manera de resolver el problema.

Puede hacerlo desde Rails. Creo que esto funcionaría.

group=Group.find_by_name('my_group')
User.all.each do |user|
  GroupUser.create!(user_id: user.id, group_id: group.id)
end

Escribí un plugin que podría ayudar, aunque no está bien probado y alguien que lo intentó tuvo problemas. Si tiene presupuesto o es valiente, puede contactarme.

3 Me gusta

Sí, solo uso Trust_level_0 cada vez que necesito dirigirme al grupo demográfico de todos los miembros.

1 me gusta

Me gustaría mencionar en un tema (y notificar por correo electrónico) a todos los miembros. ¿Funcionará con el grupo de nivel Trust_level_0? Idealmente, preferiría crear un nuevo grupo para personalizar el nombre del grupo.

¿Quizás solo tener una categoría de anuncios y que todos la tengan configurada para seguirla?

Puedes añadir a todos desde rails como sugerí, pero eso no añadirá nuevos usuarios.

Quizás echa un vistazo al plugin de automatización y a la membresía de grupo a través de insignias. Parece que podrías crear una insignia personalizada que añada a los usuarios con esa insignia al grupo: Discourse Automation

3 Me gusta

Si tienes más de 100 usuarios, tendrás que cambiar la configuración de usuarios máximos notificados por mención de grupo.

2 Me gusta

¡Ah, sí, buen punto! Gracias, olvidé esa configuración. :slight_smile:

1 me gusta

El número máximo de usuarios que puedes añadir a la vez al formulario Añadir Usuarios de un grupo es 1000. Si observas el código, parece que deberías recibir un mensaje de error similar a este si intentas añadir más:

“No se pueden añadir más de 1000 usuarios a la vez.”

Tiene que haber algún tipo de límite, de lo contrario Discourse corre el riesgo de lanzar un error no controlado. Para sortear el límite, me gusta el enfoque del Plugin de Automatización que sugirió Jay.

2 Me gusta

¿Por qué no usar la interfaz encapsulada group.add(user)? ¿No habría problemas potenciales al manipular directamente ActiveRecord de esta manera?

1 me gusta

Estoy bastante seguro de que esta es la mejor (y más simple) solución para el caso de uso de @kam44.

Pero es muy bueno saber cómo agregar personas a un grupo desde la consola de Rails: ¡esto será útil para fusionar grupos grandes, que he tenido que hacer en alguna ocasión!

2 Me gusta

¿Por qué no, de hecho? No estoy seguro de por qué no lo vi cuando busqué hace un tiempo.

No es peligroso llamar a cosas de active record. Impone las reglas que necesita.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.