26 de marzo de 2016

:: Liferay. Comprobar si estamos logueados

A veces necesitamos saber si el usuario está o no logueado para aplicar una u otra opción en una plantilla Velocity. Para ello, podemos utilizar el código siguiente:

#set ($themeDisplay = $httpServletRequest.getAttribute("THEME_DISPLAY"))
$themeDisplay.isSignedIn()
Los pasos a seguir para crear una prueba de concepto son los descritos a continuación:
1.- Creamos una estructura sencilla
< ?xml version="1.0"? >
< root >
    < dynamic-element name="titulo" type="text" index-type="" repeatable="false"/ >
    < dynamic-element name="texto" type="text_box" index-type="" repeatable="false"/ >
< /root >

2.- Creamos una plantilla asociada que nos mostrará un mensaje si estamos logueados, y otro distinto en caso contrario
#set($serviceContext = $portal.getClass().forName("com.liferay.portal.service.ServiceContextThreadLocal").getServiceContext())
#set($httpServletRequest = $serviceContext.getRequest())
#set($themeDisplay = $httpServletRequest.getAttribute("THEME_DISPLAY"))
< div >
    $titulo.data

    $texto.data

    #if($themeDisplay.isSignedIn())
        El usuario está logueado

    #else
        El usuario no está logueado

    #end
< /div >

3.- Añadimos un contenido del nuevo tipo de datos definido (estructura)

4.- En una página insertamos un publicador de contenidos que muestre esta información

5.- Estando des-logueados comprobamos el mensaje que se muestra

6.- Estando loguegados comprobamos que el mensaje mostrado es el que corresponde

Una tarea sencilla que puede ser de utilidad y que muchas veces no recordamos cómo se hace.

23 de marzo de 2016

:: Alfresco. Configurar GMail como correo saliente

Para poder enviar notificaciones desde Alfresco (invitación a un sitio, workflows o acciones que impliquen el envío de correo electrónico,...) es necesario tener configurado el correo saliente.

Para llevar a cabo la configuración del SMTP utilizando una cuenta de gmail, debemos especificar las siguientes líneas en el fichero alfresco-global.properties ubicado en c:\alfresco\tomcat\shared\classes:

### Correo SMTP
mail.encoding=UTF-8
mail.from.default=cuenta_de_correo@gmail.com
mail.host=smtp.gmail.com
mail.port=465
mail.protocol=smtps
mail.smtps.auth=true
mail.smtp.starttls.enable=true
mail.username=cuenta_de_correo@gmail.com
mail.password=clave_cuenta_correo_gmail

Para comprobar si el correo está correctamente configurado en Alfresco,  podríamos indicar que se envíe un correo cada vez que arranque el servicio,  añadiendo las siguientes líneas al fichero anterior:
### Email cuando arranca el servicio de Alfresco 
mail.testmessage.send=true
mail.testmessage.to=cuenta_de_correo@gmail.com
mail.testmessage.subject=Notificación de Alfresco; el servidor ha 
arrancado.
mail.testmessage.text=Sistema SMTP configurado en ${dir.root} está 
funcionando correctamente.

Al reiniciar el servicio de Alfresco (y cada vez que este se reinicie) enviará - a la cuenta especificada - un correo electrónico informativo.

Hay un último detalle a configurar, debido a las políticas de seguridad de GMail.  Es posible que recibamos una notificación de GMail indicando que se evitó un inicio de sesión, por lo que será necesario habilitar el acceso para las aplicaciones menos seguras (ayuda de GMail: https://support.google.com/accounts/answer/6010255)

Tras activar esta opción recibiremos un nuevo correo indicando que se ha activado, y al arrancar de nuevo Alfresco, recibiremos el correo esperado indicando que el servicio SMTP está funcionando con normalidad.

18 de marzo de 2016

:: Integración de Analytics en nuestro portal

La solución que describiremos a continuación realizará una generación automática de un informe de Analytics.
Es una forma de integración que reduce el trabajo necesario para hacer uso de los datos de la herramienta Google Analytics, por ejemplo en nuestra web.

La API de Analytics permite exportar los datos para su explotación y análisis; en cualquier caso una forma más sencilla de hacer uso de esta información sería añadirla a una hoja de cálculo, y de esta forma construir un tablero personalizado.


El ejemplo que veremos nos permitirá:

  • Consultar y generar múltiples vistas de los datos
  • Analizar y visualizar cálculos personalizados
  • Crear vistas e incrustarlas en un sitio web
  • Programar informes y ejecutarlos automáticamente
  • Controlar quien ve los datos y vistas utilizando las opciones de privacidad de las hojas de cálculo de Google Drive


Vamos a crear una hoja de cálculo (tablero) que actualizará automáticamente los datos. Para ello debemos seguir los siguientes pasos:
1.- Accedemos a Google Drive y creamos una nueva hoja de cálculo, asignándole un nombre

2.- Seleccionamos la opción de menú: "Add-ons" > "Get Add-ons" y buscamos Analytics

3.- Una vez instalado, en Add-ons tendremos una entrada denominada "Google Analytics", por lo que seleccionaremos "Create a new report" para comenzar con el proceso de creación del informe personalizado

4.- Especificamos los datos del informe y pulsaremos sobre el botón "Crear informe"

  • Nombre
  • Cuenta definida en nuestro panel de Analytics
  • Propiedad (portal en nuestro panel de Google Analytics a mostrar en el informe)
  • Métricas a mostrar en el informe, por ejemplo "Sessions"
  • Dimensiones, por ejemplo: "date"


5.- En una de las pestañas de la hoja de cálculo nos aparecerá la información correspondiente al informe que acabamos de generar, pudiendo editar los valores según nuestras necesidades

6.- Procederemos a ejecutar el informe que hemos configurado, seleccionando la entrada de menú "Add-ons" > "Google Analytics" > "Run Reports"

7.- La tarea anterior nos creará una nueva pestaña en la hoja de cálculo, con los datos resultado de consultar Google Analytics

8.- El próximo paso es la generación del gráfico por lo que seleccionaremos los datos a mostrar en el gráfico y copiaremos esta información en una pestaña en blanco

9.- Con los datos seleccionados, pulsaremos sobre la opción "Insert" > "Chart" y parametrizaremos el gráfico como deseemos

10.- Sobre el gráfico generado hay un menú desplegable donde seleccionaremos la opción "Publish Chart" obteniendo el código a insertar
En  nuestro portal insertaremos un iframe (no es que sea la mejor opción) con el vínculo al documento:
< p >
Accesos al portal en los últimos 30 días< iframe frameborder="0" height="600px" scrolling="no" seamless="" src="https://docs.google.com/spreadsheets/d/XXXXXXXXX/pubchart?oid=xxxxx&format=interactive" width="100">< /iframe>< /p >

11.- Para que los datos se actualicen automáticamente, seleccionaremos la opción "Add-ons" > "Google Analytics" > "Schedule resports"estableciendo la periodicidad y horas en las que se ejecutará el proceso que actualizará los datos.


En el vídeo siguiente se describe todo el proceso para la publicación de un gráfico con los datos de Analytics en nuestra web.



Más información: https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on

12 de marzo de 2016

:: Mantis.Integración con el directorio activo de la organización

La herramienta de gestión de incidencias Mantis BT permite integración con el directorio activo de la organización, simplemente configurando esta vinculación en el fichero: config-inc.php

Los valores a especificar en este fichero son los siguientes:

# LDAP
$g_login_method = LDAP;
$g_ldap_server = 'ldap://1.1.1./';
$g_ldap_port = '389';
$g_ldap_root_dn = 'ou=usuarios,ou=xxx,dc=xxx,dc=xxxx';
$g_ldap_organization = '';
$g_ldap_uid_field = 'sAMAccountName';
$g_ldap_bind_dn = 'xxxxx@xxx.xxxx';
$g_ldap_bind_passwd = 'xxxxx';
$g_use_ldap_email = ON;
$g_ldap_protocol_version = 3;

Tras la configuración de estos parámetros y reiniciar el servicio, la validación de los usuarios irá contra el directorio activo de la organización.

8 de marzo de 2016

:: Alfresco. Ya está disponible la versión 5.1

La nueva versión de Alfresco ya está oficialmente disponible (Alfresco Community 201602 GA), coincidiendo con la liberación de Alfresco One 5.1.

Esta nueva versión incluye nuevas características como "carpetas inteligentes", fácil modelado del contenido, mejora en la integración con Microsoft Office, mejoras en la interface Share, nuevas funcionalidades en la administración de consolas, mejoras en la API, etcétera.

Más información:  https://goo.gl/cX1vSk

2 de marzo de 2016

:: Liferay. Deshabilitar la creación del sitio privado para cada usuario

Para evitar la creación de un sitio privado cada vez que creamos un nuevo usuario en Liferay, debemos especificar esta línea en el fichero: portal-ext.properties

layout.user.private.layouts.enabled=false

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