SlideShare una empresa de Scribd logo
1 de 94
Formación en
Cuadros de Mando Open Source
Objetivos de la formación
- Obtener conocimientos básicos en HTML, JavaScript y CSS .
- Conocer las características de CDE para poder trabajar de forma autónoma.
- Conocer las principales librerías propias de CDE y saber cómo utilizarlas.
- Integrar librerías gráficas externas en CDE.
- Desarrollo de cuadros de mando avanzados con CDE.
Pentaho CDE
Introducción
PENTAHO CDE: INTRODUCCIÓN
1. ¿Qué es un cuadro de mando?
2. ¿Qué información mostrar y cómo hacerlo?
3. El mockup
3.1 Diseño de un mockup
4. Trabajando con Pencil
5. Diseño responsive
5.1 Vista de escritorio
5.2 Vista móvil
1. ¿Qué es un Cuadro de Mando?
-Un cuadro de mando (de ahora en adelante CDM) es un conjunto de indicadores que aportan
información sumarizada e inteligente al usuario a través de un conjunto de indicadores o medidas
que pueden ser de diferentes tipos: financieras, de cliente, de proceso, de desarrollo…
-Esta información ha de presentarse siempre teniendo en cuenta al usuario final que la va a
consumir, de modo que, indudablemente, un CDM ha de ser visualmente atractivo, útil,
comprensible, relevante y efectivo.
-Es una herramienta de medición del rendimiento.
-El cuadro de mando contribuye a reducir la incertidumbre.
-Resumiendo: el cuadro de mando es una herramienta de ayuda a la decisión.
2. ¿Qué información mostrar y cómo hacerlo?
-Hay que tener en cuenta a que público va dirigido y el uso que recibirá. Por ejemplo: un directivo
puede necesitar mucho detalle a nivel financiero y poco técnico, un cliente final puede necesitar
detalle a nivel de producto pero no de proveedores…
-La información semejante ha de ser mostrada de forma semejante, por ejemplo: la información
relativa a la evolución en el tiempo de los recursos económicos deberá ser representada siempre de
la misma forma, gráficos de barras todos o gráficos de líneas de tendencia todos o tablas todos; aquí
la variedad influye de manera negativa.
-La distribución uniforme y continua de la información es más productiva que un CDM muy
Impactante que tiende a cansar la vista; es mucho mejor buscar una interacción relajada y funcional.
-En función de lo que acabamos de comentar, definir un tipo de diseño y organización/detalle de
datos. Llegados a este punto la realización de un mockup puede sernos de gran utilidad.
3. El ‘Mockup’
- Un mockup es un boceto de lo que deseamos que sea el resultado final, por lo que es una buena
idea dedicarle tiempo y ser minucioso en su desarrollo.
- Cuantas más horas se dediquen a un mockup, menos se dedicarán al desarrollo del CDM y el
resultado final será mas aproximado al resultado esperado.
- Previa a la realización de un mockup es necesario hacer un estudio de cuales son los datos que
vamos a querer mostrar, su importancia dentro de el CDM y otras consideraciones.
- Los datos serán ficticios y los elementos a mostrar no tienen porque ajustarse a la realidad. Por
ejemplo, puede haber un mockup con tres gráficos de barras: será suficiente diseñar uno de ellos
y duplicarlo hasta tener tres elementos iguales y ubicados correctamente.
- Queremos presentar maquetación y diseño, no datos.
3.1 Diseño de un mockup
- Se debe organizar el contenido
diferenciando de manera clara los
distintos elementos (cabecera,
selectores, indicadores, gráficos….).
Existen dos tipos de mockup:
- Esquemáticos como el de la imagen,
orientados únicamente a la disposición
de elementos.
Su objetivo suele ser puramente
maquetación y disposición de
elementos a mostrar en el CDM,
dejando la parte artística en
responsabilidad del
desarrollador/diseñador del CDM.
Diseño de un mockup
- Mockup completos o mockup
tradicionales.
Son los más comunes. Se
suelen usar para que el cliente
o usuario final valide el
resultado antes del desarrollo.
- Como sabemos, hay que
intentar que el mockup sea lo
mas completo posible, por lo
que siempre que los tiempos lo
permitan se recomienda la
realización de un mockup
tradicional.
3.1 Diseño de un mockup
- Para realizar un mockup nos podemos ayudar de herramientas como Pencil:
http://pencil.evolus.vn/ [Disponible para Linux, Mac y Windows]
• Existen muchas alternativas a esta herramienta. Si quieres saber más, puedes echar un ojo en
el siguiente enlace:
http://mashable.com/2010/07/15/wireframing-tolos/
4. Trabajando con Pencil
- Herramienta de creación de CDMs open source, disponible para Windows, Linux y Mac.
- Pencil permite la incorporación de plugins para completar su galería de recursos.
Esta disponible a través de la siguiente página web:
https://code.google.com/archive/p/evoluspencil/downloads
- A continuación veremos el resultado de la creación
de un mockup con Pencil.
5. Diseño Responsive
- Un fallo común en la realización de mockups se
produce por no realizar un diseño adaptado a
todo tipo de dispositivos, y esto, acaba lastrando
el desarrollo del CDM.
- No buscamos tener un diseño totalmente
diferente, de hecho, lo ideal es que todos sean
muy semejantes pero con distinta disposición y
menor cantidad de datos.
- Para no cometer este error, tenemos que tener
en cuenta las diferencias entre vista de escritorio
y vista móvil.
5.1 Vista escritorio
- Toda la información sintetizada debe de ser “impresa” en esta vista como resultado final del
trabajo en la mayoría de proyectos.
- Ante todo, para poder estar satisfecho con nuestro trabajo, el CDM debe ser: fácil de usar,
mostrar información relevante y tener un diseño agradable para el cliente final.
- El exceso de información es tan perjudicial
como la ausencia de la misma.
- Diseño base que servirá como base
de la posterior vista móvil.
- Importante el analizar que vamos a mostrar.
5.2 Vista móvil
- Antes de diseñar una vista móvil, debemos plantearnos las siguientes cuestiones:
¿Qué debe de ofrecer? ¿Cuándo se utilizaría esta versión de los CDM?
- A veces será difícil o poco recomendable mostrar los mismos datos que en un CDM en
versión de escritorio, por tanto tendremos
que ser conscientes de en que situaciones
se usa una vista móvil y mostrar sólo el
contenido útil.
- Generalizando: en la mayoría de situaciones
los CDM con vista móvil tendrán una menor
cantidad de información, botones e indicadores
más grandes y menor cantidad
de imágenes y recursos.
Ejemplos
Pentaho CDE
Community Dashboard Editor (CDE)
en la Arquitectura Pentaho
CONCEPTOS BÁSICOS
1. Introducción a CDE
2. Arquitectura CTools
2.1 CDF
2.2. CDA
2.3. CCC
1. Introducción a CDE
Espacio de trabajo para el desarrollo de cuadros de mando desarrollado por la
comunidad de Pentaho, concretamente por la empresa
portuguesa Webdetails liderada por Pedro Alves.
CDE, junto a la tecnología que hay bajo él –entre otras: Community Dashboard
Framework (CDF), Community Data Access (CDA) y Community Chart Components
(CCC)- permite el diseño, desarrollo, edición y vista previa de cuadros de mando
avanzados.
2. Arquitectura CTOOLS (Dashboards)
-Ctools (Webdetails) es un conjunto de herramientas y componentes de Pentaho para
la creación de cuadros de mando avanzados.
-Open Source.
-Centrado en Pentaho (Entreprise y Communnity) y en su comunidad.
-Para dispositivos escritorio , móviles y grandes formatos.
-Plugins documentados.
-Interfaz y entorno personalizables.
-Plataforma de código abierto: todos los usuarios pueden contribuir.
2.1. CDF (Comunity Dashboard Framework)
Librería de código abierto que permite la creación de cuadros de mando mediante HTML5, CSS y
JavaScript. Aprovecha otras librerías como jQuery o Bootstrap. Es una solución eficaz para combinar
datos y visualizarlos de forma atractiva y estandarizada.
Características:
-Basado en tecnologías de código abierto.
-Usa AJAX.
-Separación del modelo lógico (JavaScript) del visual (HTML5, CSS).
-Proporciona a los usuarios un alto nivel de personalización.
-Posibilidad de ampliar las librerías.
-Los usuarios avanzados pueden insertar su propio código.
2.1. CDF (Comunity Dashboard Framework)
Ventajas técnicas:
-Aplica la seguridad a través del modelo de seguridad de Pentaho.
-No es necesario crear páginas JSP para el desarrollo de los CDM.
-Posibilidad de elegir entre múltiples componentes
-Fácil de diseñar.
-Los objetos del CDM pueden ser reutilizados.
-Integración de Portlets.
2. 2. CDA (Comunity Data Access)
Plugin de Pentaho para el acceso a las fuentes de datos de una forma cómoda, flexible y elegante.
Fue desarrollado como una herramienta de abstracción entre bases de datos y CDF lo que permite
recuperar datos de múltiples fuentes y combinarlos en un único output que será pasado de forma
sencilla al correspondiente componente del cuadro de mando.
Además sirve para:
-Entregar los datos en diferentes formatos: CSV, XLS…
-Ordenar y paginar los datos del lado del servidor.
-Cachear consultas para mejorar el rendimiento.
-Unir consultas editando un fichero XML.
-Puede usarse como plugin independiente de CDE/CDF.
-Evita problemas de inyección de SQL.
2. 2. CDA (Comunity Data Access)
-CDA utiliza dos componentes:
•La conexión (connection, una base de datos o fuente de datos de Pentaho a utilizar)
•El acceso a los datos (dataAcces, una consulta sobre la conexión)
-Las conexiones y consultas se definen en un archivo XML (el archivo CDA) que se encuentra en el
repositorio de la solución.
-Cada dataAccess puede tener parámetros y columnas calculadas que se pueden añadir al resultado
de la consulta. Es posible tener elementos compuestos (compoundDataAccess) que representan
uniones (joins & unions) entre diferentes consultas.
-El contenido de este archivo está dentro de un bloque descriptor:
<?xml version="1.0" encoding="utf-8"?>
<CDADescriptor>
(...)
</CDADescriptor>
2.2. CDA (Comunity Data Access)
CDA cuenta además con:
•API (hablaremos más delante de ella) para extraer resultados de la consulta.
•Editor para modificar archivos CDA (no permite crear nuevos archivos CDA sólo
modificar los existentes sin necesidad de un editor externo)
•Controlador vista previa para visualizar los resultados de la consulta en forma de tabla.
Los resultados de las consultas pueden ser devueltos desde la API en varios formatos.
Actualmente están soportados:
jSON, XML, CSV, XLS y HTML (modo visual).
2.3. CCC (Comunity Chart Component)
-Es un poderoso conjunto de herramientas de visualización, gratuita y de código abierto basado en la
librería de gráficos JavaScript, Protovis (lo veremos posteriormente).
-Su objetivo es proporcionar la mecánica para incluir en los cuadros de mando todo tipo de gráficos
interactivos y personalizables sin perder un principio fundamental: la extensibilidad.
Gráficos en CDE ¿Qué podemos implementar?
2.3. CCC (Comunity Chart Component)
CCC Area Chart:
CCC Bar Chart o Gráfico de Barras:
2.3. CCC (Comunity Chart Component)
CCC Box Plot Chart o Diagrama de Cajas:
CCC Bullet Chart:
2.3. CCC (Comunity Chart Component)
CCC Dot Chart:
CCC Heat Grid o ‘Rejilla de calor’:
2.3. CCC (Comunity Chart Component)
CCC Line Chart o Gráfico de Línea:
CCC 100% Stacked Bar Chart:
2.3. CCC (Community Chart Component)
CCC Pie Chart:
CCC 100% Stacked Bar Chart:
Conceptos Básicos:
HTML- CSS- JAVASCRIPT
CONCEPTOS BÁSICOS
1. HMTL:
1.1. ¿Qué es?
2.1. Estructura básica
2.2. Etiquetas/Atributos
2. CSS:
2.1. ¿Qué es?
2.2. Selectores
2.3. Incluir CSS en un documento HTML
2.4. Orden CSS
3. JavaScript:
3.1. ¿Qué es?
3.2. Incluir JavaScript en un documento HTML
3.3. Sintaxis básica
3.4. Tu primer Script
3.5. Tipos de variables
3.6. Funciones básicas
1. HMTL: HyperText Markup Language
1.1. ¿Qué es?
-Lenguaje de etiquetas/TAGs estándar (W3C) que define la estructura y el contenido semántico web.
2. 1 Estructura
-Es un lenguaje extensible al que se le pueden añadir nuevas características, marcas y funciones
- Los documentos HTML están formados por una serie de bloques de texto (titulares, párrafos, listas...)
-Emplea TAGs o keywords entre símbolos para saber cómo debe ser mostrado el contenido
<encapsulamiento de inicio> Contenido </encapsulamiento de final>
2. 1 Estructura básica
-DOCTYPE indica que el tipo de documento va a ser HTML.
-El código entre tags <html> </html> describe el documento.
-Entre <head> </head> nos provee de info sobre el documento.
-Entre <title> </title> título del documento.
-Entre <body> </body> el contenido.
- <h1> </h1> título del contenido.
- <p> </p> párrafo.
2.2. Etiquetas/Atributos
-¿Cómo se aplican? Se abren y se cierran, encerrando entre ellas un contenido. Por ejemplo: <b>Esto
sería un texto en negrita</b> que se vería en su navegador web como: Esto sería un texto en negrita.
-Cada elemento de un documento HTML consta de una etiqueta de comienzo, un bloque de texto y una
etiqueta de fin con el siguiente formato:
<etiqueta> bloque de texto </etiqueta>
2.2. Etiquetas/Atributos
-Otros ejemplos de etiquetas son (HTML Tags):
<p>My mother has <span style="color:blue">blue</span> eyes.</p>
This text contains<br>a line break.
<iframe src="http://www.w3schools.com"> Go to W3C </iframe>
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
<form action="demo_form.asp">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form> <button type="button"> Click Me! </button>
2.2. Etiquetas/Atributos
-Muchos elementos tienen atributos (parámetros) que definen propiedades del elemento:
<etiqueta atributo="valor"> bloque de texto </etiqueta>
-En este bloque de código estamos definiendo una sección de un documento HTML en la cual el color
de la tipografía va a ser azul. Podemos definir muchas otras propiedades:
background: black;
text-align: center;
border: 1px solid #f1f1f1;
font-size: 14 px;
font-weight: bold;
…
2. CSS: Cascading Style Sheets
2.1. ¿Qué es?
-Lenguaje estándar (W3C) que determina como han de visualizarse (en papel, pantalla u otros medios)
los elementos HTML que a su vez definen la estructura web. Nos permite ahorro de trabajo/tiempo.
-Se utiliza para definir estilos, incluyendo el diseño, la disposición y variaciones en el ‘display’ para
diferentes dispositivos y tamaños de pantalla.
-Sintaxis:
2.1. Selectores
-Los selectores CSS se utilizan para "encontrar" (o seleccionar) elementos HTML en función de su
nombre de elemento, identificación , clase, atributo…
-Podemos seleccionar elementos en función del nombre de su selector:
p {
text-align: center;
}
-De su id:
#para1 {
text-align: center;
}
-De su clase CSS:
.center {
text-align: center;
}
-Todo lo específicamente que queramos:
p.center {
text-align: center;
}
-O agrupándolos:
h1, h2, p { text-align: center; }
2.3. Incluir CSS en un documento HTML
-Existen tres formas:
Hoja de estilos externa
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css“ >
</head>
Estilos internos
<style>
body {
background-color: blue;
}
</style>
Estilos en línea
<h1 style= “color:blue;margin-left:30px;">This is a heading.</h1>
2.4. Orden CSS
-Hay conceptos que controlan el orden en el que se aplican las declaraciones de CSS:
-Importancia: depende de dónde se ha especificado el estilo CSS
- Navegador
- Hojas de estilo externas
- Estilos en línea
- !important
- Especificidad: se calcula generando un nº que dota de peso diferente a cada elemento:
3. JavaScript (JS)
3.1. ¿Qué es?
- Lenguaje de programación que se utiliza, principalmente, para crear webs dinámicas.
- Una web dinámica es aquella que incorpora efectos, animaciones y acciones.
- Es un lenguaje interpretado, por lo que no es necesario compilar los programas para ejecutarlos.
- El código se encierra entre etiquetas <script> y se incluye en cualquier parte del documento.
3.2. Incluir JavaScript en un documento HTML
-Definir JavaScript en un archivo externo
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo de código JavaScript en el propio documento</title>
<script type="text/javascript" src="/js/codigo.js"></script>
</head>
-Incluir JavaScript en el mismo documento HTML
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo de código JavaScript en el propio documento</title>
<script type="text/javascript">
alert("Un mensaje de prueba");
</script>
</head>
-Incluir JavaScript en los elementos XHTML
<p onclick="alert('Un mensaje de prueba')">Un párrafo de texto </p>
3.3. Sintaxis básica
- No se tienen en cuenta los espacios en blanco y las nuevas líneas
- Se distinguen las mayúsculas y minúsculas
- No se define el tipo de las variables
- No es necesario terminar cada sentencia con el carácter de punto y coma (conveniente)
- Se pueden incluir comentarios:
*Ejemplo de comentario de una sola línea:
// a continuación se muestra un mensaje alert("mensaje de prueba");
*Ejemplo de comentario de varias líneas:
/* Los comentarios de varias líneas son muy útiles cuando se necesita incluir bastante
información en los comentarios */
3.4. Tu primer Script
3.4. Tu primer Script
Ejercicio:
Modificar el primer script para que:
-Todo el código JavaScript se encuentre en un archivo externo llamado codigo.js y el script
siga funcionando de la misma manera.
-Después del primer mensaje, se debe mostrar otro mensaje que diga "Soy el primer script“
-Añadir algunos comentarios que expliquen el funcionamiento del código
3.5. Tipos de variables
Numéricas
var iva = 16; // variable tipo entero
var total = 234.65; // variable tipo decimal
Cadenas de texto
var mensaje = "Bienvenido a nuestro sitio web";
var nombreProducto = 'Producto ABC';
var letraSeleccionada = 'c';
/* El contenido de texto1 tiene comillas simples, por lo que se encierra con dobles */
var texto1 = "Una frase con 'comillas simples' dentro";
/* El contenido de texto2 tiene comillas dobles, por lo que se encierra con simples */
var texto2 = 'Una frase con "comillas dobles" dentro‘;
Arrays
var nombre_array = [valor1, valor2, ..., valorN];
var x = nombre_array[0];
Booleanos
var clienteRegistrado = false;
var ivaIncluido = true;
3.5. Funciones básicas
Cadenas de texto:
Length
Concat
charAt
toUpperCase
indexOf
3.5. Funciones básicas
Arrays:
length
concat
join
push
3.5. Funciones básicas
Arrays:
length
concat
join
push
Librerías en CDE:
BOOTSTRAP - jQUERY - PROTOVIS - BLUEPRINT
LIBRERÍAS EN CDE
1. BOOTSTRAP:
1.1. ¿Qué es?
1.2. Tu primer layout con Bootstrap
1.3. Un poco más difícil
2. jQuery:
2.1. ¿Qué es?
2.2. Añadir jQuery
2.3. Sintaxis
2.4. Selección de elementos
2.5. Eventos
2.6 Efectos
3. Protovis:
3.1. ¿Qué es?
3.2. Ejemplos
4. Blueprint:
3.1. ¿Qué es?
3.2. Ejemplo
1. Bootstrap: ¿Qué es?
-Framework de código abierto desarrollado por Twitter (actualmente versión 3).
-Sistema de 'grid' (rejilla) permite el diseño a través de la adición de filas (rows) y columnas (columns).
1.1. ¿Qué es?
-Podemos incluir columnas dentro de las filas creadas. Nosotros tendremos que definir el
número de columnas en que queremos dividir cada fila y su ancho para cada tamaño de pantalla.
Por ejemplo: 3 columnas de igual ancho ocupando todo el ancho = col-xx -4 col-xx -4 col-xx -4
-El máximo de columnas es 12
-Si el tamaño total de las columnas de una fila excede de 12 el sobrante se colocará en la siguiente fila
- El tamaño de las columnas se especifica con clases CSS definidas por Bootstrap para cada tamaño de
pantalla, por ejemplo: .col-md-XX, donde XX es el tamaño de la columna y podrá tomar valores
entre 1 y 12
1.1. ¿Qué es?
-En la siguiente tabla se muestra un resumen del sistema de rejilla de Bootstrap, su comportamiento
según el tamaño del dispositivo y las clases CSS que nos permiten controlarlo:
-Ocultar/Mostrar columnas:
-Ejemplo de código HTML/Bootstrap
1.2. Tu primer layout con Bootstrap
-Para entenderlo mejor, vamos a construir nuestro primer layout:
1.2. Tu primer layout con Bootstrap
-Como ya sabes usar CSS, ¡dale un poco de color!
-¿Fácil? A ver el siguiente…
1.2. Tu primer layout con Bootstrap
2. jQuery: write less, do more
2.1. ¿Qué es?
-jQuery es una biblioteca de JavaScript creada inicialmente por John Resig y presentada en 2006.
-Permite:
- simplificar la manera de interactuar con los documentos HTML
- manipular el DOM
- manejar eventos
- desarrollar animaciones
-agregar interacción con AJAX a páginas web
-jQuery es libre y de código abierto. En la actualidad, es una de las bibliotecas JS más utilizada
2.2. Añadir jQuery
-Download
- En http://jquery.com/download/
-Incluyendo jQuery desde CDN (Content Delivery Network)
*En CDE jQuery está integrado por defecto luego no es necesario añadir esta biblioteca
2.3. Sintaxis
-La sintaxis básica es: $(selector).action();
•El $ define el acceso a jQuery
•El (selector) indica “busca/encuentra" elementos HTML
•El jQuery action() acción que se realizará sobre los elementos
-Ejemplos:
- Es importante incluir los métodos jQuery dentro del evento document ready para evitar que el código
jQuery se ejecute antes de que la página haya terminado de cargarse.
$(document).ready(function(){
// jQuery métodos
});
2.4. Selección de elementos
2.5. Eventos
Un evento representa el momento preciso en que algo ocurre
$("p").click(function(){
$(this).hide();
});
$("#p1").mouseenter(function(){
alert("You entered p1!");
});
$("input").focus(function(){
$(this).css("color", "#cccccc");
});
2.5. Efectos
3. Protovis: visualización gráfica
2.1. ¿Qué es?
Librería de visualización gráfica desarrollada por Michael Bostock para visualizaciones complejas y
gráficos interactivos. De código abierto, utiliza JavaScript y SVG. Integrada en CDE.
2.1. ¿Qué es?
- Básicamente, permite manipular documentos basados en datos usando estándares abiertos de la
web. Así, los navegadores pueden crear visualizaciones complejas sin depender de un software
propietario.
-Actualmente no hay desarrollo activo para Protovis ya que su equipo está trabajando en D3.js
Características:
•Open Source (Licencia BSD)
•JavaScript
•Compatible con dispositivos móviles
•Compatible con Safari, Chrome, Firefox, Opera o IE8 (y posteriores)
2.2. Ejemplos
4. Blueprint: CSS Framework ¿Qué es?
-Librerías de Hojas de Estilo en Cascada que contienen código para maquetar una web y aplicar
otros estilos tipográficos o de impresión, algo que comúnmente conocemos como Framework CSS.
-Framework CSS: declaraciones de estilos definidos de forma estándar para que sirvan como base
para el diseño de todo tipo de webs/cdm (usaremos Bootstrap de manera general/habitual)
-Características:
•Una rejilla: conjunto de clases CSS para posicionar cualquier elemento en un espacio de 950
píxeles de anchura dividido en 24 columnas ¿os recuerda a Bootstrap? ;)
•Una definición de tipografía predeterminada
•Estilos para formularios
•Estilos para impresión
•Estilos específicos para IE
4.2. Ejemplo
Preguntas
Librerías externas:
jQuery UI ~ Font-Awesome ~ HighCharts
LIBRERÍAS EXTERNAS
1. Jquery UI:
1.1. ¿Qué es?
1.2. Otras funcionalidades
2. Font Awesome:
2.1. ¿Qué es?
2.2. Como usar los iconos
3. HighCharts:
3.1. ¿Qué es?
1. jQuery UI ¿Qué es?
- jQuery UI es una librería complemento de jQuery. Permite implementar componentes para
generar interfaces de usuario además de funcionalidades básicas para crear aplicaciones web
enriquecidas.
- Para comenzar realmente a usar jQuery UI necesitamos descargar las librerías, pero este sistema
es amplio por lo que nos interesa descargar sólo una parte para que no resulte demasiado pesado.
- Podemos acceder a la página de descargas en: http://jqueryui.com/download
1. jQuery UI ¿Qué es?
Una vez descargado nuestro paquete de jQuery UI obtendremos un comprimido con diversos
directorios y archivos, que tiene las siguientes carpetas principales:
Carpeta "css": CSS e imágenes para generar el tema o los temas escogidos.
Carpeta "development-bundle": contiene una serie de materiales útiles para los desarrolladores
que van a utilizar estas librerías. Veremos aquí páginas de documentación, ejemplos de uso…
Carpeta "js": scripts JavaScript de jQuery y jQuery UI necesarios para que todos los componentes
funcionen. Contiene el archivo JavaScript con el código de los componentes que hemos
seleccionado al hacer la descarga.
Este es el código con los archivos que vamos a necesitar:
1.2. Invocar métodos
Ejemplo Componente DatePicker:
1.2. Invocar métodos
Ejemplo Componente DatePicker:
1.2. Otras funcionalidades
2.1 Font Awesome ¿Qué es?
Lista de más de 400 iconos gratuitos que, al ser tratados como una fuente normal de
letra, son fácilmente escalables y editables mediante CSS. Además, tardan menos tiempo
en cargar que si usáramos imágenes.
2.2. Como usar los iconos
1. Descargar el kit de CSS y Font
2. Extraer los archivos .css en nuestra carpeta CSS y los archivos de fuente en nuestra
carpeta Fonts.
3. Copiar y pegar esta línea de código dentro de la etiqueta <head> de nuestro HTML,
poniendo la ruta correcta al archivo .css que se indica.
<link rel=”stylesheet” href=”tucarpeta/css/font-awesome.min.css“>
1. HighCharts ¿Qué es?
•Librería para la visualización de gráficas con JavaScript.
•No necesita plugins.
•Dinámica.
•Su compatibilidad es máxima ya que soporta incluso Explorer 6.
•Es muy fácil de usar una vez hemos instalado jQuery, Mootols o Prototype.
OSBI Magic Visualizations
The power of open source business intelligence
Info@stratebi.com
www.stratebi.com
91.788.34.10
93.425.50.10
Avda. de Brasil, 17 (Madrid)
C/ Valencia, 63 (Barcelona)

Más contenido relacionado

La actualidad más candente

Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)José Toro
 
Blazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamBlazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamThomas Gölles
 
FDD (Feature Driven Development)
FDD (Feature Driven Development)FDD (Feature Driven Development)
FDD (Feature Driven Development)urumisama
 
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �Luis Sanchez
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVMPradeep Kumar
 
Manual sqlserver2008 final
Manual sqlserver2008 finalManual sqlserver2008 final
Manual sqlserver2008 finalAlex Vasquez
 
End-to-End Deep Learning with Horovod on Apache Spark
End-to-End Deep Learning with Horovod on Apache SparkEnd-to-End Deep Learning with Horovod on Apache Spark
End-to-End Deep Learning with Horovod on Apache SparkDatabricks
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerDatabricks
 
Yahoo Cloud Serving Benchmark
Yahoo Cloud Serving BenchmarkYahoo Cloud Serving Benchmark
Yahoo Cloud Serving Benchmarkkevin han
 
Whitecape - Odoo - Offre ERP
Whitecape - Odoo - Offre ERPWhitecape - Odoo - Offre ERP
Whitecape - Odoo - Offre ERPSouheil Ladjimi
 
Real time analytics at any scale | PostgreSQL User Group NL | Marco Slot
Real time analytics at any scale | PostgreSQL User Group NL | Marco SlotReal time analytics at any scale | PostgreSQL User Group NL | Marco Slot
Real time analytics at any scale | PostgreSQL User Group NL | Marco SlotCitus Data
 
RapidMiner: Rapid Miner Products
RapidMiner: Rapid Miner ProductsRapidMiner: Rapid Miner Products
RapidMiner: Rapid Miner ProductsDataminingTools Inc
 
ExtraHop Product Overview Datasheet
ExtraHop Product Overview DatasheetExtraHop Product Overview Datasheet
ExtraHop Product Overview DatasheetExtraHop Networks
 
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...AssociationAF
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos Brenda Medina
 

La actualidad más candente (20)

Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)
 
Blazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamBlazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream Team
 
FDD (Feature Driven Development)
FDD (Feature Driven Development)FDD (Feature Driven Development)
FDD (Feature Driven Development)
 
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �
Diseñando un Panel de Control con Grafana para Monitorear KPIs en VoIP �
 
Virtualization Architecture & KVM
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVM
 
Metal as a Server
Metal as a ServerMetal as a Server
Metal as a Server
 
MYSQL
MYSQLMYSQL
MYSQL
 
Proyecto de base de datos 1
Proyecto de base de datos 1Proyecto de base de datos 1
Proyecto de base de datos 1
 
Manual sqlserver2008 final
Manual sqlserver2008 finalManual sqlserver2008 final
Manual sqlserver2008 final
 
End-to-End Deep Learning with Horovod on Apache Spark
End-to-End Deep Learning with Horovod on Apache SparkEnd-to-End Deep Learning with Horovod on Apache Spark
End-to-End Deep Learning with Horovod on Apache Spark
 
Taller Power Bi caso practico
Taller Power Bi  caso practicoTaller Power Bi  caso practico
Taller Power Bi caso practico
 
Lvm advanced topics
Lvm advanced topicsLvm advanced topics
Lvm advanced topics
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics Primer
 
Yahoo Cloud Serving Benchmark
Yahoo Cloud Serving BenchmarkYahoo Cloud Serving Benchmark
Yahoo Cloud Serving Benchmark
 
Whitecape - Odoo - Offre ERP
Whitecape - Odoo - Offre ERPWhitecape - Odoo - Offre ERP
Whitecape - Odoo - Offre ERP
 
Real time analytics at any scale | PostgreSQL User Group NL | Marco Slot
Real time analytics at any scale | PostgreSQL User Group NL | Marco SlotReal time analytics at any scale | PostgreSQL User Group NL | Marco Slot
Real time analytics at any scale | PostgreSQL User Group NL | Marco Slot
 
RapidMiner: Rapid Miner Products
RapidMiner: Rapid Miner ProductsRapidMiner: Rapid Miner Products
RapidMiner: Rapid Miner Products
 
ExtraHop Product Overview Datasheet
ExtraHop Product Overview DatasheetExtraHop Product Overview Datasheet
ExtraHop Product Overview Datasheet
 
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...
La mise en œuvre de l’archivage numérique courant et intermédiaire au CD 34 :...
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos
 

Similar a Curso de creación de Dashboards Open Source

MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 
Wireframing y mockup
Wireframing y mockupWireframing y mockup
Wireframing y mockupPablo Mieres
 
Taller diseño-web
Taller diseño-webTaller diseño-web
Taller diseño-webClara Lopez
 
Diseño de Interfaz web
Diseño de Interfaz webDiseño de Interfaz web
Diseño de Interfaz webAlexis Morillo
 
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptxM.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptxHawkMartnez
 
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v081040031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810chelsin24
 
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdf
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdfEl_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdf
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdfssuserbe0c8d
 
Aplicacionesdeusoeducativo
AplicacionesdeusoeducativoAplicacionesdeusoeducativo
Aplicacionesdeusoeducativodorysvalero
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datosmanuel
 

Similar a Curso de creación de Dashboards Open Source (20)

MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Trabajo de recuperación
Trabajo de recuperaciónTrabajo de recuperación
Trabajo de recuperación
 
Wireframing y mockup
Wireframing y mockupWireframing y mockup
Wireframing y mockup
 
4ta Generacion
4ta Generacion4ta Generacion
4ta Generacion
 
Taller diseño-web
Taller diseño-webTaller diseño-web
Taller diseño-web
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Capitulo7
Capitulo7Capitulo7
Capitulo7
 
Diseño de Interfaz web
Diseño de Interfaz webDiseño de Interfaz web
Diseño de Interfaz web
 
Examen Final-BI.pptx
Examen Final-BI.pptxExamen Final-BI.pptx
Examen Final-BI.pptx
 
Practica 4
Practica 4Practica 4
Practica 4
 
Framework
FrameworkFramework
Framework
 
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptxM.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
M.G.E-y-R.L.E.A-Diseño-Arquitectonico.pptx
 
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v081040031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810
40031583 manual-modelamiento-y-diseno-de-base-de-datos-v0810
 
Nuevo trabajo
Nuevo trabajo Nuevo trabajo
Nuevo trabajo
 
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdf
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdfEl_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdf
El_PDM_Una_Tecnologia_Emergente_en_el_Marco_de_la_.pdf
 
Josue
JosueJosue
Josue
 
Presentacion1 convertido
Presentacion1 convertidoPresentacion1 convertido
Presentacion1 convertido
 
Aplicacionesdeusoeducativo
AplicacionesdeusoeducativoAplicacionesdeusoeducativo
Aplicacionesdeusoeducativo
 
Info ms dos final
Info ms dos finalInfo ms dos final
Info ms dos final
 
Modelado de datos
Modelado de datosModelado de datos
Modelado de datos
 

Más de Stratebi

Destinos turisticos inteligentes
Destinos turisticos inteligentesDestinos turisticos inteligentes
Destinos turisticos inteligentesStratebi
 
Azure Synapse
Azure SynapseAzure Synapse
Azure SynapseStratebi
 
Options for Dashboards with Python
Options for Dashboards with PythonOptions for Dashboards with Python
Options for Dashboards with PythonStratebi
 
Dashboards with Python
Dashboards with PythonDashboards with Python
Dashboards with PythonStratebi
 
PowerBI Tips y buenas practicas
PowerBI Tips y buenas practicasPowerBI Tips y buenas practicas
PowerBI Tips y buenas practicasStratebi
 
Machine Learning Meetup Spain
Machine Learning Meetup SpainMachine Learning Meetup Spain
Machine Learning Meetup SpainStratebi
 
LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)Stratebi
 
SAP - PowerBI integration
SAP - PowerBI integrationSAP - PowerBI integration
SAP - PowerBI integrationStratebi
 
Aplicaciones Big Data Marketing
Aplicaciones Big Data MarketingAplicaciones Big Data Marketing
Aplicaciones Big Data MarketingStratebi
 
A federated information infrastructure that works
A federated information infrastructure that works A federated information infrastructure that works
A federated information infrastructure that works Stratebi
 
9 problemas en proyectos Data Analytics
9 problemas en proyectos Data Analytics9 problemas en proyectos Data Analytics
9 problemas en proyectos Data AnalyticsStratebi
 
PowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y CursosPowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y CursosStratebi
 
Sports Analytics
Sports AnalyticsSports Analytics
Sports AnalyticsStratebi
 
Vertica Extreme Analysis
Vertica Extreme AnalysisVertica Extreme Analysis
Vertica Extreme AnalysisStratebi
 
Businesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBIBusinesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBIStratebi
 
Vertica Analytics Database general overview
Vertica Analytics Database general overviewVertica Analytics Database general overview
Vertica Analytics Database general overviewStratebi
 
Talend Cloud en detalle
Talend Cloud en detalleTalend Cloud en detalle
Talend Cloud en detalleStratebi
 
Master Data Management (MDM) con Talend
Master Data Management (MDM) con TalendMaster Data Management (MDM) con Talend
Master Data Management (MDM) con TalendStratebi
 
Talend Introducion
Talend IntroducionTalend Introducion
Talend IntroducionStratebi
 
Talent Analytics
Talent AnalyticsTalent Analytics
Talent AnalyticsStratebi
 

Más de Stratebi (20)

Destinos turisticos inteligentes
Destinos turisticos inteligentesDestinos turisticos inteligentes
Destinos turisticos inteligentes
 
Azure Synapse
Azure SynapseAzure Synapse
Azure Synapse
 
Options for Dashboards with Python
Options for Dashboards with PythonOptions for Dashboards with Python
Options for Dashboards with Python
 
Dashboards with Python
Dashboards with PythonDashboards with Python
Dashboards with Python
 
PowerBI Tips y buenas practicas
PowerBI Tips y buenas practicasPowerBI Tips y buenas practicas
PowerBI Tips y buenas practicas
 
Machine Learning Meetup Spain
Machine Learning Meetup SpainMachine Learning Meetup Spain
Machine Learning Meetup Spain
 
LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)LinceBI IIoT (Industrial Internet of Things)
LinceBI IIoT (Industrial Internet of Things)
 
SAP - PowerBI integration
SAP - PowerBI integrationSAP - PowerBI integration
SAP - PowerBI integration
 
Aplicaciones Big Data Marketing
Aplicaciones Big Data MarketingAplicaciones Big Data Marketing
Aplicaciones Big Data Marketing
 
A federated information infrastructure that works
A federated information infrastructure that works A federated information infrastructure that works
A federated information infrastructure that works
 
9 problemas en proyectos Data Analytics
9 problemas en proyectos Data Analytics9 problemas en proyectos Data Analytics
9 problemas en proyectos Data Analytics
 
PowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y CursosPowerBI: Soluciones, Aplicaciones y Cursos
PowerBI: Soluciones, Aplicaciones y Cursos
 
Sports Analytics
Sports AnalyticsSports Analytics
Sports Analytics
 
Vertica Extreme Analysis
Vertica Extreme AnalysisVertica Extreme Analysis
Vertica Extreme Analysis
 
Businesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBIBusinesss Intelligence con Vertica y PowerBI
Businesss Intelligence con Vertica y PowerBI
 
Vertica Analytics Database general overview
Vertica Analytics Database general overviewVertica Analytics Database general overview
Vertica Analytics Database general overview
 
Talend Cloud en detalle
Talend Cloud en detalleTalend Cloud en detalle
Talend Cloud en detalle
 
Master Data Management (MDM) con Talend
Master Data Management (MDM) con TalendMaster Data Management (MDM) con Talend
Master Data Management (MDM) con Talend
 
Talend Introducion
Talend IntroducionTalend Introducion
Talend Introducion
 
Talent Analytics
Talent AnalyticsTalent Analytics
Talent Analytics
 

Último

Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotessald071205mmcnrna9
 
stellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino morastellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino moraYessicaBrigithArdila
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOReluniversocom
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024eluniversocom
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
Croquis de riesgo de trabajo gasolinera.pdf
Croquis de riesgo de trabajo gasolinera.pdfCroquis de riesgo de trabajo gasolinera.pdf
Croquis de riesgo de trabajo gasolinera.pdfhernestosoto82
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería yocelynsanchezerasmo
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxYoladsCabarcasTous
 
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO    ..pdfMAPA DE RIESGOS DE UN ZOOLOGICO    ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdfCamilaArzate2
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfeluniversocom
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILeluniversocom
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405rodrimarxim
 
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfINTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfmaryisabelpantojavar
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILeluniversocom
 
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRILPREGUNTA H DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
ESTUDIO DE IMPACTO AMBIENTAL de explotación minera.pptx
ESTUDIO DE IMPACTO AMBIENTAL de  explotación minera.pptxESTUDIO DE IMPACTO AMBIENTAL de  explotación minera.pptx
ESTUDIO DE IMPACTO AMBIENTAL de explotación minera.pptxKatherineFabianLoza1
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 

Último (20)

Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotes
 
stellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino morastellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino mora
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
 
Croquis de riesgo de trabajo gasolinera.pdf
Croquis de riesgo de trabajo gasolinera.pdfCroquis de riesgo de trabajo gasolinera.pdf
Croquis de riesgo de trabajo gasolinera.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptx
 
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO    ..pdfMAPA DE RIESGOS DE UN ZOOLOGICO    ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405
 
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfINTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
 
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRILPREGUNTA H DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA H DE CONSULTA POPULAR 21 DE ABRIL
 
ESTUDIO DE IMPACTO AMBIENTAL de explotación minera.pptx
ESTUDIO DE IMPACTO AMBIENTAL de  explotación minera.pptxESTUDIO DE IMPACTO AMBIENTAL de  explotación minera.pptx
ESTUDIO DE IMPACTO AMBIENTAL de explotación minera.pptx
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
 

Curso de creación de Dashboards Open Source

  • 1. Formación en Cuadros de Mando Open Source
  • 2. Objetivos de la formación - Obtener conocimientos básicos en HTML, JavaScript y CSS . - Conocer las características de CDE para poder trabajar de forma autónoma. - Conocer las principales librerías propias de CDE y saber cómo utilizarlas. - Integrar librerías gráficas externas en CDE. - Desarrollo de cuadros de mando avanzados con CDE.
  • 4. PENTAHO CDE: INTRODUCCIÓN 1. ¿Qué es un cuadro de mando? 2. ¿Qué información mostrar y cómo hacerlo? 3. El mockup 3.1 Diseño de un mockup 4. Trabajando con Pencil 5. Diseño responsive 5.1 Vista de escritorio 5.2 Vista móvil
  • 5. 1. ¿Qué es un Cuadro de Mando? -Un cuadro de mando (de ahora en adelante CDM) es un conjunto de indicadores que aportan información sumarizada e inteligente al usuario a través de un conjunto de indicadores o medidas que pueden ser de diferentes tipos: financieras, de cliente, de proceso, de desarrollo… -Esta información ha de presentarse siempre teniendo en cuenta al usuario final que la va a consumir, de modo que, indudablemente, un CDM ha de ser visualmente atractivo, útil, comprensible, relevante y efectivo. -Es una herramienta de medición del rendimiento. -El cuadro de mando contribuye a reducir la incertidumbre. -Resumiendo: el cuadro de mando es una herramienta de ayuda a la decisión.
  • 6. 2. ¿Qué información mostrar y cómo hacerlo? -Hay que tener en cuenta a que público va dirigido y el uso que recibirá. Por ejemplo: un directivo puede necesitar mucho detalle a nivel financiero y poco técnico, un cliente final puede necesitar detalle a nivel de producto pero no de proveedores… -La información semejante ha de ser mostrada de forma semejante, por ejemplo: la información relativa a la evolución en el tiempo de los recursos económicos deberá ser representada siempre de la misma forma, gráficos de barras todos o gráficos de líneas de tendencia todos o tablas todos; aquí la variedad influye de manera negativa. -La distribución uniforme y continua de la información es más productiva que un CDM muy Impactante que tiende a cansar la vista; es mucho mejor buscar una interacción relajada y funcional. -En función de lo que acabamos de comentar, definir un tipo de diseño y organización/detalle de datos. Llegados a este punto la realización de un mockup puede sernos de gran utilidad.
  • 7. 3. El ‘Mockup’ - Un mockup es un boceto de lo que deseamos que sea el resultado final, por lo que es una buena idea dedicarle tiempo y ser minucioso en su desarrollo. - Cuantas más horas se dediquen a un mockup, menos se dedicarán al desarrollo del CDM y el resultado final será mas aproximado al resultado esperado. - Previa a la realización de un mockup es necesario hacer un estudio de cuales son los datos que vamos a querer mostrar, su importancia dentro de el CDM y otras consideraciones. - Los datos serán ficticios y los elementos a mostrar no tienen porque ajustarse a la realidad. Por ejemplo, puede haber un mockup con tres gráficos de barras: será suficiente diseñar uno de ellos y duplicarlo hasta tener tres elementos iguales y ubicados correctamente. - Queremos presentar maquetación y diseño, no datos.
  • 8. 3.1 Diseño de un mockup - Se debe organizar el contenido diferenciando de manera clara los distintos elementos (cabecera, selectores, indicadores, gráficos….). Existen dos tipos de mockup: - Esquemáticos como el de la imagen, orientados únicamente a la disposición de elementos. Su objetivo suele ser puramente maquetación y disposición de elementos a mostrar en el CDM, dejando la parte artística en responsabilidad del desarrollador/diseñador del CDM.
  • 9. Diseño de un mockup - Mockup completos o mockup tradicionales. Son los más comunes. Se suelen usar para que el cliente o usuario final valide el resultado antes del desarrollo. - Como sabemos, hay que intentar que el mockup sea lo mas completo posible, por lo que siempre que los tiempos lo permitan se recomienda la realización de un mockup tradicional.
  • 10. 3.1 Diseño de un mockup - Para realizar un mockup nos podemos ayudar de herramientas como Pencil: http://pencil.evolus.vn/ [Disponible para Linux, Mac y Windows] • Existen muchas alternativas a esta herramienta. Si quieres saber más, puedes echar un ojo en el siguiente enlace: http://mashable.com/2010/07/15/wireframing-tolos/
  • 11. 4. Trabajando con Pencil - Herramienta de creación de CDMs open source, disponible para Windows, Linux y Mac. - Pencil permite la incorporación de plugins para completar su galería de recursos. Esta disponible a través de la siguiente página web: https://code.google.com/archive/p/evoluspencil/downloads - A continuación veremos el resultado de la creación de un mockup con Pencil.
  • 12.
  • 13.
  • 14. 5. Diseño Responsive - Un fallo común en la realización de mockups se produce por no realizar un diseño adaptado a todo tipo de dispositivos, y esto, acaba lastrando el desarrollo del CDM. - No buscamos tener un diseño totalmente diferente, de hecho, lo ideal es que todos sean muy semejantes pero con distinta disposición y menor cantidad de datos. - Para no cometer este error, tenemos que tener en cuenta las diferencias entre vista de escritorio y vista móvil.
  • 15. 5.1 Vista escritorio - Toda la información sintetizada debe de ser “impresa” en esta vista como resultado final del trabajo en la mayoría de proyectos. - Ante todo, para poder estar satisfecho con nuestro trabajo, el CDM debe ser: fácil de usar, mostrar información relevante y tener un diseño agradable para el cliente final. - El exceso de información es tan perjudicial como la ausencia de la misma. - Diseño base que servirá como base de la posterior vista móvil. - Importante el analizar que vamos a mostrar.
  • 16. 5.2 Vista móvil - Antes de diseñar una vista móvil, debemos plantearnos las siguientes cuestiones: ¿Qué debe de ofrecer? ¿Cuándo se utilizaría esta versión de los CDM? - A veces será difícil o poco recomendable mostrar los mismos datos que en un CDM en versión de escritorio, por tanto tendremos que ser conscientes de en que situaciones se usa una vista móvil y mostrar sólo el contenido útil. - Generalizando: en la mayoría de situaciones los CDM con vista móvil tendrán una menor cantidad de información, botones e indicadores más grandes y menor cantidad de imágenes y recursos.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Pentaho CDE Community Dashboard Editor (CDE) en la Arquitectura Pentaho
  • 27. CONCEPTOS BÁSICOS 1. Introducción a CDE 2. Arquitectura CTools 2.1 CDF 2.2. CDA 2.3. CCC
  • 28. 1. Introducción a CDE Espacio de trabajo para el desarrollo de cuadros de mando desarrollado por la comunidad de Pentaho, concretamente por la empresa portuguesa Webdetails liderada por Pedro Alves. CDE, junto a la tecnología que hay bajo él –entre otras: Community Dashboard Framework (CDF), Community Data Access (CDA) y Community Chart Components (CCC)- permite el diseño, desarrollo, edición y vista previa de cuadros de mando avanzados.
  • 29. 2. Arquitectura CTOOLS (Dashboards) -Ctools (Webdetails) es un conjunto de herramientas y componentes de Pentaho para la creación de cuadros de mando avanzados. -Open Source. -Centrado en Pentaho (Entreprise y Communnity) y en su comunidad. -Para dispositivos escritorio , móviles y grandes formatos. -Plugins documentados. -Interfaz y entorno personalizables. -Plataforma de código abierto: todos los usuarios pueden contribuir.
  • 30. 2.1. CDF (Comunity Dashboard Framework) Librería de código abierto que permite la creación de cuadros de mando mediante HTML5, CSS y JavaScript. Aprovecha otras librerías como jQuery o Bootstrap. Es una solución eficaz para combinar datos y visualizarlos de forma atractiva y estandarizada. Características: -Basado en tecnologías de código abierto. -Usa AJAX. -Separación del modelo lógico (JavaScript) del visual (HTML5, CSS). -Proporciona a los usuarios un alto nivel de personalización. -Posibilidad de ampliar las librerías. -Los usuarios avanzados pueden insertar su propio código.
  • 31. 2.1. CDF (Comunity Dashboard Framework) Ventajas técnicas: -Aplica la seguridad a través del modelo de seguridad de Pentaho. -No es necesario crear páginas JSP para el desarrollo de los CDM. -Posibilidad de elegir entre múltiples componentes -Fácil de diseñar. -Los objetos del CDM pueden ser reutilizados. -Integración de Portlets.
  • 32. 2. 2. CDA (Comunity Data Access) Plugin de Pentaho para el acceso a las fuentes de datos de una forma cómoda, flexible y elegante. Fue desarrollado como una herramienta de abstracción entre bases de datos y CDF lo que permite recuperar datos de múltiples fuentes y combinarlos en un único output que será pasado de forma sencilla al correspondiente componente del cuadro de mando. Además sirve para: -Entregar los datos en diferentes formatos: CSV, XLS… -Ordenar y paginar los datos del lado del servidor. -Cachear consultas para mejorar el rendimiento. -Unir consultas editando un fichero XML. -Puede usarse como plugin independiente de CDE/CDF. -Evita problemas de inyección de SQL.
  • 33. 2. 2. CDA (Comunity Data Access) -CDA utiliza dos componentes: •La conexión (connection, una base de datos o fuente de datos de Pentaho a utilizar) •El acceso a los datos (dataAcces, una consulta sobre la conexión) -Las conexiones y consultas se definen en un archivo XML (el archivo CDA) que se encuentra en el repositorio de la solución. -Cada dataAccess puede tener parámetros y columnas calculadas que se pueden añadir al resultado de la consulta. Es posible tener elementos compuestos (compoundDataAccess) que representan uniones (joins & unions) entre diferentes consultas. -El contenido de este archivo está dentro de un bloque descriptor: <?xml version="1.0" encoding="utf-8"?> <CDADescriptor> (...) </CDADescriptor>
  • 34. 2.2. CDA (Comunity Data Access) CDA cuenta además con: •API (hablaremos más delante de ella) para extraer resultados de la consulta. •Editor para modificar archivos CDA (no permite crear nuevos archivos CDA sólo modificar los existentes sin necesidad de un editor externo) •Controlador vista previa para visualizar los resultados de la consulta en forma de tabla. Los resultados de las consultas pueden ser devueltos desde la API en varios formatos. Actualmente están soportados: jSON, XML, CSV, XLS y HTML (modo visual).
  • 35. 2.3. CCC (Comunity Chart Component) -Es un poderoso conjunto de herramientas de visualización, gratuita y de código abierto basado en la librería de gráficos JavaScript, Protovis (lo veremos posteriormente). -Su objetivo es proporcionar la mecánica para incluir en los cuadros de mando todo tipo de gráficos interactivos y personalizables sin perder un principio fundamental: la extensibilidad. Gráficos en CDE ¿Qué podemos implementar?
  • 36. 2.3. CCC (Comunity Chart Component) CCC Area Chart: CCC Bar Chart o Gráfico de Barras:
  • 37. 2.3. CCC (Comunity Chart Component) CCC Box Plot Chart o Diagrama de Cajas: CCC Bullet Chart:
  • 38. 2.3. CCC (Comunity Chart Component) CCC Dot Chart: CCC Heat Grid o ‘Rejilla de calor’:
  • 39. 2.3. CCC (Comunity Chart Component) CCC Line Chart o Gráfico de Línea: CCC 100% Stacked Bar Chart:
  • 40. 2.3. CCC (Community Chart Component) CCC Pie Chart: CCC 100% Stacked Bar Chart:
  • 42. CONCEPTOS BÁSICOS 1. HMTL: 1.1. ¿Qué es? 2.1. Estructura básica 2.2. Etiquetas/Atributos 2. CSS: 2.1. ¿Qué es? 2.2. Selectores 2.3. Incluir CSS en un documento HTML 2.4. Orden CSS 3. JavaScript: 3.1. ¿Qué es? 3.2. Incluir JavaScript en un documento HTML 3.3. Sintaxis básica 3.4. Tu primer Script 3.5. Tipos de variables 3.6. Funciones básicas
  • 43. 1. HMTL: HyperText Markup Language 1.1. ¿Qué es? -Lenguaje de etiquetas/TAGs estándar (W3C) que define la estructura y el contenido semántico web.
  • 44. 2. 1 Estructura -Es un lenguaje extensible al que se le pueden añadir nuevas características, marcas y funciones - Los documentos HTML están formados por una serie de bloques de texto (titulares, párrafos, listas...) -Emplea TAGs o keywords entre símbolos para saber cómo debe ser mostrado el contenido <encapsulamiento de inicio> Contenido </encapsulamiento de final>
  • 45. 2. 1 Estructura básica -DOCTYPE indica que el tipo de documento va a ser HTML. -El código entre tags <html> </html> describe el documento. -Entre <head> </head> nos provee de info sobre el documento. -Entre <title> </title> título del documento. -Entre <body> </body> el contenido. - <h1> </h1> título del contenido. - <p> </p> párrafo.
  • 46. 2.2. Etiquetas/Atributos -¿Cómo se aplican? Se abren y se cierran, encerrando entre ellas un contenido. Por ejemplo: <b>Esto sería un texto en negrita</b> que se vería en su navegador web como: Esto sería un texto en negrita. -Cada elemento de un documento HTML consta de una etiqueta de comienzo, un bloque de texto y una etiqueta de fin con el siguiente formato: <etiqueta> bloque de texto </etiqueta>
  • 47. 2.2. Etiquetas/Atributos -Otros ejemplos de etiquetas son (HTML Tags): <p>My mother has <span style="color:blue">blue</span> eyes.</p> This text contains<br>a line break. <iframe src="http://www.w3schools.com"> Go to W3C </iframe> <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> <form action="demo_form.asp"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> <input type="submit" value="Submit"> </form> <button type="button"> Click Me! </button>
  • 48. 2.2. Etiquetas/Atributos -Muchos elementos tienen atributos (parámetros) que definen propiedades del elemento: <etiqueta atributo="valor"> bloque de texto </etiqueta> -En este bloque de código estamos definiendo una sección de un documento HTML en la cual el color de la tipografía va a ser azul. Podemos definir muchas otras propiedades: background: black; text-align: center; border: 1px solid #f1f1f1; font-size: 14 px; font-weight: bold; …
  • 49. 2. CSS: Cascading Style Sheets 2.1. ¿Qué es? -Lenguaje estándar (W3C) que determina como han de visualizarse (en papel, pantalla u otros medios) los elementos HTML que a su vez definen la estructura web. Nos permite ahorro de trabajo/tiempo. -Se utiliza para definir estilos, incluyendo el diseño, la disposición y variaciones en el ‘display’ para diferentes dispositivos y tamaños de pantalla. -Sintaxis:
  • 50. 2.1. Selectores -Los selectores CSS se utilizan para "encontrar" (o seleccionar) elementos HTML en función de su nombre de elemento, identificación , clase, atributo… -Podemos seleccionar elementos en función del nombre de su selector: p { text-align: center; } -De su id: #para1 { text-align: center; } -De su clase CSS: .center { text-align: center; } -Todo lo específicamente que queramos: p.center { text-align: center; } -O agrupándolos: h1, h2, p { text-align: center; }
  • 51. 2.3. Incluir CSS en un documento HTML -Existen tres formas: Hoja de estilos externa <head> <link rel="stylesheet" type="text/css" href="mystyle.css“ > </head> Estilos internos <style> body { background-color: blue; } </style> Estilos en línea <h1 style= “color:blue;margin-left:30px;">This is a heading.</h1>
  • 52. 2.4. Orden CSS -Hay conceptos que controlan el orden en el que se aplican las declaraciones de CSS: -Importancia: depende de dónde se ha especificado el estilo CSS - Navegador - Hojas de estilo externas - Estilos en línea - !important - Especificidad: se calcula generando un nº que dota de peso diferente a cada elemento:
  • 53. 3. JavaScript (JS) 3.1. ¿Qué es? - Lenguaje de programación que se utiliza, principalmente, para crear webs dinámicas. - Una web dinámica es aquella que incorpora efectos, animaciones y acciones. - Es un lenguaje interpretado, por lo que no es necesario compilar los programas para ejecutarlos. - El código se encierra entre etiquetas <script> y se incluye en cualquier parte del documento.
  • 54. 3.2. Incluir JavaScript en un documento HTML -Definir JavaScript en un archivo externo <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Ejemplo de código JavaScript en el propio documento</title> <script type="text/javascript" src="/js/codigo.js"></script> </head> -Incluir JavaScript en el mismo documento HTML <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Ejemplo de código JavaScript en el propio documento</title> <script type="text/javascript"> alert("Un mensaje de prueba"); </script> </head> -Incluir JavaScript en los elementos XHTML <p onclick="alert('Un mensaje de prueba')">Un párrafo de texto </p>
  • 55. 3.3. Sintaxis básica - No se tienen en cuenta los espacios en blanco y las nuevas líneas - Se distinguen las mayúsculas y minúsculas - No se define el tipo de las variables - No es necesario terminar cada sentencia con el carácter de punto y coma (conveniente) - Se pueden incluir comentarios: *Ejemplo de comentario de una sola línea: // a continuación se muestra un mensaje alert("mensaje de prueba"); *Ejemplo de comentario de varias líneas: /* Los comentarios de varias líneas son muy útiles cuando se necesita incluir bastante información en los comentarios */
  • 56. 3.4. Tu primer Script
  • 57. 3.4. Tu primer Script Ejercicio: Modificar el primer script para que: -Todo el código JavaScript se encuentre en un archivo externo llamado codigo.js y el script siga funcionando de la misma manera. -Después del primer mensaje, se debe mostrar otro mensaje que diga "Soy el primer script“ -Añadir algunos comentarios que expliquen el funcionamiento del código
  • 58. 3.5. Tipos de variables Numéricas var iva = 16; // variable tipo entero var total = 234.65; // variable tipo decimal Cadenas de texto var mensaje = "Bienvenido a nuestro sitio web"; var nombreProducto = 'Producto ABC'; var letraSeleccionada = 'c'; /* El contenido de texto1 tiene comillas simples, por lo que se encierra con dobles */ var texto1 = "Una frase con 'comillas simples' dentro"; /* El contenido de texto2 tiene comillas dobles, por lo que se encierra con simples */ var texto2 = 'Una frase con "comillas dobles" dentro‘; Arrays var nombre_array = [valor1, valor2, ..., valorN]; var x = nombre_array[0]; Booleanos var clienteRegistrado = false; var ivaIncluido = true;
  • 59. 3.5. Funciones básicas Cadenas de texto: Length Concat charAt toUpperCase indexOf
  • 62. Librerías en CDE: BOOTSTRAP - jQUERY - PROTOVIS - BLUEPRINT
  • 63. LIBRERÍAS EN CDE 1. BOOTSTRAP: 1.1. ¿Qué es? 1.2. Tu primer layout con Bootstrap 1.3. Un poco más difícil 2. jQuery: 2.1. ¿Qué es? 2.2. Añadir jQuery 2.3. Sintaxis 2.4. Selección de elementos 2.5. Eventos 2.6 Efectos 3. Protovis: 3.1. ¿Qué es? 3.2. Ejemplos 4. Blueprint: 3.1. ¿Qué es? 3.2. Ejemplo
  • 64. 1. Bootstrap: ¿Qué es? -Framework de código abierto desarrollado por Twitter (actualmente versión 3). -Sistema de 'grid' (rejilla) permite el diseño a través de la adición de filas (rows) y columnas (columns).
  • 65. 1.1. ¿Qué es? -Podemos incluir columnas dentro de las filas creadas. Nosotros tendremos que definir el número de columnas en que queremos dividir cada fila y su ancho para cada tamaño de pantalla. Por ejemplo: 3 columnas de igual ancho ocupando todo el ancho = col-xx -4 col-xx -4 col-xx -4 -El máximo de columnas es 12 -Si el tamaño total de las columnas de una fila excede de 12 el sobrante se colocará en la siguiente fila - El tamaño de las columnas se especifica con clases CSS definidas por Bootstrap para cada tamaño de pantalla, por ejemplo: .col-md-XX, donde XX es el tamaño de la columna y podrá tomar valores entre 1 y 12
  • 66. 1.1. ¿Qué es? -En la siguiente tabla se muestra un resumen del sistema de rejilla de Bootstrap, su comportamiento según el tamaño del dispositivo y las clases CSS que nos permiten controlarlo:
  • 68. -Ejemplo de código HTML/Bootstrap
  • 69. 1.2. Tu primer layout con Bootstrap -Para entenderlo mejor, vamos a construir nuestro primer layout:
  • 70. 1.2. Tu primer layout con Bootstrap -Como ya sabes usar CSS, ¡dale un poco de color! -¿Fácil? A ver el siguiente…
  • 71. 1.2. Tu primer layout con Bootstrap
  • 72. 2. jQuery: write less, do more 2.1. ¿Qué es? -jQuery es una biblioteca de JavaScript creada inicialmente por John Resig y presentada en 2006. -Permite: - simplificar la manera de interactuar con los documentos HTML - manipular el DOM - manejar eventos - desarrollar animaciones -agregar interacción con AJAX a páginas web -jQuery es libre y de código abierto. En la actualidad, es una de las bibliotecas JS más utilizada
  • 73. 2.2. Añadir jQuery -Download - En http://jquery.com/download/ -Incluyendo jQuery desde CDN (Content Delivery Network) *En CDE jQuery está integrado por defecto luego no es necesario añadir esta biblioteca
  • 74. 2.3. Sintaxis -La sintaxis básica es: $(selector).action(); •El $ define el acceso a jQuery •El (selector) indica “busca/encuentra" elementos HTML •El jQuery action() acción que se realizará sobre los elementos -Ejemplos: - Es importante incluir los métodos jQuery dentro del evento document ready para evitar que el código jQuery se ejecute antes de que la página haya terminado de cargarse. $(document).ready(function(){ // jQuery métodos });
  • 75. 2.4. Selección de elementos
  • 76. 2.5. Eventos Un evento representa el momento preciso en que algo ocurre $("p").click(function(){ $(this).hide(); }); $("#p1").mouseenter(function(){ alert("You entered p1!"); }); $("input").focus(function(){ $(this).css("color", "#cccccc"); });
  • 78. 3. Protovis: visualización gráfica 2.1. ¿Qué es? Librería de visualización gráfica desarrollada por Michael Bostock para visualizaciones complejas y gráficos interactivos. De código abierto, utiliza JavaScript y SVG. Integrada en CDE.
  • 79. 2.1. ¿Qué es? - Básicamente, permite manipular documentos basados en datos usando estándares abiertos de la web. Así, los navegadores pueden crear visualizaciones complejas sin depender de un software propietario. -Actualmente no hay desarrollo activo para Protovis ya que su equipo está trabajando en D3.js Características: •Open Source (Licencia BSD) •JavaScript •Compatible con dispositivos móviles •Compatible con Safari, Chrome, Firefox, Opera o IE8 (y posteriores)
  • 81. 4. Blueprint: CSS Framework ¿Qué es? -Librerías de Hojas de Estilo en Cascada que contienen código para maquetar una web y aplicar otros estilos tipográficos o de impresión, algo que comúnmente conocemos como Framework CSS. -Framework CSS: declaraciones de estilos definidos de forma estándar para que sirvan como base para el diseño de todo tipo de webs/cdm (usaremos Bootstrap de manera general/habitual) -Características: •Una rejilla: conjunto de clases CSS para posicionar cualquier elemento en un espacio de 950 píxeles de anchura dividido en 24 columnas ¿os recuerda a Bootstrap? ;) •Una definición de tipografía predeterminada •Estilos para formularios •Estilos para impresión •Estilos específicos para IE
  • 84. Librerías externas: jQuery UI ~ Font-Awesome ~ HighCharts
  • 85. LIBRERÍAS EXTERNAS 1. Jquery UI: 1.1. ¿Qué es? 1.2. Otras funcionalidades 2. Font Awesome: 2.1. ¿Qué es? 2.2. Como usar los iconos 3. HighCharts: 3.1. ¿Qué es?
  • 86. 1. jQuery UI ¿Qué es? - jQuery UI es una librería complemento de jQuery. Permite implementar componentes para generar interfaces de usuario además de funcionalidades básicas para crear aplicaciones web enriquecidas. - Para comenzar realmente a usar jQuery UI necesitamos descargar las librerías, pero este sistema es amplio por lo que nos interesa descargar sólo una parte para que no resulte demasiado pesado. - Podemos acceder a la página de descargas en: http://jqueryui.com/download
  • 87. 1. jQuery UI ¿Qué es? Una vez descargado nuestro paquete de jQuery UI obtendremos un comprimido con diversos directorios y archivos, que tiene las siguientes carpetas principales: Carpeta "css": CSS e imágenes para generar el tema o los temas escogidos. Carpeta "development-bundle": contiene una serie de materiales útiles para los desarrolladores que van a utilizar estas librerías. Veremos aquí páginas de documentación, ejemplos de uso… Carpeta "js": scripts JavaScript de jQuery y jQuery UI necesarios para que todos los componentes funcionen. Contiene el archivo JavaScript con el código de los componentes que hemos seleccionado al hacer la descarga. Este es el código con los archivos que vamos a necesitar:
  • 88. 1.2. Invocar métodos Ejemplo Componente DatePicker:
  • 89. 1.2. Invocar métodos Ejemplo Componente DatePicker:
  • 91. 2.1 Font Awesome ¿Qué es? Lista de más de 400 iconos gratuitos que, al ser tratados como una fuente normal de letra, son fácilmente escalables y editables mediante CSS. Además, tardan menos tiempo en cargar que si usáramos imágenes.
  • 92. 2.2. Como usar los iconos 1. Descargar el kit de CSS y Font 2. Extraer los archivos .css en nuestra carpeta CSS y los archivos de fuente en nuestra carpeta Fonts. 3. Copiar y pegar esta línea de código dentro de la etiqueta <head> de nuestro HTML, poniendo la ruta correcta al archivo .css que se indica. <link rel=”stylesheet” href=”tucarpeta/css/font-awesome.min.css“>
  • 93. 1. HighCharts ¿Qué es? •Librería para la visualización de gráficas con JavaScript. •No necesita plugins. •Dinámica. •Su compatibilidad es máxima ya que soporta incluso Explorer 6. •Es muy fácil de usar una vez hemos instalado jQuery, Mootols o Prototype.
  • 94. OSBI Magic Visualizations The power of open source business intelligence Info@stratebi.com www.stratebi.com 91.788.34.10 93.425.50.10 Avda. de Brasil, 17 (Madrid) C/ Valencia, 63 (Barcelona)