Añadir miembros masivamente a grupos

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
martinfdan's picture

Buenas, necesito poder añadir de forma masiva usuarios existentes a un grupo (no al dar de alta usuarios).

Es decir, agregar usuarios a un grupo mediante CSV, buscador, etc... sin necesidad de tener que conocer el usuario en cuestión.

Como se podría hacer?

Gracias!

Comments

Yo he utilizado feeds para

carlospdl's picture

Yo he utilizado feeds para importar nodos y me ha funcionado bien.

Buscando otra cosa, he encontrado esto que tal vez tambien te sirva, pero no lo he probado.

El "User Import" ya lo he

martinfdan's picture

El "User Import" ya lo he probado pero hasta donde yo vi no me sirve ya que funciona dando de alta usuarios (creo recordar, he probado muchos modulos y tengo un jaleo importante en la cabeza).

Mirare el de feeds que tiene buena pinta y te comento.

Muchas gracias!

He probado Feeds y no me

martinfdan's picture

He probado Feeds y no me sirve para lo que necesito. Feeds "funciona" para dar de alta NUEVOS usuarios...

Yo en cambio necesito que los usuarios EXISTENTES, sean registrados masivamente y sin conocer su username a un GRUPO.

Muchisimas gracias!

Si todo falla ...

carlospdl's picture

Si no encuentras nada, ¿has probado a importar diréctamente a la tabla de la BBDD?

Dime qué quieres hacer . ¿A qué grupo te refieres? ¿qué modulo es el que lo maneja? ¿Sabes qué tablas están implicadas?

Controlo bastante el tema de SQL y he hecho importaciones directas a tablas (módulo quiz). Puedo intentar ayudarte.

problema al importar

norbey's picture

hola carlos resulta que tengo un problema estoy haciendo una pagina web en drupal esta controlara finanzas y resulta que debo importar un archivo excel ya lo ice lo cambie a csv y lo importe en el mapeo especifique los campos cree una taxonomia y tambien agregue los mismos campos ahy pero cuando importo crea un solo nodo pero no doy donde puedo ver los campos que se han llevado , revice en views haber si habia aparecido un nombre diferente pero no y en historial si esta el archivo y en el feeds log aparece que si recibio e identifico el archivo pues me muestra todos los datos como son pero no e podido mostrarlos

de casualidad tienes alguna idea??? yo estoy varado por esto

Hola Carlos, muchas gracias

martinfdan's picture

Hola Carlos, muchas gracias por la ayuda! Te cuento un poco mas en detalle...

Tengo una instalación de Drupal 6 + Commons.

Creo un grupo (...node/add/group) pero a la hora de inscribir a usuarios existentes en el entorno a este grupo (...og/users/176/add_user) tal y como esta Drupal Commons hay que hacerlo uno a uno y conociendo siempre su nombre de usuario.

Yo lo que quiero hacer es inscribir a usuarios existentes a este grupo de manera que pueda hacerlo masivamente a través de un fichero CSV, o a través de un buscador donde me permita selección múltiple o... acepto, a priori, cualquier otra posibilidad.

No se si me he explicado un poco mejor.

Un saludo

Hola prueba con este módulo

mgzrobles's picture

Hola

prueba con este módulo http://drupal.org/project/og_username_helper que lo que hace es añadirte un campo autocompletar (en el formulario de og/users/%node/add_user) que busca usuarios del sistema y al seleccionar el que quieres lo añade a la lista separado por comas.
Igual con este te vale, y si no pues tendrás que programar algo, o probar alguno como http://drupal.org/project/user_import_og

Un saludo

Martín González Robles
web: http://elsabrosista.com
email: martin.glez.robles@gmail.com
Unidad sobre OG para Drupal 7: http://www.forcontu.com/descarga/d7u66pdf

Hola Martín... lo de

martinfdan's picture

Hola Martín... lo de "og_username_helper" es una pequeña ayuda que me viene bien, pero no me termina de servir exactamente para lo que necesito.

Ya había probado el "user_import_og" y me puede servir si tengo pocos usuarios y pocos grupos... en cuanto ambas cosas crezca puede ser un verdadero infierno.

No he trabajado con commons,

carlospdl's picture

No he trabajado con commons, y, por otra parte, uso la versió 7 de Drupal.

Voy a descargar la Drupal Commons para D6 desde Acquia y le echo un vistazo.

Mi idea es ver qué tablas son las que se modifican, y con qué datos, cuando se inscribe un usuario a un grupo. De esa forma se puede preparar una importación directa en SQL desde un fichero csv.

Te contaré algo en cuanto lo consiga (pero dame un par de días ;-) )

INSERT INTO `social_og_uid`

martinfdan's picture

Como seria la importación directa en SQL desde fichero CSV que comentas?

Con este INSERT inscribiríamos al grupo con ID 147 al usuario con ID 12058624, haciéndole usuario normal y no administrador.

INSERT INTO social_og_uid(nid, og_role, is_active, is_admin, uid, created, changed) VALUES (147, 0, 1, 0, 12058624, 1362043227, 1362043227);

1000 gracias!

Import con phpMyAdmin

carlospdl's picture

Pues por ahí van los tiros.

La idea es importar los datos desde el archivo csv con phpMyAdmin.

Recuerda hacer antes las pruebas en un entorno de desarrollo, o bien hacer una importación de prueba con dos o tres registros nada más.

Te recomiendo que tomes nota del útimo registro de la tabla antes de hacer nada por si tienes que borrar los registros importados, de forma que sepas a partir de donde hay que borrar.

Por si no lo tienes claro, o para que le sirva a los demás, te pongo los pasos.

1 - Inicia phpMyAdmin. Si estas en un alojamiento compartido, lo tendrás que hacer mediante el panel de control; si es un servidor propio, instalalo si no lo has hecho ya.

2 - Accede a la base de datos de drupal, y despues haz clic en la tabla (social_og_uid). En la parte superior de la pantalla debería aparecer

localhost >> (nombre de la BBDD) >> social_og_uid

3 - Pulsa la opción "Importar" del menu en la parte superior (debajo de la linea anterior).

4 - Selecciona el archivo csv con los datos. Ten en cuenta que la codificación (conjunto de caracteres) es importante. El archivo debería tener la misma codificación que la tabla.

5 - En "Formato" selecciona "csv".

6 - Asegurate de que los caracteres de separación de columnas y demás, se ajusten a lo que contiene el archivo.

Además, recuerda que si la primera linea del archivo csv contiene los nombres de las columnas, deberás indicarlo (el sitio para hacerlo depende de la versión de phpMyAdmin. Puede ser que tengas que especificar que se debe ignorar la primera fila, o bien indicar explícitamente que la primera fila contiene los nombres de las columnas).

Espero que te sirva.

Entiendo y esta sería la

martinfdan's picture

Entiendo y esta sería la manera de hacerlo administrativamente, pero no es lo que necesito exactamente. Posiblemente mi explicación no ha sido lo totalmente aclaratoria.

Un usuario con permisos para crear un grupo en Drupal Commons, crea un grupo llamado "Aaaa" a través de la plataforma, y quiere dar de alta en el grupo a ciertos usuarios ya existentes en la plataforma: Usuario1, Usuario2, Usuario6, Usuario20, etc...

Tal y como esta por defecto, este usuario debería conocer el "username" de los usuarios a los que quiere dar de alta y tendría que buscarlos uno a uno, con "og_username_helper" he conseguido poner un pequeño buscador de usuarios. Pero no es suficiente, me gustaría poder buscar por: nombre, apellidos, usuario, etc... y hacer la inscripción de forma masiva, no uno a uno, y todo a través de la plataforma.

No se si esta explicación es un poco mas especifica.

Un saludo

Ahora me ha quedado claro

carlospdl's picture

Te entendí que necesitabas hacerlo como administrador del sistema.
Lo que ocurre es que no conozco og.

Lamento no poner ayudarte.

En cualquier caso, cuando encuentres la solución estaría bien que la publicaras para futuras referencias. Creo que tu situación puede ser bastante habitual.

Suerte.

Eso tiene pinta de una view

Enxebre's picture

Eso tiene pinta de una view con filtros expuestos y views bulk operations implemententado tu propia acción que haga por debajo el insert que corresponda para la inserción masiva.

Saludos.

Tienes razón

carlospdl's picture

Estoy de acuerdo.
Parece bastante probable que se pueda solucionar como comentas. A fin de cuentas el problema parece ser obtener los nombres de los usuarios para hacer el INSERT, y eso se podría conseguir como dices.

Muchas gracias Carlos por tu

martinfdan's picture

Muchas gracias Carlos por tu tiempo y dedicación. Seguiré investigando!

Si alguien lee el caso y se le ocurre algo... será bienvenido!

Un saludo

Yo veo varias opciones y en

mgzrobles's picture

Yo veo varias opciones y en ambas tendrías que programar algo (sencillito creo)

Por un lado que la importación sea de usuarios del sistema.
Para ello dispones del módulo que te comenté y en que podrías basarte para realizar ese filtrado. Ahora bien, es por nombre de usuario y tu quizás quieras por otras condiciones como un campo del perfil. También puedes hacerlo como dice Enxebre, con una view de usuarios que te facilitaría el filtrado y vbo que ejecute la acción de insert en los grupos.
Todo depende de tus requisitos...

La otra funcionalidad es la importación de usuarios a través de CSV para permitir importar usuarios externos.
Hay módulos que lo realizan y tu tendrías que programar el alterar el formulario donde se sube el CSV para que indiques también el grupo que quieres y además capturar el evento donde inserta a los nuevos usuarios (o detecta que ya existan en el portal) y añadirlos al grupo seleccionado.
También puedes programarte todo, un simple formulario para subir un fichero y seleccionar un grupo (o el grupo sacarlo a partir del contexto del hook_menu donde definas el form) y procesar el fichero para ir añadiendo los usuarios primero a drupal en caso de no estar dados de alta y luego a tu grupo.
Tendrás que tener en cuenta la plataforma/s que soportaras para la importación ya que el formato será distinto según importes de linkedin outlook etc.

Para añadir usuarios a un grupo tienes funciones de OG para ello.
Mírate og_subscribe_user y og_save_subscription a las que simplemente tienes que mandar el gid y el uid.

Martín González Robles
web: http://elsabrosista.com
email: martin.glez.robles@gmail.com
Unidad sobre OG para Drupal 7: http://www.forcontu.com/descarga/d7u66pdf

Madrid

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: