EuroStrategy.net

lunes, 10 de septiembre de 2012

Utilizar Google Web Fonts en MicroStrategy

Hay veces que los cliente tienen normas muy estrictas sobre comunición via web. Me refiero a los manuales de identidas corporativas, donde se definen todos las reglas de publicación para impresos, cartas, publicidad, email y -como no- reportes.

En este caso MicroStrategy tiene pocas opciones (Verdana, Tahoma, Arial, etc.) para poder crear informes "corporativos" que respeten la identidad de la empresa.

Esto muchas veces es causa de dolores de cabeza y nos obliga a utilizar imagenes y/o código HTML para poder cumplir con los requisitos.

Google Web Fonts es un servicio gratuito que nos permite utilizar fuentes en nuestras páginas web, y hay cerca de 500 diferentes. Posiblemente también una muy parecida a la de vuestro cliente.

Quien hace páginas web sabe lo dificil que es utilizar fuentes que se vean correctamente en más de 2 navegadores; en este caso Google Fonts nos ayuda con la sintáxis css adecuada para cada navegador.

Para utilizar las fuentes en MicroStrategy web hay que añadir un link de tipo 'text/css' en el encabezado de todas las páginas: y para hacer esto hay que modificar el fichero Global_Links.jsp (.aspx en IIS). por favor sigue leyendo antes de modificar nada....

La lista de fuentes disponibles en MicroStrategy Web está en otro fichero que se llama fontNamesPicker.xml.

Mi contributo a la comunidad es un plugin que tiene 10 fuentes de Google fonts ya preparadas y listas para ser utilizadas. Aconsejo de instalar este plugin primero y luego modificarlo a vuestro gusto. Para instalarlo hay que descomprimir el contenido en la carpeta /webapps/MicroStrategy/plugins/ en caso de Tomcat y en caso de otro servidor debe existir una ruta parecida.

Click para descargar el plugin

El contenido del .zip es:
   additionalFonts/
   additionalFonts/style/
   additionalFonts/style/images/
   additionalFonts/jsp/
   additionalFonts/jsp/Preferences_Content.jsp
   additionalFonts/jsp/Global_Links.jsp
   additionalFonts/WEB-INF/
   additionalFonts/WEB-INF/classes/
   additionalFonts/WEB-INF/xml/
   additionalFonts/WEB-INF/xml/config/
   additionalFonts/WEB-INF/xml/config/fontNamesPicker.xml
   additionalFonts/WEB-INF/xml/layouts/
   additionalFonts/WEB-INF/xml/pageConfig.xml


Después de reiniciar el servidor de aplicaciones aparecerán en la lista 10 fuentes adicionales que podéis utilizar en reports y documentos.


Nota: las fuentes web no funcionan exportando los informes a PDF. Es un tema de licencias, hay un ártículo en la knowledge base de MicroStrategy que explica como/porqué y donde.







viernes, 6 de julio de 2012

Las Suscripciones Automáticas no funcionan

En un proyecto para la administración pública, necesito enviar una sere masiva de informes: todos los días a las 8:15 de la mañana.

Hay días en que algunos informes no llegan ni a las 8:15 ni nunca y aparentemente no hay ningun error en el Intelligence Server.


Después de comprobar el servidor de correo, la carpeta de SPAM del cliente, y las direcciones de email el problema no se resuelve.

En el fichero de log del Intelligence server (/var/log/MicroStrategy/DSSErrors.log) aparece este error justo a la hora de lanzar los informes:

2012-07-06 08:15:25.441+01:00 [HOST:<snip>][PID:2090][THR:1801647872][Database Classes][Error] Connect failed.
Error type: Odbc error. Odbc operation attempted: SQLDriverConnect. [08001:-1: on SQLHANDLE] [MicroStrategy][ODBC Oracle Wire Protocol driver][Oracle]TNS-12519: TNS:no appropriate service handler found Connection String: DSN=<snip>;UID=<snip>;ENABLENCHARSUPPORT=1;ENABLEDESCRIBEPARAM=1;.
2012-07-06 08:15:25.457+01:00 [HOST:<snip>][PID:2090][THR:1801647872][Database Classes][Error] Failed to connect to data source. Error message: Connect failed.

El error TNS-12519 en Oracle significa que el listener no puede aceptar conexiones. Buscando en google he encontrado este artículo muy interesante:

TNS - 12519 TNS: no appropriate service handler found

La solución era subir el límite de procesos de la base de datos; en mi caso estaba puesto en 100 procesos que no eran suficientes para ejecutar tantos informes.

alter system set processes=600 scope=spfile;


shutdown immediate;


startup;





martes, 15 de mayo de 2012

Main.aspx aparece como texto plano en IIS

En una instalación reciente, la página principal de MicroStrategy Web mostraba el código fuente aspx en vez que ejecutarse.

<%@ Page Language="vb" AutoEventWireup="false" Inherits"MicroStrategy.Main" validateRequest="false" CodeFile=Main.aspx.vb" %>


No es un error de MicroStrategy sino del IIS y de .NET
En el servidor se instalaron primero la versión .NET 2.0, luego la 3.5.

El problema se soluciona con una utilidad de Microsoft llamada aspnet_regiis.exe; hay que ejecutarla varias veces con parámetros diferentes.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -ua(elimina todas las instalaciones de asp.net - cuidado si el servidor IIS tiene más webs alojadas)

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
(reinstala asp.net en todas las webs de IIS)

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -c
(copia los scripts para clientes en la carpeta aspnet_client)

Al final hay que reiniciar el IIS
iisreset

La página Main.aspx ahora muestra correctamente la lista de proyectos en el Intelligence Server.

viernes, 13 de abril de 2012

MicroStrategy Web en Windows 8 (IE 10)

Estoy probando la versión Customer Preview de Windows 8 con la aplicación Web Universal de MicroStrategy (9.2.1m).

El navegador por defecto en Win8 es Internet Explorer 10, que entre otras cosas soporta HTML5.
Pero, se comporta curiosamente.

En esta primera imagen la página por defecto de un proyecto en MicroStrategy Web.


Las credenciales son las de Administrator, así que debería de ver todas las opciones, pero falta la mitad de los iconos.
En esta segunda imagen del mismo proyecto con las mismas credenciales los iconos aparecen:

Pregunta: cual es la diferencia?

La diferencia es la vista de compatibilidad, habilitando la vista de compatibilidad aparecen los iconos (y los toolbar y etc...)

un saludo,
Dávide

domingo, 8 de enero de 2012

Paso a paso: Instalar MicroStrategy free Reporting Suite. Parte 6

Ahora que el metadata está creado tenemos que conectarnos a un datawarehouse y crear un proyecto nuevo.

06a. Datawarehouse

Para nuestro paso a paso utilizaremos un datawarehouse de ejemplo que existe en Oracle (SH). En realidad es de la versión Enterprise pero con alguna pequeña diferencia funciona bien en la version Express que acabamos de instalar.

Descargar scripts de creción

Primero hay que descargar el fichero sales_history.zip por ejemplo en c:\temp, luego debemos crear una carpeta:
C:\oraclexe\app\oracle\product\11.2.0\server\demo\schema\sales_history
y otorgar derechos de escritura a los usuarios en la misma como en esta imagen


de no ser así no se podran crear los ficheros de log.

Descomprimimos el contenido del zip en la carpeta C:\oraclexe\app\oracle\product\11.2.0\server\demo\schema\sales_history y abrimos una ventana de SQL*Plus:


Escribimos conn / as sysdba (intro)
En la siguiente línea tenemos que ejecutar el script de creación sh_mail.sql: para hacer esto escribimos el caracter comilla @ seguido de la ruta completa del fichero sql como en la imagen (intro).

El script nos pregunta algunos parámetros, para este paso a paso las respuestas deben ser exactamente las siguientes:

Par. 1 (contraseña): contraseñadesh
Par. 2 (tablespace por defecto): USERS
Par. 3 (tablespace temporáneo): TEMP
Par. 4 (contraseña de SYS): <la misma que pusimos en el paso 4 unacontraseñadificil >
Par. 5 (data files): C:\oraclexe\app\oracle\product\11.2.0\server\demo\schema\sales_history\
Par. 6 (log files): C:\oraclexe\app\oracle\product\11.2.0\server\demo\schema\sales_history\
Par. 7 (versión): v3

cuidado que las 2 rutas deben estar en una sóla línea y tener la barra \ al final.

La creación de tablas y objetos puede tardar algunos minutos, seguramente saldrán errores creando cubos OLAP, MATERIALIZED VIEW rewrite y bitmap INDEXES pero no nos preocupamos, en la versión XE no se pueden utilizar.
Lo importante es crear las tablas y cargar los datos. Al final del proceso salimos de SQL*Plus con EXIT (intro).
El fichero C:\oraclexe\app\oracle\product\11.2.0\server\demo\schema\sales_history\sh_v3.log contiene el log de todo el proceso.

Podéis ver la estructura de las tablas en esta imagen: Esquema de SH
Ya tenemos nuestro datawarehouse. Congratulations!

Ahora tenemos que configurar una conexión ODBC. Es muy aconsejable utilizar una nueva, aunque ya tenemos el DSN para el metadata que -en este caso- apunta al mismo servidor. Pero para hacer las cosas bien creamos otro.
Lanzamos el Connectivity Wizard en Start -> MicroStrategy -> Tools -> Connectivity Wizard.
En la pantalla de bienvenida seguimos, y en la siguiente seleccionamos el controlador Wire de Oracle
seguimos y rellenamos los campos de nombre del origen de datos, nombre del host y SID y terminamos. Un mensaje nos avisará que el nombre de origen de datos se ha creado con éxito.


06b. Proyecto

Seguimos con la creación de un proyecto nuevo en MicroStrategy. Abrimos la aplicación en Start -> Programas -> MicroSrategy -> Desktop -> Desktop.
En la ventana de login aceptamos el usuario Administrator sin contraseña. Aceptamos también el mensaje de aviso que no tenemos acceso a ningún proyecto.
Controlamos en la lista de carpetas que esté seleccionada nuestra origende proyecto "Eurostrategy paso a paso" y hacemos click con el botón derecho, seleccionando el menu "Crear Proyecto Nuevo".


 Aparecerá el asistente de creación de proyectos

donde hacemos click en el botón "Crear Proyecto".

En la siguiente ventana rellenamos solo el primer campo con el nombre del nuestro nuevo proyecto y aceptamos. Esperamos a que termine el proceso que puede tardar varios minutos y volvemos a la ventana del asistente.



MicroStrategy se comunica con un datawarehouse a través de una instancia de base de datos, que es la definición de un acceso a un database (controlador ODBC, dirección del servidor, usuario y contraseña).
Siendo el primer proyecto no tenemos todavía ninguna instancia de base de datos, así creamos una nueva. En esta ventana acemos click en "Nuevo", para abrir el asistente de Instancias de base de datos.

Al principio -muy amable- nos da la bienvenida, gracias, y seguimos.
Escribimos un nombre de Instancia que sea fácil y que nos recuerde a donde estamos apuntando. El tipo de base de datos es muy importante por las diferencia de sintáxis SQL que puede haber entre un RDBMS y otro. Seguimos


Seleccionamos en la lista el DSN DATAWAREHOUSE recién creado y rellenamos los campos usuario y contraseña.


Terminamos. Así hemos vuelto a la pantalla de selección de instancia

Aceptamos la nuestra "Esquema SH en Oracle XE".

Una vez seleccionada la instancia aparecerá la ventana del catálogo, muy importante, donde podemos elegir las tablas del datawarehouse que necesitamos utilizar. Para esta primera parte sólo hacen falta CUSTIMERS, PRODUCTS y SALES. Con CTRL+click las seleccionamos y hacemos click en el botón superior ">". Las tablas seleccionadas pasan a la lista de tablas utilizadas en el proyecto.




Con esto podemos Guardar y Cerrar. De momento tenemos nuestro proyecto con tres tablas.
Volviendo al asistende hacemos click en Aceptar sin creas hechos ni atributos, porqué lo veremos en el próximo paso.
En el mensaje que aparece aceptamos otra vez.
Congratulations! El primer proyecto de MicroStrategy aparece en la ventana principal de la aplicación Desktop. En el Menu Archivo seleccionamos Salir.