Lo que tratamos es poner a su consideración una de las muchas opciones para aplicaciones bibliográficas utilizando por catálogos de bibliotecas pequeñas y medianas. Par al final poner a su consideración la utilización de FusionCharts en la reportería.
En definitiva el escenario se plantea de la siguiente manera:
|
Sin embargo, podría ser necesario proveer a los usuarios el servicio de búsqueda de nuestros catálogos (Que están en formato ISIS), a través del internet. Objetivo
Poder visualizar las bases de datos ISIS por medio de un navegador WEB a través del internet.
Alcance
Instalar y configurar PHP para que soporte el manejo de bases ISIS, verificándolo con las directivas del archivo de configuración de PHP php.ini
Prerrequisitos
- Sistema Operativo Linux 32 btis
- PHP
- Es recomendable tener instalado todas las librerías de desarrollo, para no tener problemas con las dependencias en el momento de compilar PHP-OpenIsis, para esto al instalar CentOS en la opción Development Libraries que está dentro de Development seleccionamos todos los paquetes.
Para verificar que tienes instalado PHP, puedes digitar el comando rpm –qai php en la consola, como lo indica la siguiente imagen:
Si no se tiene instalado el paquete, deberemos instalarlo antes de continuar.
Una vez realizada la verificación continuamos con la instalación
Instalación
Para poder trabajar en bases de datos ISIS desde PHP necesitamos la librería OpenISIS openisis.0.9.1,en la parte final del documento podrán descargar el paquete completo.
Ingresamos a la ubicación de la descarga para verificar que permisos tenemos antes de descomprimir
cd /root/Desktop/
ls -l
Se puede observar que el paquete descargado openisis.0.9.1.tgz, tiene únicamente permisos de lectura, por lo que le asignamos permisos de ejecución y escritura para el usuario root, de la siguiente manera:
chmod +xw openisis.0.9.1.tgz
ls -l
Creamos la carpeta openisis.0.9.1 ("recomendamos la ruta /root/Desktop/") e ingresamos:
mkdir openisis.0.9.1
Copiamos el paquete descargado en la carpeta creada:
cp -f openeisis.0.9.1.tgz openisis.0.9.1
Ingresamos al directorio:
cd openisis.0.9.1
Descomprimimos el paquete:
tar -xvf openisis.0.9.1.tgz
Dando un ls -l podremos visualizar todos los archivos extraídos.
En este punto debemos proceder a compilar la librería, sin embargo debemos conocer que por defecto la limitación de búsqueda de registro es 1000, es decir si en alguna búsqueda existen más de 1000 registros como resultado, solo se mostrarán los primeros 1000.
Para romper esta limitación "si usted lo considera necesario", se debe editar el archivo openisis.h, para esto procedemos de la siguiente manera:Estando ya ubicados en la carpeta donde se descomprimió el paquete openisis.0.9.1.tar, abrimos el archivo openisis.h para editarlo.
vi opensis.h
Buscamos la línea #define OPENISIS_SETLEN 1000
:/ #define OPENISIS_SETLEN 1000
Cambiamos el valor de 1000 por el que deseemos, puede ser mayor o menor.
Sin embargo debemos tener cuidado, mientras más grande sea este número necesitaremos más recursos de la computadora. Incluso si los registros que se tienen son muchos y no filtramos de manera correcta las búsquedas para que sean lo más precisas posible seremos vulnerables a ataques de denegación de servicios.
En conclusión mientras más grande sea el número de la línea #define OPENISIS_SETLEN 1000 seremos más vulnerables a ataques de denegación de servicios. “MUCHO CUIDADO”.
Para nuestro propósito no cambiaremos el valor por defecto.
Para nuestro propósito no cambiaremos el valor por defecto.
Procedemos a la compilación de la siguiente manera:
make shared
Copiamos las librerías como se indica:
cp sto/libopenisis.so /usr/lib
cp openisis.h /usr/include
Descargar PHP-OpenIsis en la parte final del documento podrán descargar el paquete completo.
Una vez descargado el paquete le asignamos permisos de escritura y ejecución para el usuario root
chmod +xw PHP-OpenIsis.tar.gz
Creamos la carpeta PHP-OpenIsis ("recomendamos la ruta /root/Desktop/"):
mkdir PHP-OpenIsis
Copiamos el paquete descargado en la carpeta creada:
cp -f PHP-OpenIsis.tar.gz PHP-OpenIsis
Ingresamos al directorio:
cd PHP-OpenIsis
Descomprimimos el paquete:
tar -xvf PHP-OpenIsis.tar.gz
Corremos el script compile
./compile
Puede ser que no puedas compilar porque no tienes instalado phpize, o porque en el script, compile la dirección que hace referencia a phpize no es la correcta.
Generalmente después de dar la instrucción ./compile obtienes el siguiente mensaje.
You have to Install PHP first. Make sure phpize script islocated at /usr/bin/phpize
En ese caso, debemos instalar phpize, para eso tipiamos:
yum install php-devel
Obteniendo el siguiente resultado mientras instala:
Enviamos a ejecutar nuevamente el script compile
./compile
Deberíamos obteniendo un resultado similar al siguiente:
Añadimos al archivo php.ini las líneas siguientes:
extension=isis.so
[Isis]
isis.default_dir = /isis/db/default/dir
isis.default_database = alguna_base_isis_con_o_sin_la_ubicacion
Reiniciamos apache
service httpd restart
Visualizamos la configuración de php, y estará habilitado el soporte para bases de datos ISIS.
En nuestro caso no hemos definido una base de datos por defecto, pero si definimos la ruta donde deberán estar todas las bases de datos ISIS.
Ahora, se debe copiar las bases que se deseen mostrar por la web en la ruta indicada en el archivo de configuración php.ini y conectarse.
Para nuestro caso utilizaremos la base de datos cds en la parte final del documento podrán descargar el paquete completo.
Pues bien, extremos la base descargada en una carpeta con el nombre cds y lo copiamos en la ruta /isis/db/default/dir
Si la ruta no existe debemos crearla.
Para verificar la conexión desde PHP a nuestra base de datos:
Creamos un script de nombre conexIsis.php con el siguiente contenido, en la parte final del documento podrán descargar el paquete completo:
Consideraciones
- Debemos respetar las mayúsculas o minúsculas en el nombre de la base de datos, es decir;
Si por ejemplo nuestra carpeta se llama “cinci” pero los archivos de la base están con mayúscula “CINCI”, deberemos respetar esto en la conexión, de tal forma que la línea $db nos quedaría:
$db = “/isis/db/default/dir/cinci/CINCI”;
De lo contrario no lograremos la conexión.
De acuerdo a las conexiones realizadas, se recomienda que todos los archivos sean con minúsculas tanto el nombre del archivo como su extensión. - Las bases de datos ISIS que copiemos en el directorio definido por defecto, es decir en “/isis/db/default/dir/” contienen varios archivos como se muestra el ejemplo a continuación:
Ejemplo:
Suponiendo que una de nuestras bases de datos ISIS tiene por nombre cinci2.
Los archivos necesarios para la conexión y búsqueda de registros son los siguientes:
- cinci2.cnt //Desconocido
- cinci2.fdt //Plain Text Document
- cinci2.fst //Plain Text Document
- cinci2.ifp //Desconocido
- cinci2.l01 //Plain Text Document
- cinci2.l02 //Plain Text Document
- cinci2.mst //Desconocido
- cinci2.n01 //Desconocido
- cinci2.n02 //Desconocido
- cinci2.pft //Plain Text Document
- cinci2.xrf //Desconocido
De forma adicional podrías utilizar Reportes PHP con FLASH, para proveer una interfaz mucho más profesional a tus sitio, un ejemplo de esto lo muestra la siguiente imagen:
Te recomendamos visualizar el manual Reportes PHP con FLASH.
Retornar al INICIO Descargar Fuentes
Clic en en enlace: Clic aquí
No hay comentarios:
Publicar un comentario