14 de febrero de 2020

:: Java. Determinar si dos fechas pertenecen al mismo día

Únicamente como recordatorio para determinar si dos fechas son del mismo día (00:01 a 23:59), podemos hacer uso de la siguiente función "isSameDay" de la clase "DateUtils":


if (DateUtils.isSameDay(date1, date2)) {
    System.out.println("Fechas en el mismo día");
} else if (date1.before(date2)) {
    System.out.println("Fecha1 es anterior a la fecha2");
} else {
    System.out.println("Fecha1 es posterior a la fecha2");
}


10 de febrero de 2020

:: Liferay. Comentarios en un workflow

En la definición de un workflow en Liferay, en el que necesitamos que al rechazar una solicitud se envíe un correo al usuario, adjuntando además los motivos, podemos hacer uso de la variable: $taskComments

Dentro del fichero .xml de definición del workflow, tendremos el código al que llamaremos, por ejemplo:


<state>
  <name>reject</name>
  <metadata> <![CDATA[{"xy":[356,225]}]]> </metadata>
  <actions>
   <action>
    <name>denied</name>
    <description/>
    <script> <![CDATA[Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("denied"), workflowContext);]]> </script>
    <script-language>javascript</script-language>
    <execution-type>onEntry</execution-type>
   </action>
   <!-- correo al usuario rechazado -->
   <notification>
    <name>Review Notification</name>
    <description>Denegación de solicitud</description>
    <template><![CDATA[<html>

       #set ($workflowHandlerRegistryUtil = $portal.getClass().forName("com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil"))
       #set ($locale = $localeUtil.getDefault())
       #set ($timeZone = $timeZoneUtil.getDefault())
       #set ($workflowHandler = $workflowHandlerRegistryUtil.getWorkflowHandler($entryClassName))
       #set ($classPK = $getterUtil.getInteger($entryClassPK))
       #set ($assetRenderer = $workflowHandler.getAssetRenderer($classPK))
       #set ($emailUser = $assetRenderer.getEmailNotificationDenied($locale, $timeZone, $taskComments))
              
      </html>]]> </template>
    <template-language>velocity</template-language>
    <notification-type>email</notification-type>
    <execution-type>onEntry</execution-type>
   </notification>
  </actions>
 </state>


En la función encargada de realizar el envío de correo tras ser rechazada la solicitud, 
añadiremos los comentarios al cuerpo del mensaje.

5 de febrero de 2020

:: Accesibilidad web. Enlaces adyacentes

Dentro del análisis de accesibilidad web, uno de los puntos comprobados es la existencia de enlaces adyacentes que apuntan al mismo destino.

Se consideran enlaces adyacentes aquellos que están separados por un carácter y/o conjunto de espacios en blanco, o por alguna etiqueta que no pertenezca al grupo de etiquetas en línea: a, abbr, acronym, b, big, code, cite, dfn, em, font, img, ins, label, q, s, small, span, strike, strong, sub, sup, u.


NOTA: No se tienen en cuenta los enlaces que apunten al destino: #

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