Page 1 of 1

Alta masiva de usuarios

PostPosted:Tue Feb 22, 2022 1:15 pm
by PakoMartagón
Hola:

Después de varias búsquedas, tanto por Google, YouTube como en este foro, no encuentro la forma de añadir usuarios de forma masiva.

No estoy interesado en conectarlos con un servidor de autentificación, sólo quiero añadirlos a OpenKM.

¿Alguien podría echarme una mano con ello?

Un saludo.

Re: Alta masiva de usuarios

PostPosted:Tue Feb 22, 2022 1:51 pm
by PakoMartagón
Se me ocurre que se puede solucionar con una query que inserte registros en la tabla okm_user, he añadido un usuario manualmente y no parece que haya afectado a otras tablas.

Obviamente estoy empezando con OpenKM y no estoy seguro de hacerlo, no sé si puede afectar a algo más.

Re: Alta masiva de usuarios

PostPosted:Wed Feb 23, 2022 7:54 pm
by PakoMartagón
Hola:

Creo que lo he solucionado, por lo menos está funcionando aparentemente y los usuarios puede acceder.

Según creo hay que añadir los registros a tres tablas:
  • okm_user
  • okm_ user_role
  • okm_user_config
He realizado el procedimiento mediante MySQL Workbench.

Como estoy montando ahora el servidor y es para fines educativos, aún no he definido perfiles ni roles, así que he añadido todos los usuarios con los perfiles y roles por defecto.

He tenido problemas para añadir la contraseña, MD5() y SHA() no funcionaron, así que he usado la misma contraseña para todos, copiando el contenido del campo de un usuario con una contraseña genérica ("felipe").

EVITEN USAR TILDES EN EL CAMPO USR_ID

Teniendo todo esto en cuenta las Query para la inserción de cada usuario en cada tabla podrían ser las siguientes:
Para la tabla principal, okm_user:
INSERT INTO okmdb.okm_user (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES ('Pepito_123', 'Pepito Pérez Pérez', '7e04da88cbb8cc933c7b89fbfe121cca', 'pepitoperez@gmail.com', 't');

Para la tabla okm_user_config:
INSERT INTO okmdb.okm_user_config (UC_USER, UC_HOME_PATH, UC_HOME_NODE, UC_HOME_TYPE, UC_PROFILE) VALUES ('Pepito_123','/okm:root','0b7f967b-892d-4855-a9cb-747923c367a0','okm:folder','1');

Para la tabla okm_user_role
INSERT INTO okmdb.okm_user_role (UR_USER, UR_ROLE) VALUES ('Pepito_123', 'ROLE_USER');

He añadido una hoja de cálculo adjunta para facilitar la creación de las sentencias SQL por si a alguien puede servirle. Añaden los datos en la hoja Datos y copian y pegan las filas de las otras hojas, una para cada tabla.

Un saludo.

Re: Alta masiva de usuarios

PostPosted:Sat Feb 26, 2022 10:31 am
by jllort
El problema lo tendras con el password, que tendras que ponerlo manualmente. Yo te recomendaria la funcionalidad de Scripting https://docs.openkm.com/kcenter/view/ok ... pting.html

Y el API:
Crear roles -> https://docs.openkm.com/kcenter/view/ok ... createRole
Crear usuarios -> https://docs.openkm.com/kcenter/view/ok ... createUser

Debería ser bastante fácil convertir la linea de un excel en la linea de un script que crea un usuario

nota: En los ejemplo del API veras que se utiliza una classe y un main etc.... esto en el scripting no lo tienes que hacer de esta forma, fíjate por ejemplo en este script https://docs.openkm.com/kcenter/view/ok ... older.html

Re: Alta masiva de usuarios

PostPosted:Fri Apr 01, 2022 4:11 pm
by PakoMartagón
Muchas gracias por la respuesta, me pondré a investigarlo porque es algo que tendré que hacer cada año.