31 de marzo de 2020

:: Liferay. Tiempo de sincronización con el LDAP

Como sabemos Liferay permite vincular con el LDAP mediante la definición de las credenciales y mapeo de campos oportuno. Por defecto, desde Liferay se comprobará periódicamente si debe importar algo desde el LDAP; este valor está establecido por defecto a 10 minutos en el fichero: "portal.properties".

En cualquier caso, si necesitásemos modificar este tiempo de comprobación, podríamos hacerlo a través del fichero: "portal-ext.properties" mediante la definición de la siguiente línea:

ldap.import.interval=15


Siendo el valor 15, el número de minutos entre cada comprobación o sincronización.

28 de marzo de 2020

:: Integración de Analytics en nuestro portal. Problema en la generación de informe

Como describimos en otro post (https://netic360.blogspot.com/2016/03/integracion-de-analytics-en-nuestro.html), es posible llevar cabo la integración de nuestra cuenta de Analytics en un portal web. Sin embargo, debido a un bug, es posible que a la hora de crear un nuevo informe con el plugin (Analytics) no se cargue el formulario para llevar a cabo la parametrización oportuna.


Para solventar este problema, lo que debemos hacer es repetir el proceso desde una ventana de incógnito; es decir, accederemos a nuestra cuenta de Google Drive desde una ventana de incógnito y seguiremos los pasos descritos en el post indicado anteriormente.

25 de marzo de 2020

:: Liferay. Error Configuración de autenticación a través del LDAP: invalid attribute description; remaining name

En Liferay es posible definir el proceso de autenticación a través de nuestro Directorio Activo Corporativo (LDAP). En este caso, u únicamente a modo de recordario sobre un problema -que al final era una tontería- pero que nos llevó un poco de tiempo localizar.

Tras llevar a cabo la definición -desde el panel de control de Liferay- del servidor LDAP y mapeo de los campos correspondientes, verificando que la prueba de conexión era correcta, a la hora de pulsar el botón: "Probar la configuración de usuarios LDAP", no devolvía ningún resultado y los logs se observaba la siguiente traza:


ERROR [ajp-bio-8009-exec-19][IncludeTag:129] Current URL /group/control_panel/manage?p_p_id=130&p_p_lifecycle=0&p_p_state=exclusive&p_p_mode=view&refererPlid=22323&_130_struts_action=%2Fportal_settings%2Ftest_ldap_users generates exception: javax.naming.directory.InvalidSearchFilterException: invalid attribute description; remaining name 'OU=Plantilla, OU=XXXXXXXX, DC=XXXXXXXX, DC=XXXXX'

javax.naming.directory.InvalidSearchFilterException: invalid attribute description; remaining name 'OU=Plantilla, OU=XXXXXXXX, DC=XXXXXXXX, DC=XXXXX'

        at com.sun.jndi.ldap.Filter.encodeSimpleFilter(Filter.java:446)

        at com.sun.jndi.ldap.Filter.encodeFilter(Filter.java:146)

        at com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:74)

        at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547)

        at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1985)

        at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1847)

        at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772)

        at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386)

        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356)

        at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:339)

        at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)

        at com.liferay.portal.security.ldap.PortalLDAPUtil.searchLDAP(PortalLDAPUtil.java:820)

        at com.liferay.portal.security.ldap.PortalLDAPUtil.getUsers(PortalLDAPUtil.java:617)

        at org.apache.jsp.html.portlet.portal_005fsettings.test_005fldap_005fusers_jsp._jspService(test_005fldap_005fusers_jsp.java:677)

        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

        at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:57)

        at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:78)

        at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)

        at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:295)


En nuestro caso el problema era que en el campo: "Filtro de búsqueda para la importación", habíamos puesto -debido a una modificación-: "((objectClass=Person))", cuando debería ser: "(objectClass=Person)", es decir, sobraría el "doble paréntesis".


12 de marzo de 2020

:: Coronavirus. Herramienta de seguimiento en tiempo real


En estos días, estamos preocupados por la evolución de la pandemia del coronavirus y la cantidad de información que recibidos a través de todos los medios.
Mediante una herramienta gráfica podemos seguir minuto a minuto la evolución de esta creciente infección global.

Acceso: https://www.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...