14 de agosto de 2017

:: Oracle. Cómo saber el conjunto de caracteres configurado

Aunque se trata este de un "tip"sencillo, en alguna ocasión hemos necesitado comprobar o asegurarnos del código de caracteres configurado en la base de datos Oracle con la que trabajamos.
Este valor configurado en la base de datos determina el conjunto de caracteres que puede almacenarse en ella.

La información sobre este conjunto de caracteres se almacena en la tabla de diccionario de datos denominada: "SYS.PROPS$".

De esta forma, para comprobar una serie de parámetros de nuestra base de datos, podríamos ejecutar la siguiente consulta:

SELECT * FROM NLS_DATABASE_PARAMETERS;

El valor devuelto, podría ser algo similar a lo siguiente:


10 de agosto de 2017

:: Alfresco. Descriptor de un dashlet (Tip)

El descriptor de un webscript correspondiente a un dashlet es como cualquier otro descriptor, excepto por el parámetro: "familia".

< webscript > < shortname>Hola mundo Dashlet< /shortname > < description>Saludo al usuario< /description > < family>user-dashlet< /family > < url >/components/dashlets/holamundodashlet< /url >

Este parámetro puede ser de los tres tipos siguientes:

  • user-dashlet: Es un webscript que implementa un dashlet que puede ser añadido en el panel del usuario
  • site-dashlet: Es un webscript que implementa un dashlet que puede ser añadido al panel del sitio
  • dashlet: Es un webscript que implementa un dashlet que puede ser añadido en cualquier panel


3 de agosto de 2017

:: Alfresco. User dashlet

En una entrada anterior -y a modo de prueba de concepto- habíamos explicado brevemente cómo desarrollar un dashlet webscript sencillo, que mostraba un mensaje.
Respecto a la entrada anterior, únicamente modificaremos una línea "user-dashlet" en lugar de "site-dashlet".

¿Cómo realizar un dashlet sencillo (webscript dashlet)?
1.- Crearemos un fichero denominado "holamundodashlet.get.desc.xml" con el siguiente contenido
<webscript>
    <shortname>Dashlet de ejemplo</shortname>
    <description>Dashlet de ejemplo que muestra un literal</description>
    <family>user-dashlet</family>
      <url>/components/dashlets/holamundodashlet</url>
</webscript>
2.- Crearemos un fichero denominado "holamundodashlet.get.html.ftl" con el siguiente contenido
<div class="dashlet">
<div class="title" >Dashlet de ejemplo</div>
<div class="body" >Mensaje mostrado en el dashlet</div>
</div>
3.- Estos ficheros los copiamos en la ruta "tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/dashlets"

4.- Reiniciamos el servicio y si no existen errores tendremos a nuestra disposición un nuevo dashlet

Para comprobar el correcto funcionamiento, y puesto que se trata de un "dashlet de usuario", accederemos al panel de inicio y en la rueda dentada que aparece en la parte superior derecha seleccionaremos la opción "Personalizar el panel de inicio".


Pulsaremos sobre el botón: "Añadir dashlets" y seleccionaremos el que hemos desarrollado, y pulsaremos sobre el botón: "Aceptar".

22 de julio de 2017

:: Velocity. Notación de referencias silenciosa

Cuando Velocity encuentra una referencia indefinida, el comportamiento por defecto es el de escribir el nombre de la referencia. Por ejemplo:.
<input name="correo" type="text" value="$correo"/>
Cuando el formulario se carga por primera vez la referencia $correo no tiene valor. En este caso quizás preferiríamos que se mostrase un texto en blanco en lugar del literal: "$correo". Usando la notación de referencias silenciosa, se obviará el comportamiento normal de Velocity.

De esta manera, en lugar de utilizar $correo en la plantilla Velocity, utilizaríamos $!correo. Con esta modificación el ejemplo anterior quedaría así:
<input name="correo" type="text" value="$!correo"/>
Ahora cuando el formulario se carga por primera vez y $correo no tenga valor una cadena vacía se escribirá en lugar de "$correo".

Igualmente, la notación formal y la silenciosa pueden ser utilizadas conjuntamente:
<input name="correo" type="text" value="$!{correo}"/>

17 de julio de 2017

:: Liferay. Tipos de página

A la hora de crear páginas en Liferay, las alternativas que este CMS (gestor de contenidos) pone a nuestra disposición son las siguientes:


Página en blanco: como su propio nombre indica, se muestra una página sin contenido en la que es posible insertar -de forma manual- los componentes (portlets) que se necesiten. Al seleccionar esta opción, escogeremos una disposición de página de entre las disponibles.
Una disposición de página determina cómo se ordenarán los portlets que insertemos en la página, como por ejemplo en una sola columna, a dos columnas (50-50, 30-70,70-30), etcétera.

Panel: una página que permite mostrar cualquier número de portlets en ella, pero únicamente uno a la vez. El usuario seleccionará el portlet a mostrar a través de un menú. El portlet seleccionado ocupará la página entera.

Web insertada: muestra contenido de otra página web dentro de nuestro portal. Un administrador puede establecer una URL desde el menú de configuración de páginas, mostrándose esta en el contexto de nuestro portal.

Enlace a URL: una página que simplemente redirecciona a la URL configurada, ya sea una url de nuestro portal o un enlace a una web externa.

Enlace a página de este sitio: permite seleccionar una página dentro de nuestro sitio a la que la página creada redireccionará al usuario. Puede ser útil, por ejemplo, para ubicar una página que se encuentra en un nivel de profundidad mayor en el menú de navegación del sitio de forma que esté más visible, creando una página que la enlace a un nivel más superior de la estructura.

En cualquier caso, en Liferay es posible crear tipos de página personalizados de acuerdo a necesidades concretas.

12 de julio de 2017

:: PHP. Obtener datos sobre la salida y puesta de sol

Aunque existen algunos servicios para obtener esta información, el lenguaje de programación PHP nos lo pone un poco más fácil, al estar disponible la función:

date_sun_info(fecha, latitud, longitud)

Como prueba de concepto recuperaremos la información sobre salida y puesta de sol para una fecha y ubicación determinada:

<?php $sun_info = date_sun_info(strtotime("now"), 43.4222027, -5.8248455);
foreach ($sun_info as $clave => $valor) {
    echo "$clave: " . date("H:i:s", $valor) . "
";
}
?>

3 de julio de 2017

:: Alfresco. Eliminación del contenido de la papelera

Cuando un usuario elimina -en Alfresco- cualquier contenido, este es movido a la papelera de reciclaje y se mantendrá aquí hasta que el propio usuario o el usuario administrador lo elimine definitivamente.

En cualquier caso, es posible programar la eliminación de estos contenidos cada cierto tiempo. De esta manera, para llevar a cabo esta tarea debemos incluir la siguiente línea en el fichero: "alfresco-global.properties":

trashcan-cleaner.cron=0 30 * * * ?

:: Liferay DXP 2026. Habilitar RSS

En la versión Liferay DXP 2026 para habilitar las fuentes de datos RSS debemos seguir los pasos siguientes: 1.- Accederemos a la Configuraci...