Dashboards y Gadgets v3.0: Parte 1

En la nueva versión de sofia2, se ha dado un paso más en la creación de Gadgets y Dashboards en la plataforma, haciéndolos más potentes y configurables.

Se ha modificado la interfaz de creación de todos los Gadgets, para hacerla más amigable al usuario y se han incrementado las posibilidades de la misma:

A nivel de nuevas características tenemos:

Transformaciones de dato en tiempo real: Se permiten transformaciones de cada uno de los datos y ejes, esto es, usar pequeños fragmentos de código javascript, con los que poder modificar datos y mostrarlos como queramos, incluso transformar el tipo de dato, o usar funciones anónimas o funciones auxiliares.

Para poder aplicar estas transformaciones, cada dato posee un campo adicional, asociado a su transformación, denominado transformación del dato:

$0 representa el valor actual que llega y se recibe y que puede ser usado en cualquier expresión. Tenemos dos tipos principales de transformaciones según su complejidad:

– Si la transformación es simple y se puede realizar en una sentencia se escribirá directamente, por ejemplo: new Date($0), $0 + ‘€’ o Math.random()*100

– Si la expresión es más compleja, por ejemplo, se necesitan sentencias condicionales, deberá usarse una función anónima para la misma como se muestra a continuación:

function(){

   if($0==’Paco’)

        return true;

    else

    return false;

}

En este caso, el valor devuelto por la función será el enviado al Gadget.

Debemos tener en cuenta, que para cada valor tipo “Date” que tengamos, debemos hacer un new Date($0) del campo concreto, para realizar su transformación, al tipo fecha utilizado en los Gadgets.

Utilización de arrays en los datos: se permite utilizar los campos de tipo array, de forma que se puede acceder a cualquier elemento simple del mismo. Teniendo un array del tipo:

“measures”: [

  {

    “name”: “Coches”,

    “value”: 440,

  },

  {

    “name”: “Aviones”

    “value”: 7,

  },

  {

    “name”: “Trenes”,

    “value”: 16

   }

]

Tenemos dos maneras de conseguir el acceso:

– Directamente al elemento: si queremos acceder a su elemento 0 del array y ver el campo “value” del mismo, lo podemos hacer directamente, a través de la transformación de su dato: $0[0][‘value’]

– Como la posición de los datos puede variar, tenemos la función predefinida arrayFind(array, nameField, valueField, fieldToFind) que busca, en ese tipo de estructura, el campo nameField igual a valueField y en ese elemento del array devuelve el campo fieldToFind. Con el array del ejemplo, si queremos obtener el valor de los aviones: arrayFind($0,’name’,’Aviones’,’value’) que nos devolverá el valor 7

Gadgets paramétricos: en una nueva configuración de los Gadgets en los que, antes de renderizarse, pedirán datos al usuario, que se insertarán en una query previamente fijada:

Se podrá parametrizar toda la parte de filtrado de la query a lanzar, de la siguiente manera:

${“Nombre Label”,”formato”} Siendo formato: date, datetime, number o string, para permitir validaciones en el formulario. Por cada estructura insertada, se generará un campo con el nombre “Nombre Label” para valores de tipo “formato”. Viendo el ejemplo anterior más en detalle, tendremos una query como la siguiente:

select * from ontologiaComprasWeb where contextData.timestamp>${“Inicio Compra”,”datetime”} and contextData.timestamp<${“Fin Compra”,”date”} and ontologiaComprasWeb.Usuario=${“Cliente”,”string”} and ontologiaComprasWeb.Precio>${“Precio Mayor A”,”number”}

En la que al insertar los datos en el formularío:

Obtendremos el resultado de la query haciendo click en el botón “Draw!”, con los parámetros fijados:

Otras nuevas características son: Gadgets Columna multiserie, uso de datos de tipo numérico, integer, string, array, boolean y date en muchos más ejes y Gadgets, nombre en series y categorías y más configuraciones permitidas.

Dashboards y Gadgets v3.0: Parte 1

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s