31 de enero de 2020

:: Accesibilidad web. Cambio de contexto

En accesibilidad se llevan a cabo una serie de validaciones, entre las que podemos señalar la existencia de: "Cambios de contexto".

¿Pero a qué hace referencia este término?.

Se entiende por cambio de contexto: una nueva página, ventana, pestaña, aplicación o un cambio de foco (window.location, window.history, window.open, window.focus).

De esta manera, a la hora de evaluar la accesibilidad en un portal web, deberemos tener en cuenta el uso de estas técnicas, para obtener la máxima puntuación posible en los informes.


  • Verificar que no se produzca ningún cambio de contexto en los eventos: onfocus y onblur
  • Verificar que no se produzca ningún cambio de contexto nada más cargarse la página: onload
  • Verficar que no se produzca ningún cambio de contexto en el evento onchange de los elementos select


27 de enero de 2020

:: Velocity. Directivas

En Apache Velocity existen una serie de directivas que podemos utilizar:

set

Utilizada para estableer el valor de una referencia. Este valor se puede asignar a una variable o a una propiedad
#set($variable="hola mundo")
#set($noticia.titulo=$variable)

if else

Utilizada para definir enunciados condicionales dentro de una plantilla velocity
#if ($valor>10)
   Valor mayor que 10
#elseif
  Valor menor o igual que 10
#end

foreach

Utilizada para definir bucles
#foreach($noticia in $noticias)
   $noticia.titulo
#end

include

Utilizada para incluir un fichero correspondiente a una plantilla, pero que no será parseado por el motor de velocity
#include("plantilla.html")

parse

Utilizada para hacer uso de una plantilla, y esta será parseada por el motor de velocity y rederizará su contenidos
#parse("cabecera.vm")

stop

Utilizada para detener la ejecución del motor de plantillas
#stop

20 de enero de 2020

:: Velocity. ¿Qué es una plantilla?

Una plantilla velocity es un fichero con extensión .vm, que contiene el código correspondiente, compuesto por: directivas, condicionales, bucles, variables,...

Por ejemplo a la hora de desarrollar un tema en Liferay 6.2 podemos tener varios ficheros .vm encargados de  mostrar la información oportuna.

Las plantillas velocity - en tiempo de ejecución- son traducidas por el motor de velocity a código html que un navegador puede entender.

<html>
<body>
#set( $foo = "Velocity" )
¡Hola Mundo $foo!
</body>
<html>
</html>

13 de enero de 2020

:: Liferay. Deshabilitar la creación de sitios personales

Liferay crea sitios personales para los usuarios definidos en el CMS, así como para aquellos usauarios que se registran.
De esta manera, a través del fichero: "portal-ext.properties" es posible llevar a cabo una configuración, de forma que no se creen los sitios personales de los usuarios.

Deshabilitar los sitios personales de los usuarios

layout.user.public.layouts.enabled=false
layout.user.private.layouts.enabled=false


Deshabilitar la creación de sitios personales

layout.user.public.layouts.auto.create=false
layout.user.private.layouts.auto.create=false


5 de enero de 2020

:: Ejemplo de notificación HTML5 en el navegador

Las notificaciones son mensajes que últimamente en muchos portales nos solicitan que habilitemos.
El código correspondiente al envío de notificaciones sería algo similar al siguiente:


<html>
<head>
<script>
//simple function to create a notification
function notificar(title, body) {
  new Notification(title, { 
    body: body,
    icon: '/img/favicon.png'
  });
};

switch(Notification.permission) {
  //El usuario no acepta las notificaciones
  case "denied":
    window.alert('Permiso denegado. Por favor cambia la configuración del navegador para permitir a esta página recibir notificaciones');
  //el usuario ha aceptado las notificaciones
  case "granted":
    notificar('Permitir notificación', 'Has dado permiso para recibir notificaciones');
    break;
  //En cualquier otro caso
  default:
    Notification.requestPermission((status) => {
      if (status === "granted") notificar('Permitir notificación', 'Gracias por permitir recibir notificaciones');
    });
}
</script>
</head>
<body>
<p>Ejemplo de notificación</p>
<script>notificar("titulo","cuerpo del mensaje");</script>
</body>
</html>

Al cargar esta página, nos aparecerá un mensaje emergente en el que deberemos permitir o denegar las notificaciones. En el caso de aceptarlas, se nos mostrarán dos ventanas en la esquina inferior derecha con la siguiente información:
- Has dado permiso para recibir notificaciones
- Cuerpo del mensaje

Este es un ejemplo sencillo de su implementación, si bien existen distintas librerías javascript.

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