Reports y LDAP

Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules
Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
Post Reply
rre
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: Fri May 26, 2017 9:14 am

Reports y LDAP

Post by rre » Fri May 26, 2017 9:26 am

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

jllort
Moderator
Moderator
Posts: 10351
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Reports y LDAP

Post by jllort » Fri May 26, 2017 6:38 pm

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
reports.zip
(7.33 KiB) Downloaded 56 times

rre
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: Fri May 26, 2017 9:14 am

Re: Reports y LDAP

Post by rre » Tue May 30, 2017 4:53 pm

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

rre
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: Fri May 26, 2017 9:14 am

Re: Reports y LDAP

Post by rre » Wed May 31, 2017 6:17 am

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

jllort
Moderator
Moderator
Posts: 10351
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Reports y LDAP

Post by jllort » Sat Jun 03, 2017 2:16 pm

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 )

rre
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: Fri May 26, 2017 9:14 am

Re: Reports y LDAP

Post by rre » Fri Nov 03, 2017 9:55 am

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());

jllort
Moderator
Moderator
Posts: 10351
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Reports y LDAP

Post by jllort » Fri Nov 03, 2017 6:49 pm

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 ).

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 2 guests