Page 1 of 1

Reports y LDAP

PostPosted:Fri May 26, 2017 9:26 am
by rre
Buenas
Al ejecutar un report no me devuelve los users del active directory que tengo configurados
Sino solo el usuario por defecto de Admin. ¿Donde y que tengo que cambiar para que me devuelva bien los users?
El report es la plantilla que viene en la web RegisteredUsers.jrxml
Por aportar mas información en la pestaña database query si ejecuto :
SELECT * FROM OKM_USER_CONFIG; me devuelve los users del AD , ok.
SELECT * FROM OKM_USER; me devuelve el user admin por defecto.
un saludo y gracias

Re: Reports y LDAP

PostPosted:Fri May 26, 2017 6:38 pm
by jllort
Porque tienes que lanzar el report de los usuarios basada en scripting, donde se ejecuta una consulta al API de openkm y no a la base de datos pelada. Te ajunto las dos versiones para que puedas comparar el que funciona por BD y el que funciona con scripting que es el que te interesa
(7.33 KiB) Downloaded 267 times

Re: Reports y LDAP

PostPosted:Tue May 30, 2017 4:53 pm
by rre
Gracias por la respuesta jllort
No me funciona el report, añado el .zip, lo ejecuto, introduzco las fechas (2017-05-29 2017-05-30) y le doy a pdf , me genera un pdf vacio, tambien con csv o rtf
Un saludo

Re: Reports y LDAP

PostPosted:Wed May 31, 2017 6:17 am
by rre
Realmente , más que vacío , es como un archivo corrupto o erroneo, en pdf no me deja abrirlo y en los otros dos formatos si que esta en blanco totalmente

Re: Reports y LDAP

PostPosted:Sat Jun 03, 2017 2:16 pm
by jllort
Mira en el log del servidor a ver si te aparece algún error cuando estas ejecutando el report. Si te descarga un PDF sin filas indica que el report se esta ejecutando correctamente aunque puede ser que por el rango de fechas que has puesto no aparezca ningún resultado, otro caso distinto es cuando no aparece ningún resultado y tienes la traza de un error en el servidor. En cualquier caso siempre hay que empezar por mirar el log del servidor ( catalina.log )

Re: Reports y LDAP

PostPosted:Fri Nov 03, 2017 9:55 am
by rre
Buenas de nuevo
Ya me funcionan los reports.
¿Como podría sacar el nombre del usuario en el report anterior? Ahora devuelve el usuario - ID (con el que hace login desde el LDAP) algo tipo "User001", y yo quiero el Nombre y apellido, tipo: Paco Martin o correo electronico que se saca también del LDAP
Seria modificar esta parte
Code: Select all
for (Iterator it = ActivityDAO.findByFilter(filter).iterator(); it.hasNext();) {
    Activity act = (Activity) it.next();
    Map actMap = new HashMap();
    actMap.put("user", act.getUser());
    actMap.put("date", act.getDate().getTime());
    al.add(actMap);
Creo que seria utilizando la clase "import com.openkm.dao.AuthDAO;", con algo así, pero no me acaba de salir:
Code: Select all
 User usr = AuthDAO.findUserByPk(act.getUser());
  actMap.put("user", usr.getName());

Re: Reports y LDAP

PostPosted:Fri Nov 03, 2017 6:49 pm
by jllort
En vez de utilizar el AuthDAO, deberías utilizar el OKMAuth.getInstance().getName(), es decir utilizar el API. En el report utilizamos el DAO que es un método interno que solo funcionará en el caso de que los usuarios se encuentren en la base de datos de OpenKM ( lo más usual ), pero para el caso que te ocupa necesitas realizar la consulta a través del API ( internamente el API realizará la consulta al LDAP o a la base de datos en función del tipo de conexión que tengas ).