domingo, 29 de diciembre de 2013

Instalacion de wordpress en un servidor local

En este pos voy a explicar los conceptos basicos para la instalación de de un gestor de contenido o CMS, en concreto Wordpress,pero este proceso es muy parecido con otros CMS como puedan ser joomla, oxwall, etc. Me voy a centrar en WordPress pos ser multifunional y muy facil de implementar, por lo que podemos montar una pagina web, una tienda on-line, un blog u otro tipo de servicio.Existen diferentes plataformas donde elegir, en función a nuestras habilidades y funcionalidades. Entre ellas podemos encontrar Joomla!, WordPress, Oxwall, Drupal, Magento,Prestashop, etc. cada una con sus propias ventajas e inconvenientes.

Esta vez os contaremos cómo instalar WordPress en un servidor local (en vuestro propio ordenador) con el objetivo de poder aprender los entresijos que componen los sistemas de los gestores de contenidos.

Antes de nada, hay que tener en cuenta que es un proceso complejo, pero una vez entendido es un proceso casi generico con el resto de los CMS. Por otro lado es interesante saber  que existe la opción de contratar un hosting con WordPress ya instalado, de modo que podáis hacer pruebas totalmente gratis desde el primer minuto, en lugar de perder uno o varios días en el proceso. También hay empresas que por un modico precio realizan esta función por ti, realizando todo el proceso de adaptación a WordPress, poniendo la plantilla, el logo corporativo y la personalizan para que se adapte a tu proyecto.


1º Descargar el software en la web del proyecto


Descargamos el paquete de software, con la versión actual la 3.8, y la podéis encontrar en el siguiente link: http://es.wordpress.org/. En cuanto al proceso de instalación se refiere, aunque las versiones de wordpress avancen el proceso de instalación es exactamente el mismo.

Descargamos el archivo RAR que contiene WordPress, tenemos varias opciones, dependiendo de donde se desee alojar: si es un servidor local, solo es necesario extraer el contenido en la carpeta de ese servidor, pero si fuera un servidor remoto se copiaria el contenido de wordpress en el servidor por medio de un FTP, los más rapido es subirlo comprimido y despues descomprimirlo en el servidor remoto.


2.Instalar xammp para poder correr WordPress

WordPress es un CMS que se puede instalar en cualquier alojamiento que disponga de PHP y MySQL, voy a explicar cómo hacerlo Windows, dando lo mismo la versión de windows en la que queramos instalarlo, ya que este proceso es conveniente hacerlo en las versiones de desarrollo de unestro proyecto web.


Será necesario que se instale previamente este software. Existen varias alternativas como wamp, ammps,abyss web server entre otras, que en realidad son casi igual aunque en este tutorial voy a utilizar XAMPP. Lo podréis encontrar aquí: http://www.apachefriends.org/en/xampp-windows.html

Durante la instalación, se os ofrecerá la posibilidad de instalar BitNami, un instalador de CMS para xampp. No voy a utilizar esta herramienta ya que la finalidad de este tutorial es didactica y ademas nos  evitaremos sorpresas, como que instale otra versión u otro idioma.

Para ello, una vez instalado, sóloes necesario entrar al panel de control y pulsar los botones “START” tanto para Apache, como para MySQL.




Para verificar que esto se ha hecho correctamente, escribid simplemente “localhost” en la barra de direcciones de vuestro navegador web, os debería salir algo parecido a la foto que os mostramos a continuación:

Recordad que esto es sólo para que montéis el sitio web en vuestro ordenador, no os permitirá ver la página web desde internet.

PASO 3: descomprimir WordPress


La idea es que la descompresión se haga en la carpeta web, es decir, en la carpeta que XAMPP usará como raíz de vuestro servidor local. El directorio de la carpeta web por defecto es:

c:/xampp/htdocs/

Dentro de esta se crea la carpeta "wordpress" podiendo intalar varios servicios de wordpress en diferentes directorios accediento en desde localhost/"directorio CMS". Además se puede instalar XAMPP en otra ruta que no sea la raiz, como puede ser:

c:/ruta_en_la_que_instalaste_xampp/xampp/htdocs/wordpress

PASO 4: crear la base de datos

El siguiente paso será crear la base de datos, pero antes de crearla vamos a añadir ciertas medidas de seguridad. Escribimos de nuevo “localhost” en nuestro navegador, en las opciones de la izquierda buscamos “Chequeo de seguridad” y nos encontramos esta ventana:

Más o menos a la mitad de la página encontramos el siguiente enlace: http://localhost/security/xamppsecurity.php

En esta página buscamos la zona donde nos deja modificar la contraseña de MySQL, escribimos nuestra contraseña y pinchamos en el botón donde pone “Password Changing”. También nos da la opción de guardar la contraseña en un fichero de texto por si queremos recordarla.

El siguiente paso es crear la base de datos a través de PHPmyadmin. Para acceder, procedemos como en el paso 2, abrimos el navegador y escribimos en la barra de direcciones lo siguiente:

http://localhost/phpmyadmin

Nos pedirá un usuario y una contraseña, tu usuario será “root” y tu contraseña será la que hayas puesto en el paso anterior. En la ventana que te aparecerá, pincha en “Bases de datos”, en la parte superior, y deberías ver una ventana como la imagen que te mostramos. Crea una base de datos nueva y ponle el nombre de tu proyecto. En el apartado Cotejamiento, selecciona utf8_bin, la razón de hacer esto es porque nos va a permitir usar caracteres de la mayoría de los idiomas.




PASO 5: Instalamos WordPress

Antes de comenzar con la instalación propiamente dicha, tenemos que modificar un pequeño archivo de WordPress para indicarle a que base de datos tiene que acceder, con qué usuario y con qué contraseña. Accedemos a la carpeta donde hemos descomprimido WordPress y buscamos el archivo wp-config-sample.php, y lo abrimos con un editor de textos plano. Tendréis que buscar las siguientes líneas y modificarlas con los datos que os damos a continuación:

  • DB_NAME: el nombre que hayáis elegido cuando creamos la base de datos anteriormente.
  • DB_USER: el usuario por defecto es “root”.
  • DB_PASSWORD: la contraseña que hemos escrito en los pasos anteriores.
El resto de datos los dejamos como están. Por último, modificamos el nombre del archivo y le llamamos “wp-config.php”.

Una vez hecho todo esto, accedemos desde vuestro navegador al directorio donde esta WordpPress para instalarlo:

http://localhost/wordpress

Y ya aparecerá la ventana relativa al proceso de instalación de WordPress (ver imagen adjunta), a partir de aquí el trabajo es muy sencillo: tendremos que elegir el nombre de nuestro sitio (se puede modificar una vez esté instalado WordPress), e indicarle un usuario y una contraseña para acceder a él.





Si todo ha ido bien está será la apariencia de tu nueva página.


PASO 6: Experimentar con WordPress

Haz pruebas con la página por defecto, busca o añade temas, añade plugins para mejorar tu experiencia como gestor o para mejorar la experiencia de usuario. Toca los menús, explora los paneles de gestión… A partir de ahora puedes configurar tu CMS para personalizarlo por completo a tu proyecto web.






NOTA 1: Instalar WordPress en un ordenador local usando Mac es muy parecido, basta con instalar MAMP Server en lugar de XAMPP y proceder del mismo modo. Lo podéis encontrar pinchando aquí:

http://www.mamp.info/en/downloads/index.html
 
NOTA 2 : Instalar WordPress en un ordenador Linux es muy parecido, solo hay que instalar el servidor apache, un servidor de my-sql, y el CMS de WordPress. La mayor pequliaridad es que segun la distribución de linux la forma de instalacion de los servicios cambiará.

Analisis Multidimensional


OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical Processing). Es una solución utilizada en el campo de la Inteligencia de Negocios (Business Intelligence), la cual consiste en consultas a estructuras multidimensionales. Los Cubos OLAP Son las herramientas que nos aportan la capacidad de analizar y explorar por los datos en detalle. Nos permiten cambiar el enfoque del sistemas, es decir “¿que esta pasando?”

Este análisis, también conocido como análisis del hipercubo, organiza la información según los parámetros que se esten  consultando, de  tal manera que a partir de las estructuras multidimensionales que se esten consultando se obtienen otros datos resumidos de los Sistemas Transaccionales relaccionados, este tipo de proceso es conocido como OLTP (Online Transactional Processing) grandes bases.
Definiendo de forma más sencilla esta funcionalidad, este mecanismo nos permite navegar y profundizar en los datos analizando los detalles o patrones. Por lo que tenemos que saber que la información de gestión se compone de conceptos de información (dimensiones) y coeficientes de gestión (indicadores). Permitiendonos realizar un analisis interactivo por las diferentes dimensiones de los datos (por ejemplo, tipos de cliente, producto, parametros de tiempo, criterios geográficos, etc), desgranando si se puede los diferentes tipos de detalle (como puede ser el tiempo que tendra varios niveles de detalle asociados a esta dimensión).

 WHAT IS OLAP



Es muy utilizado en el área de marketing, ventas, informes, etc., especialmente por ser capaz de dar  respuestas sencillas a consultas complejas obteniendose de forma muy rapida y eficiente, además de poder obtener los datos tanto de una fuente externa como de una interna.

La razón de usar OLAP para las consultas es la velocidad de respuesta. Una base de datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es relativamente lenta perdiendo eficiencia conforme el sistema crece. Para solventar este problema se diseño el modelo multitabla que mejora las búsquedas, empeorando la gestión desde el punto de vista operativo, siendo este la base de datos multidimensional. La principal característica que potencia a OLAP, es que es lo más rápido a la hora de hacer selects, en contraposición con OLTP que es la mejor opción para INSERTS, UPDATES Y DELETES.


La funcionalidad de los sistemas OLAP se caracteriza por ser un análisis multidimensional de datos corporativos, que soportan los análisis del usuario y unas posibilidades de navegación, seleccionando la información a obtener. Normalmente este tipo de selecciones se ve reflejada en la visualización de la estructura multidimensional, en unos campos de selección que nos permitan elegir el nivel de agregación (jerarquía) de la dimensión, y/o la elección de un dato en concreto, la visualización de los atributos del sujeto, frente a una(s) dimensiones en modo tabla, pudiendo con ello realizar, entre otras las siguientes acciones:
  • Rotar (Swap): alterar las filas por columnas (permutar dos dimensiones de análisis)
  • Bajar (Down): bajar el nivel de visualización en las filas a una jerarquía inferior.
  • Detallar (Drilldown): informar para una fila en concreto, de datos a un nivel inferior.
  • Expandir (Expand): id. anterior sin perder la información a nivel superior para éste y el resto de los valores.
  • Colapsar (Collapse): operación inversa de la anterior.







Plataforma OLAP

La plataforma OLAP es aquella en la que se almacenan los datos para permitir el análisis multidimensional. En este contexto, los usuarios finales no tendrán que preocuparse como se almacena la información, si se replica, tiene cache o que tipo de arquitectura utiliza, pero todos estos aspectos si influiran en que tipo de herramienta front-end puede utilizar, que podrá analizar y como.

Por lo que la estructura interna de la plataforma OLAP es un elemento que es gestiuonado directamente por los administradores de Bussines Inteligent y transparente al usuario final.



Clasificaciones entre las implementaciones OLAP.

  • ROLAP es una implementación OLAP que almacena los datos en un motor relacional. Típicamente, los datos son detallados, evitando las agregaciones y las tablas se encuentran normalizadas. Los esquemas más comunes sobre los que se trabaja son estrella ó copo de nieve, aunque es posible trabajar sobre cualquier base de datos relacional. La arquitectura está compuesta por un servidor de banco de datos relacional y el motor OLAP se encuentra en un servidor dedicado. La principal ventaja de esa arquitectura es que permite el análisis de una enorme cantidad de datos.

  • MOLAP es una implementación OLAP que almacena los datos en una base de datos multidimensional. Para optimizar los tiempos de respuesta, el resumen de la infomación es usualmente calculado por adelantado. Estos valores precalculados o agregaciones son la base de las ganacias de desempeño de este sistema. Algunos sistemas utilizan técnicas de compresión de datos para disminuir el espacio de almacenamiento en disco debido a los valores precalculados.

  • HOLAP (Hybrid OLAP) almacena algunos datos en un motor relacional y otros en una base de datos multidimensional.

  • DOLAP es un OLAP orientado a equipos de escritorio (Desktop OLAP). Trae toda la información que necesita analizar desde la base de datos relacional y la guarda en el escritorio. Desde ese momento, todas las consultas y análisis son hechas contra los datos guardados en el escritorio.


Expresiones Multidimensionales (MDX)

Es un lenguaje query similar al SQL que nos permite realizar consultas sobre una base de datos OLAP. Microsoft desarrollo este lenguaje para trabajar con su servidor OLAP, y al ganar el MDX aceptación entre la industria, un gran numero de fabricantes la incorporaron a sus bases de datos, de forma que hoy muchos visores OLAP generan MDX para acceder y analizar los datos de diferentes bases de datos OLAP.
Igual que las herramientas de query y reporting permiten a los usuarios recuperar información de las bases de datos relaciones sin conocer el lenguaje SQL, los visores OLAP nos permiten acceder a los datos de un BD Olap sin necesidad de conocer las expresiones multidimiensionales del lenguaje MDX.



Visores OLAP

 

Los visores Olap son las herramientas que nos permiten “atacar”directamente a la base de datos OLAP realizar todas las milticonsultas deseadas, con sus veneficios correspondientes. Una de las herramientas mas utilizada para visualizar cubos en la actualidad es el Microsoft Excel. De hecho, tres de los productos Olap lideres la utilizaron inicialmente como unico interfaz (Oracle’s Hyperion Essbase, Microsoft Analysis Services, SAP Business Explorer). Con Excel, los usuarios abren su hoja e inmediatamente pueden hacen drill en las celdas y en las Excel Pivot Tables para recuperar y explorar sus datos. Aunque en la actualidad existen infinidad de visores, por lo que poco a poco se ha alejado en cierta medida de la solucion inicial que dio microsoft.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7zpv4fhTHtRRdVpfNsEpGS-Ci7_ydBdewDfL4wMGwCJQL50_cBzbtS4GC-LSxdWwOnJPwuvG660eoUtfztplhvJtxypm-u2XhkwjdAAxfiJ8SlYgtL_xs__b00UIhwFZ-SzHljbSMLx7b/s400/Saiku.JPG

sábado, 28 de diciembre de 2013

Instalación de C-Tools

El CTools es un conjunto de herramientas de código abierto desarrollado por Webdetails, utilizadas para simplificar el proceso de creación de dashboard en la plataforma Pentaho.
Los CTools son:

  • Comunity Chart Component ( CCC) : Un plug-in para Pentaho permite incluir fácilmente los gráficos en cuadros de mando.
  • Comunity Data Access ( CDA ) : Un plug-in para Pentaho que permite el acceso a los datos de una forma sencilla , flexible y de gran alcance.
  • Comunity Dashboard Editor ( CDE) : Un plug-in para Pentaho permite la creación de imágenes a través de una interfaz web. Este plugin está basado en CDA , CDF y CCC .
  • Comunity Dashboard Framework (CDF ) : Un plug-in para Pentaho para la creación de cuadros de mando de un marco de desarrollo . Esta es la primera de las CTools y la base desde la cual se desarrollaron otros.
  • Comunity Buidl Framework ( CBF) : Un marco para facilitar y automatizar muchos aspectos de los proyectos de construcción .
  • Comunity Startup Tab( CST ) : Un plug-in para Pentaho utiliza para poner en marcha diferentes ventanas a la vez . Por ejemplo, para abrir mi salpicadero una vez y no tener que abrirlos uno por uno.


Por medio de este tutorial se instalara el conjunto de aplicaciones que componen Ctools y saiku (visor olap que hasta el momento es de lo mejorcito que se puede instalar en pentaho CE de forma gratuita)

  • Versión de Linux
 Para instalar la mayoría de estos proyectos de Pedro Alves creó el CToolsInstaller un script bash para automatizar la instalación de la mayoría de ctolls ( CDA , CDE , CDF , CDE ) y Saiku.
El proceso de Instalación en linux es un proceso extremadamente sencillo, tambien se puede instalar en windows por medio del cygwin  que es un emulador de una consola de windows totalmente transparente para el sistema operativo
 ./ctools-installer.sh -s pentahoServer/biserver-ce/pentaho-solutions -w pentahoServer/biserver-ce/tomcat/webapps/pentaho
    • Seleccionamos los paquetes que queremos instalar por medio de la consola y completado. Así de facil y sin problemas de integración


  • Versión de Windows simplificada

El Script  Funciona de forma correcta, pero para la gente que a veces se ven obligados a trabajar en entornos que no son unix / linux es engorroso . Por eso el compañero de stratebi Juanjo Ortilles creo el CtoolsInstaller para windows, que no es más que la adaptación del script de linux del CtoolsInstaller con el PentahoLauncher, para crear un instalable sencillo para windows del Ctools.


Si deseas descargar esta aplicaron se puede descargar en el siguiente enlace: ctoolsinstaller.zip

Falta de revisión de pentaho 5.0, ya que he leido que no es necesario realizar nada, puesto que va integrado en la plataforma. 


Configuración de roles en Schema Workbench


Los Roles se utilizan como en el resto de la herramienta pentaho para administrar el acceso a los datos de los schemas creados con el “Schema Workbench” o el resto de sus aplicaciones, se pueden configurar diferentes roles para los diferentes niveles del schema. Además hay que tener en cuenta que tenemos que tener a su vez definidos los roles en la plataforma.


Los diferentes niveles son para la configuración de roles son:
  • Schema
  • Cubo
  • Dimensión
  • Jerarquía
  • Miembros 

Configuración de acceso para los roles:
  • Un <SchemaGrant> define el acceso predeterminado para los objetos de un esquema. El atributo de acceso puede ser "all" o "none", pudiendo reemplazarse en acceso objetos específicos del cubo.



  • Un <CubeGrant> define el acceso a un cubo en particular. Cuando el <SchemaGrant> tiene asignado en el acceso “all” se puede limitar el acceso en un nivel inmediatamente inferior con <CubeGrant>. Los atributos utilizables son "all" o "none".




  • Un <DimensionGrant> define el acceso a un cubo en particular. Cuando el <CubeGrant> tiene asignado en el acceso “all” se puede limitar el acceso en un nivel inmediatamente inferior con <DimensionGrant>. Los atributos utilizables son "all" o "none".



  • Un <HierarchyGrant> define el acceso a una jerarquía. El atributo de acceso puede ser "all" (todos los miembros son visibles), "none" (la jerarquía existente en el cubo está oculta para el usuario) y "custom".
          – topLevel para definir el nivel superior
          – bottomLevel para definir el nivel inferior

  • <MemberGrant> concede o quita el acceso a un miembro determinado, y todos su hijos. Sólo se puede definir un elemento <MemberGrant> si su <HierarchyGrant> tiene el acceso configurado a "custom".
1. Los miembros heredan el acceso de sus padres. Ej: si niega el acceso a California, no será capaz de ver San Francisco.
2. Concesiones dependen del orden. Ej, si se concede el acceso a USA, a continuación, negar el acceso a Oregon, entonces no será capaz de ver de Oregon. Pero si se niegan a el acceso a Oregon, a continuación, conceder el acceso a USA, se puede ver todo.
3. Un miembro es visible si alguno de sus hijos son visibles. Ej: si negamos el acceso a USA, a continuación, conceder el acceso a California. Seremos capazes de acceder USA, y California, pero ninguno de los otros estados.
4. Miembro concede no anulan la jerarquía superior que le otorgan y de la parte inferior de los niveles. Si se establece topLevel = "[tienda]. [Estado de la tienda]", y conceder



Ejemplo de uso de los roles con Pentaho Schema Workbench:



  • Proceso Común:

Abra la herramienta Pentaho Mondrian Schema Workbench para diseñar un cubo. En lugar de diseñar un nuevo cubo desde el principio, vamos a utilizar el cubo (SampleData.mondrian.xml) que está disponible como parte de la descarga de Pentaho.(Para saber cómo diseñar un cubo utilizando Pentaho esquema Workbench, consulte la entrada anterior)


Para este ejercicio, utilice el cubo de muestra 'SampleData.mondrian.xml' que se encuentra en la ruta: '~ / bi-developers/analysis /'





La marca [x] menciona los elementos del esquema no están definidos correctamente. Para resolver este problema, expanda el nodo 'Quadrant Analysis' haciendo doble clic sobre él. Seleccione la tabla 'QUADRANT_ACTUALS ", en el panel derecho, establezca la propiedad de squema para la tabla como 'public'. Del mismo modo, ampliar cada uno de los nodos de cota, seleccione el elemento de la tabla y establezca la propiedad de esquema para las tablas como'Public'. Una vez solventados estos errores, voy a explicar como crear un schema en el que configuraremos roles.



En el schema 'SampleData' se ha definido un cubo con sus dimensiones y medidas. En estos vamos a añadir los controles de acceso (roles) para el cubo 'Quadrant Analysis.' Para ello, después de abrir el archivo xml esquema Mondrian para el cubo de la herramienta de esquema Workbench, haga clic con el botón derecho del ratón en el elemento 'squema' y seleccione 'add role'




Esto agregará un nuevo rol en el cubo con el nombre "New Role 0 '.



  • Agregar rol concreto
Una vez que se añade el Rol, cambie su valor del campo nombre por 'Admin' en el panel del lado derecho.

Haga clic con el botón derecho sobre  'Admin' y seleccione 'Agregar esquema de Grant. Esto agregará un nuevo elemento llamado 'squema de Grant' en el rol "Admin". Deje que la propiedad de acceso en 'squema de Grant' con (all), dejando dar permisio de acceso a ese rol.

Haga clic derecho sobre el elemento 'squema Grant' y seleccione 'Agregar Cube Grant'. Esto agregará un nuevo elemento 'Cube Grant' al  'squema de Grant'. Seleccione el elemento 'Cube Grant' y configure las propiedades con los valores deseados como:
   Access -> all
   Cube -> Seleccionar el cubo  'Análisis Quadrant '. (squema puede tener más de un schema para cubo, pudiendo ver todos los schemas asignados a cada schema, teniendo que asignar un schema concreto de los configurados).

Hemos definido el rol llamado 'Admin' y usuarios con este rol pueden tener acceso total sobre el cubo 'Quadrant Analysis'.


  • Agregar rol de Autenticación:

Una vez más, para agregar otro papel como "autenticado", haga clic derecho en el elemento 'squema' en la parte superior del archivo de esquema, y ​​seleccione 'Add rol '. Esto agregará un nuevo papel para el esquema con el nombre de 'New Rol 1'. Seleccione la función que acaba de agregar 'New Rol 1' y cambie su el contenido de la propiedad Name a "autenticado".

Haga clic derecho sobre el rol "autenticado" y seleccione 'Agregar squema de Grant'. Esto agregará un nuevo elemento en la función "autenticado". Deje que la propiedad de acceso al 'squema Grant', ya que es (es decir, "todos").

Haga clic derecho sobre el elemento 'squema Grant" y seleccione 'Agregar Cube Grant'. Esto agregará un nuevo elemento 'Cube Grant' en el elemento' squema Grant'. Por ultimo seleccione 'Cube Grant' y en la propiedad 'access' asigne el valor 'all', dando permiso a todos los usuarios autenticados por medio de este rol.

Haga clic derecho sobre el elemento 'Cube Grant' y seleccione 'Hierarchy Grant'. Esto agregará un nuevo elemento 'Hierarchy Grant' en el elemento' Cube Grant'. Seleccione la opción 'Hierarchy Grant' y establezca las siguientes propiedades en el panel de la derecha.

Access -> none
Hierarchy -> Región (Esta "Hierarchy" propiedad listará todas las jerarquías del cubo tiene.)

Hemos añadido otra función llamada "autenticado" al cubo y usuarios con este rol a tener un acceso limitado al cubo es decir, el usuario no puede capaz de ver la columna de la 'Región' en el cubo.

Por Ultimo faltará publicar el el schema

Publique el archivo de esquema en el servidor Pentaho, usando 'Archivo -> Publicar'.



  • Comprobación del proceso realizado


Abra la consola de usuario de Pentaho en el navegador pulsando la URL http://localhost:8080/pentaho

Acceda a la aplicación como "joe (admin)« usuario y contraseña como 'password'.

Haga clic en el botón 'Nueva vista de análisis ", se abrirá un diálogo que muestra el esquema de acceso para el usuario. Seleccione el esquema  "SampleData ' y el Cube " Análisis Quadrant'.

Abriendo un cubo como se muestra a continuación.



Una vez tenemos el cubo si intentamos navegar por el mismo nos damos cuenta que las regiones no se pueden expandir ya que el usuario joe es un usuario registrado, por lo que al bloquear las regiones para los usuarios logeados hace que no podamos navegar por las regiones.




miércoles, 25 de diciembre de 2013

¿Que es wordpress?



WordPress es un sistema de administración de contenidos que en su principio se centro en la creación de blog ,desarrollado en php y msql ,bajo licencia GPL, pero poco a poco se a ido adaptando a los requerimientos existentes convirtiendose en un robusto CMS capaz de mantener cualquier tipo de aplicación web. Fue creado a partir del desapracido b2/cafelog y junto con mobiletype se convertido en el cms más popular en la blogosfera.







Como la malloria de los CMS esta diseñado para usar un blog por sitio o por instalación ,aunque puede haber varios blog en en un mismo hosting o servidor local sin problemas, con la misma base de datos, ademas en la version 3.0 se adapto wordpress para que fuera totalmente transparente en un mismo hosting sin problemas de administración, lo que mejora enormemente la gestión del mismo.


Wordpres destaca por su faciidad del instalación y actualiación. Además aotorga una gran facilidad de instalación y actualización de plugins y themes. Por otro lado, cuenta con una comunidad de desarrolladores que implementan cada día un buen número de plugins que nos hacen la vida mas sencilla. Si necesitas por ejemplo generar un sitemap o cachear tu sitio para minimizar el gasto de recursos, seguro que encuentras a alguien que ha implementado una solución, ahorrándote reinventar la rueda.


Estructura



WordPress, en principio, es un sistema de publicación web basado en entradas ordenadas por fecha, aunque tabien se pueden crear otras estructuras orientadas a paginas más estaticas que agregan un mundo de posibilidades. La gestión y ejecución de nuestro sistema se puede gestionar facilmente por medio del sistema de administración con los plugins y los widgets que usan los themes.

Si desglosamis la estructura basica de wordpress se puede dividir en tres partes, teniendo como parte mas importante el nucleo de wordpress en el cual nunca se deven realizar modificaciones por que perderemos las actualizaciones de versiones y las mejoras de seguridad asociada a las mismas.

La estructura y diseño visual del sitio depende del sistema de plantillas (themes). Pudiendo crear y editar de forma manual los themes de las webs creadas con wordpress. y los plugins añaden las funcionalidades extra al sistema sin interferir en el nucleo


La filosofía de WordPress apuesta decididamente por la elegancia, la sencillez y las recomendaciones del W3C pero depende siempre del theme a usar. “Classic”, por ejemplo es un theme que viene “de serie” y que es válido como (X)HTML Transicional y CSS. Pero se pueden crear o descargar nuevos themes y instalarlos en nuestra web de wordpress.


Separa el contenido y el diseño en XHTML y CSS, aunque, como se ha dicho, depende del “theme” que se esté usando. No obstante, el código que se intenta generar en las entradas (”posts”) apuesta por esta característica forzando -si así se elige- un marcado correcto.


Theme



Los Themes de WordPress son plantillas de diseño que sirven para establecer la apariencia y estructura de tu blog. Hay muchos themes disponibles ,tano gratis como de pago(en arituclo anterior puse una recopilación).

Ademas existen diferentes aplicaciones de escritorio como artisteer que no simplifican el proceso de creación del theme teniendo que afinarlo posteriormente de forma manual.


Widgets



WordPress incorpora un sistema de Widgets para sus plantillas (Themes) desde la versión 2.2 que ofrece numerosas posibilidades y flexibilidad para el diseño y estructura de sus blogs.


Plugin



Hay una ingente cantidad de plugins que potencian el uso de WordPress más allá de una simple bitácora y que lo hacen un sistema realmente flexible y prácticamente de propósito general. Los plugins de WordPress se incorporaron en la versión 1.6. y se mejorar versión a versión

Por regla general, creamos un plugin orientado a objetos con todas las funcionalidades que necesitamos, operaciones con el modelo de datos, obtención de información, interacción con otras APIs, etc

Elección de CMS



A la hora de crear una página web tenemos que tener muy claro lo queremos exactamente, puesto que no es lo mismo una web simple en html que una red social con oxwall. Dependiendo de lo queremos exactamente podemos hacer la web desde cero en php, html y css si tenemos los conocimientos necesarios o recurrir a CMS para que la tarea no sea tan compleja.


  • ¿Elección entre web simple o CMS?




una web simple en html y css resulta algo tediosa por la cantidad de trabajo que hay que desarrollar a la hora de mantener la misma o realizar actualizaciones, el principal problema consiste en que todas las gestiones hay que realizarlas directamente en los archivos html y php del sitio, siento esto bastante lioso y molesto.

Por otro lado google valora mucha a los sitios web que se actualizan de forma periódica. Por todo esto lo mejor es usar CMS o lo que es lo mismo un sistema de gestión de contenido, que nos facilita la tarea de actualizar el contenido de un sitio web.

Además también es conveniente mejorar el contenido de la web para que indexe mejor el contenido de la misma con los buscadores mejorando así la frecuencia de visitas de la web en cuestión.


  • Tipos de CMS




Son muchos los CMS disponibles, principalmente elegiremos entre gratis y de pago. Y posteriormente la elección se basará en las necesidades  existentes, podiendo elegir entre CMS más simples que no usan base de datos hasta los CMS más completos que usan base datos y sirven para crear portales webcompletos con todo lo necesario desde blogs, registro de usuarios, descargas, foros, redes sociales, etc.

Los CMS de pago están más orientados al uso empresarial y no tanto para el usuario final, de ahí que apenas haya información de estos CMS en la red, por lo que su uso esta muy acotado y no existen muchos especialistas que te gestionen de forma correcta estos CMS.

En cuanto a los CMS gratis, existen una infinidad de ellos disponibles, siendo los más conocidos wordpress,joomla, drupal, XOOPS, zikula, etc… Otros CMS son Ocportal, radiant, simphony, TYPO3 entre otros.

A la hora de elegir un CMS hay tener en cuenta el sitio que vamos a hacer, si por ejemplo queremos un blog elegiremos wordpress, mientras que si queremos un portal completo lo haremos con drupal o joomla. Por otra parte si lo queremos es crear un tienda online recurriremos a CMS del tipo comercial como prestashop, mageneto o Ecommence. En caso de desear crear una red social ya sea corporativa o de contactos se puede utilizar oxwall. O si lo que queremos es crear un foro son muchos los sistemas disponibles siendo los más conocidos phpBB3, SMF, MyBB que son gratis y de pago están Vbulletin, Xenforo eIPB.

A parte del sitio que queremos hacer tenemos que tener en cuenta a la hora de elegir CMS el hosting a usar, en concreto tenemos que tener muy en cuenta si el hosting soporta el CMS que queremos usar. Además, tendremos que tener muy en cuenta el tipo de servicio que vamos a contratar, ya que todos los CMS no tienen los mismos requerimientos y en función a sus capacidades por norma general se necesitará un hosting con mejores cualidades.

Para decidirnos por un CMS es conveniente que revisemos bien los CMS disponibles, bien probándolos en un hosting de prueba, probarlos en local ya sea con un servidor linux o por medio de servicios como xampp para windows, o bien probando las demos online que los desarrolles de los diferentes CMS ofrecen en sus sitios oficiales de soporte.

  • Conclusiones


Para elegir el CMS que se adapte a nuestras necesidades tenemos que tener bien claro lo queremos hacer y suficientes pruebas para verificar que el CMS cumple con las expectativas deseadas y que más se adapte a lo que buscamos, entonces será el momento de empezar a crear el sitio web propiamente dicho.

¿Que son los CMS?

Un sistema de gestión de contenidos (o CMS) es un programa que permite crear una estructura de soporte (framework) para la creación y administración de contenidos, principalmente en paginas webs, redes sociales, tiendas virtuales, blogs y otros contenidos multimedia por parte de los administradores, editores, participantes y demás usuarios.


Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido de un sitio web o varios gestionados por un hosting previamente contratado. El sistema permite manejar de manera independiente el contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio web sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores. Las principales ventajas de esta tecnología es la simplicidad para la creación de nuevos sitios webs o administrarlos.



Esta tecnología facilita los procesos de creación, edición, gestión y publicación contenido digital multimedia en diversos formatos. El gestor de contenidos genera páginas web dinámicas interactuando con el servidor web donde se pueden almacenar diferentes CMS para generar la página web por medio de un administrador o un usuario que desee realizar una nueva entrada, con el formato predefinido y el contenido extraído de la base de datos del servidor.Esto permite gestionar de forma estandarizada la información existente en el servidor. Ademas estas tecnologías reducen el tamaño de las páginas para su descarga, mejorando la gestión para poder aplicar SEO de forma económica y reduce el coste de gestión del portal con respecto a un sitio web estático en el que cada cambio de diseño debe ser realizado en todas las páginas web,



Un sistema de administración de contenidos estándar esta formado por un servidor web en el que esté alojado el portal, su base de datos asociada y un panel de gestión de nivel superior al CMS propio. El acceso al gestor se realiza generalmente a través del navegador web, y se puede requerir el uso de FTP para subir contenido.


Cuando un usuario accede a una URL, se ejecuta en e servidor una llamada para cargar una web, se selecciona el esquema gráfico y se introducen los datos que correspondan de la base de datos. La página se genera de forma dinamica para cada usuario, creandose la estructura final por medio de la mezcla del código HTML de la plantilla previamente diseñada, el contenido de la base de datos y la información multimedia existente en el servidor. Normalmente se predefinen en el gestor del CMS varios formatos de presentación de contenido para darle la flexibilidad a la hora de crear nuevos apartados e informaciones.










Antes de dar nuestros primeros pasos con un CMS concreto debemos de estructurar nuestro proyecto en diferentes fases, tal como se desglosará en este blog. Las forma mas correcta en la creación de un sitio web se divide en los siguientes apartados:


  1. Estudio de las diferentes tecnologías existentes,¿cual elegir? 
  2. Desarrollo de los objetivos y proceso de actuación 
  3. Despliegue de nuestro CMS 
  4. Diseño de la plantilla del CMS 
  5. Inserción de contenido y formato de la web 
  6. Adaptación de objetivos secundarios como posicionmiento, adaptación miltidispositivos

jueves, 19 de diciembre de 2013

Creación de un cubo OLAP

No es el cometido de esta entrada explicar en que consiste el modelo fisico normalizado de los datos, ni su necesaria des-normalización para poder crear las dimensiones pertinentes. Estos conceptos son conceptos basicos que es necesario que el lector adquiera antes de intentar cubos OLAP con los que poder realizar consultas multidimensionales.

Tampoco pretendo llegar a explicar en detalle todos los conceptos para crear un cubo. Sino que se pretente explicar como crear un cubo basico sin ningun tipo de complejidad, ya que a posteriori se desarrollaran en detalle los diferentes conceptos que no se explicaron en esta primera entrega.

Algunos elementos basicos

  • Dimensión Degenerada, hace referencia a un campo que será utilizado como criterio de análisis y que es almacenado en la tabla de hechos. Esto sucede cuando un campo que se utilizará como criterio de análisis posee el mismo nivel de granularidad que los datos de la tabla de hechos, y que por lo tanto no se pueden realizar agrupaciones o sumarizaciones a través de este campo. Los "números de orden", "números de ticket", "números de transacción", etc, son algunos ejemplos de dimensiones degeneradas. La inclusión de estos campos en las tablas de hechos, se lleva a cabo para reducir la duplicación y simplificar las consultas.

  • Las dimensiones compartidas, son aquellas que están relacionadas a dos o más dimensiones y que brindan información diferente a cada una de ellas.Se pueden incluir todos los campos de la dimensión Compartida en cada tabla de dimensión con que se relacione y eliminar luego la dimensión Compartida.Se puede crear una nueva tabla de dimensión basada en la dimensión compartida por cada tabla que se relacione con esta y luego eliminar la dimensión compartida.


Elementos basicos para la creación de un cubo

  • Cubos:contiene una combinación de dimensiones, métricas y miembros calculados que conforman la consulta a analizar.
  •  Cubos virtuales:Un cubo definido por la combinación de las dimensiones y las mediciones de uno o más cubos.
  •  Tabla de hechos: es una tabla principal en el modelado multidimensional en la que se almacenan las medidas.
  •  Dimensiones: son las tablas que contienen los elementos en los que se descomponen las vistas multidimensionales (a nivel de granulidad).
  •  Jerarquía: define la relación entre la tabla de hechos y las dimensiones.
  •  Elemento: son los elementos que se mostraran en cada dimensión.
  •  Métrica: son métricas de negocio en estado puro (sum, rest, count, div,mult).
  •  Miembros calculados:es una métrica que tiene como valor el resultado de la aplicación de una fórmula que puede utilizar todos los elementos disponibles en un cubo, así como otras funciones de MDX disponibles.

Proceso de creación de un cubo


En la plataforma pentaho se trabaja con  Mondrian Schema Workbench o Pentaho Schema Workbench en adelante PSW, es la herramienta generica que trae la suite para la generación de cubos para su posterior visualizacion.


    1. Conexion
    Una vez configuremos la conexión podremos cargar los datos de la bd normalizada para crear la estructura de los cubos.
      2. Nuevo schema

      • Creamos el esquema nuevo: seleccionar en el menú “File → New → Schema” (esperen que se toma su tiempo).
      • Cuando hayamos conectado con la base de datos veremos que se queda en blanco, como si nada hubiera ocurrido:
      • Pero si ocurrió, ya está todo listo para crear nuestro cubo.
      • Como se puede apreciar se ha creado un “Schema” al cual se le pone un nombre en el campo “name”








        Partamos de un esquema en estrella que tengamos en nuestro Data Warehouse, de dicha estrella es que modelaremos el cubo.  En el sistema de ejemplo se recogen solicitudes de diversas empresas para que se les repare o dé mantenimientos a sus respectivas flotas de autos y existen varios tipos de solicitudes en dependencia de la empresa que solicita el servicio.



        Queremos hacer un cubo que contenga la siguiente información:
        Cantidad de solicitudes entradas al sistema, agrupadas por el tipo de solicitud y la fecha en que entró la solicitud, dicha fecha debe poseer la siguiente jerarquía:
        1- Año
        1.1- Mes
        1.1.1 Fecha
        Empecemos entonces a ver como se usa esta herramienta para dar respuesta al cubo solicitado.

        3. Nuevo cubo
        Posteriormente con el schema marcado se le da al botón que apunta el cursor (Add Cube) y se crea un cubo
        Como se puede ver el nombre dado a este cubo es “Cant_Sol”, es importante que se observe los mensajes de color rojo que se muestra en el borde inferior de la ventana, en este caso “Fact Table does not exist in database” este mensaje hace referencia a que la tabla de hecho especificada no se encuentra en la base de datos, en realidad no hemos seleccionado ninguna, y hasta que no se haga se mantendrá el mensajeSiempre que aparezcan estos mensajes es que falta algún dato, por lo que el cubo está defectuoso.

          4. Definición de tabla de hechos


          Una tabla de hechos es una tabla principal en el modelado multidimensional y que almacena las medidas del rendimiento del negocio, es decir es la medida de los indicadores solicitados.

          Una tabla de hechos es la tabla principal en el modelado multidimensional y que almacena las medidas del rendimiento del negocio. El término "hecho" se usa para referise a una medida de negocio, por ejemplo la cantidad de elementos vendidos en un periodo de tiempo. Al ser esta medida el dato que se toma de la sumarización de las dimensiones que intervienen en el esquema multidimensional".

           Por ejemplo, procedemos a configurar la tabla de hechos en Workbench  dando clic en el cubo “Cant_Sol” se puede ve como se despliega un icono de tabla “Table”,  seleccionando la tabla que contendrá los hechos que contendra aquello que deseamos analizar.
          Se puede apreciar como una vez seleccionado el nodo “Table” a la izquierda, se muestran a la derecha un conjunto de campos, entre los cuales está “name” que es donde se seleccionará la tabla de Hechos que se utilizará pudiendo seleccionar solamente alguna de las tablas que se encuentre en el listado mostrado).


          Vean como al seleccionar la tabla deseada “h_cant_solicitudes” el nodo “Table” se acoge al nombre de dicha tabla.

          5. Añadir dimensiones

          Las dimensiones son los elementos en los que se puede descomponer un cubo, por lo que tendremos que descomponer cada una de las dimensiones en sus elementos desgranables, siendo ecada uno de estos un nivel de granulidad del cubo final.



          5.2. Tipos

          Procedemos a crear nuestra dimensión particular que mostrará el tipo de solicitud.

          CuboOlap
          Seguidamente nos paramos encima del cubo otra vez, le damos clic derecho y del conjunto de opciones que sale se selecciona la opción “Add Dimension”.

          CuboOlap

          Como pueden apreciar ha surgido un nuevo elemento “New Dimensión 0”, es aquí donde se hace referencia a las tablas de “Dimensiones” que se quieran utilizar. Este elemento también tiene en su interior otras estructuras.

          CuboOlap
          Aquí se muestra como el elemento “New Dimensión 0” tiene en su interior a “Hierarchy” (jerarquía), quien a su vez contiene un “Table”, siendo muy util y comprensible la utilizacion de la tecnica de ir configurando estas estructuras compuestas, desde adentro hacia afuera, por lo que el modo de configuración es el siguiente.


          CuboOlap
          “Table” contiene el campo “name” en donde se escoge la tabla dimensión requerida, nos interesa el tipo de solicitud y el tiempo, así que seleccionamos la primera mencionada. De la misma forma que arriba “Table” se acoge al nombre de la tabla seleccionada.

          CuboOlap

          Luego nos paramos en “Hierarchy” y en los campos “name” y “allMemberName” ponemos “Todos_los_tipos” este será el título de los valores que saldrán en los reportes, vistas de análisis, etc.
          En el campo “primaryKey” seleccionamos de los campos que tenga esta tabla dimensión aquel que sea la llave primaria, en este caso “Id_TipoSol”.

          CuboOlap

          Seguidamente nos paramos sobre “New Dimensión 0” y le ponemos un nombre a este elemento en “name”.
          Observen detenidamente ahora, se cuenta con un campo “foreingKey” eso se debe a que esta capa más arriba, está conectada a la tabla del cubo “h_cant_solicitudes” por lo que cuando vemos la lista que brinda “foreingKey” vemos todos los campos con los que cuenta la tabla hecho de este cubo, y como todos y todas sabemos las tablas hechos deben tener como llaves principales las llaves de las dimensiones que usa. De esta forma ya hemos establecido los campos por los que se indexan las tablas “h_cant_solicitudes” y “d_tipo_solicitud”.

          CuboOlap
          Bien, ya establecimos la conexión entre las tablas mencionadas, pero no hemos establecido que campo(s) son los que mostraremos. Para ellos nos paramos en “Hierarchy” y damos clic derecho y seleccionamos “Add Level”.

          CuboOlap

          A este “Level” le ponemos nombre en “name” y en “nameColumn” seleccionamos el campo que deseamos se muestre.
          Ahora mismo tendriamos configurada la siguiente seccion:


          De esta forma ya hemos establecido los campos por los que se relacionan las tablas “h_cant_solicitudes” y “d_tipo_solicitud”.


          5.1. Fechas


          Ya con esto hemos terminado de configurar la dimensión de tiempo de la solicitud, según lo requerido nos queda crear otra para el tipo, para lo cual nos volvemos a posicionar arriba del cubo,
          Para añadir las fechas tenemos que añadir cada nivel de granulidad del cubo añadiendo primero los elementos del nivel superior  y por ultimo los de nivel inferior. Esta dimension se diferencia de la dimension tipo por la diferenciación en los niveles de granulidad, ya que la dimensión tipo solo mostrará un nivel de graniludad
          Para continuar este proceso, le damos clic derecho y creamos una nueva dimensión (“Add Dimension”), posteriormente bajamos hasta el nivel más bajo “Table” y seleccionamos la tabla correspondiente.

          CuboOlap
          Se selecciona la tabla “d_tiempo”.

          CuboOlap
          Configuramos la jerarquía “Hierarchy”, que no es mas que la relaccion de la primary key de la dimensión (como se ve en la imagen superior), con la el id que la relacciona con la tabla de hechos, en la imagen superior se puede ver como se configura esta relacción(Como se ve en la imagen inferior).

          CuboOlap
          Como se comento anteriormente en la dimension fecha se mostrará más de un nivel, puesto que se desea organizar por año, por cada año los meses, y por las fechas. A continuación veremos  como se debe hacer para lograr esto, asignando los niveles de granulidad.
          CuboOlap
          Se crea un primer nivel que va a coger el campo “Anno”. ESte nivel referencia al año, siendo este el nivel de granulidad superior.

          CuboOlap
          Luego se crea otro nivel que guardará el campo referente a los meses: “Mes”, Siendo el nivel de granulidad inferior.
          CuboOlap
          Y por último el nivel “Fecha” que acogerá el campo “Fecha”, siendo este el ultimo nivel de granulidad.


          6. Añadir metricas

          Bien, ya tenemos modelado nuestro cubo con las especificaciones requeridas, ahora solo nos queda hacer el cálculo de las solicitudes realizadas.
          Esto se hace con el campo “Cant_sol” que tiene la tabla hecho “h_cant_solicitudes” de la siguiente forma.

          CuboOlap
          Nos posicionamos arriba del cubo, damos clic derecho y seleccionamos “Add Measure”.

          CuboOlap
          En “name” ponemos el nombre de este valor a calcular, en “aggregator” seleccionamos la operación de sumarización  que se desee realizar, en nuestro caso “Sum” (sumar).

          CuboOlap
          Luego, en “column” seleccionamos el campo “CantSol”, que será el hecho al que le vamos a realizar el cálculo seleccionado anteriormente.

          CuboOlap
          Aquí especificamos el formato que le vamos a dar al resultado calculado, entero, decimal, con símbolos como “$, %” en dependencia de lo que se calcule.
          8. Conclusion

          Con todos los pasos anteriores ya tendremos configuradas las dimensiones que nos interesan en nuestro cubo y la tabla de hechos para el estudio del elemento a analizar.


          7. Guardado y publicado de cubos
          Solo nos queda salvar este cubo, el cual tendrá una extensión de formato “.xml”, es el formato de lenguaje de etiquetas que usa Mondrian.


          CuboOlap
          Y por último publicar el cubo en nuestro servidor Pentaho. Atención, para poder hacer una publicación en nuestro servidor hay que haber modificado un archivo que nos da permisos para ello. Para poder modificar este fichero sigue estos pasos:
          • Entra en biserver-ce > pentaho-solutions > system
          • Botón derecho en el archivo publisher_config.xml
          • Edita estas lineas de a continuación poniendo lo que está en negrito un password, que es el mismo de PUBLISH PASSWORD de la imagen anterior.
          <publisher-config>
          <publisher-password> password_seleccionada </publisher-password>
          </publisher-config>