jueves, 20 de noviembre de 2008

Posicion de objetos en JavaScript

Muchas veces precisamos saber exactamente cual es la posicion de un objeto HTML como una Tabla, un Div, o lo que sea para poder ponerle otro objeto cerca o encima y poder simular por ejemplo un "loading..". Obtener la posicion es a veces dificil porque depende si es relativa, o absoluta y segun las implementaciones de cada Browser. Bueno, aqui hay un par de funciones JavaScript que funcionan para FireFox, IE y Safari y calculan la posicion absoluta del elemento pasado por parámetro.
  function findPosX(obj)
{
var curleft = 0;
if(obj.offsetParent)
while(1)
{
curleft += obj.offsetLeft;
if(!obj.offsetParent)
break;
obj = obj.offsetParent;
}
else if(obj.x)
curleft += obj.x;
return curleft;
}

function findPosY(obj)
{
var curtop = 0;
if(obj.offsetParent)
while(1)
{
curtop += obj.offsetTop;
if(!obj.offsetParent)
break;
obj = obj.offsetParent;
}
else if(obj.y)
curtop += obj.y;
return curtop;
}

miércoles, 19 de noviembre de 2008

Web Server para Cognos

Antes de instalar Cognos debemos tener instalado un Web Server (o http server) a través del cual vamos a acceder al contenido del servidor de Cognos.

Si tenemos a mano el cd de instalación de windows XP, podemos instalar Internet Information Services (IIS), yendo a Panel de control => Agregar o quitar programas => Sobre la derecha seleccionar Agregar o quitar componentes de Windows => seleccionar IIS.

Luego que instalamos IIS debemos definir dos alias:

Alias Location Permission
cognos8 c8_location/webcontent Read
cognos8/cgi-bin c8_location/cgi-bin Execute

La alternativa a usar IIS es usar Apache, para eso, en el archivo
C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf

Debemos agregar los siguientes alias al final:

### Cognos 8 ###
ScriptAlias /cognos8/cgi-bin "C:/Program Files/cognos/c8/cgi-bin"

Options FollowSymLinks
AllowOverride FileInfo
Order Allow,Deny
Allow from All


Alias /cognos8 "C:/Program Files/cognos/c8/webcontent"

Options FollowSymLinks
AllowOverride FileInfo
Order Allow,Deny
Allow from All


Luego de guardar el archivo httpd.conf, reiniciar el servidor apache, yendo a Panel de control => Herramientas administrativas => Servicios => Apache => Boton derecho => Restart

Para terminar reiniciar el servidor de Cognos desde Cognos Configuration.

En la direccion http://localhost/cognos8/cgi-bin/cognos.cgi accedemos al portal.

Cognos Content Database

Cuando instalamos Cognos 8, tenemos que asociar un content store, que puede ser una base de datos Oracle, SQL server, DB2 o Sybase.

También tenemos la posibilidad, en caso de que estemos usando Cognos para una POC, de usar la Cognos Content Database, la cual es una base de datos Derby, que es creada al momento de la instalación.

Para poder usar la Cognos Content Database, en el dialogo de instalación tenemos que seleccionar esta opción, dentro de las herramientas que queremos instalar, ya que por defecto viene deshabilitada.

Luego de finalizada la instalación, debemos abrir Cognos Configuration y dentro de Data Access => Content Manager, vamos a ver un content store que viene creado por defecto, pero que esta asociado a SQL Server. Este content store lo tenemos que borrar (boton derecho => delete) y crear uno nuevo (en Content Manager => botón derecho => Add content store) y ahí seleccionamos el tipo de base de datos (Cognos Content Database), el server y el puerto (localhost:1527), usuario y password (cognos/cognos) y el nombre de la base de datos (cm). Estos son los valores que crea el wizard de instalación.

No olvidarse de guardar los cambios y reiniciar el servidor.

Version del SQL Server 2005

Hace unos dias precisaba saber exactamente que version del SQL Server teniamos instalada en el trabajo.. y me refiero no al "numerito" de motor, luego de varias instalaciones de parches y hotfixes sino exactamente a si es un SP1 o SP2 o si es Express Edition, Enterprise Edition, Developer Edition o cual..
Para eso simplemente tienen que abrir el Microsoft SQL Server Management Studio y en una query nueva ejecutar lo siguiente:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

y voila!

Mis fotos en TrekEarth