Antes de nada, comentar que esta entrada no tiene nada que ver con la plataforma AbiesWeb que se está instalando en algunos centros pilotos para la gestión de la biblioteca. Lo que voy a comentar en este artículo es una forma de poder acceder al catálogo de libros de la biblioteca de un centro o de alguien particular, gestionada con el programa ABIES, desde cualquier sitio, vía web.
Hasta ahora, para realizar una consulta o para saber los fondos bibliográficos que existen en una determinada biblioteca gestionada con ABIES, teníamos que acceder al ordenador en concreto donde estaba instalado dicho programa, o a lo sumo, si este programa estaba en red, podríamos acceder a él desde dentro de la intranet de un determinado centro y siempre con ordenadores con Windows, pues bien, lo que trato aquí es una forma de poder acceder a los fondos catalogados de una determinada biblioteca, para realizar consultas, saber más detalles de un determinado libro o simplemente saber si está o no prestado, desde cualquier sitio donde podamos disponer de conexión a internet, independientemente del sistema operativo, de tipo de dispositivo empleado (ordenador de sobremesa, tablet, portátil, etc.) o del lugar en el que estemos, lo que puede resultar interesante para los centros educativos desde el punto de vista de los padres, de los propios alumnos y por supuesto del resto del profesorado, ya que para un determinado tema a tratar de una determinada asignatura, el profesor puede recomendar la lectura de un/unos determinado/s libro/s que previamente se ha cerciorado que existen en la biblioteca del centro, o un alumno puede ver a priori que libros hay, y dentro de los que le gustaría leer, saber si se encuentran ya prestados o no, por poner algunos ejemplos.
Esto no es algo novedoso, ya se podía hacer desde hace tiempo, pero lo retomo ahora después que un centro me comentara como podía hacer esto a la espera de que se implante definitivamente la plataforma “AbiesWeb”, que como he dicho al principio, no hay que confundir con “AbiExWeb”, que es la que trataremos en este artículo, porque entre otras cosas, ésta última es meramente para realizar consultas vía web, desde cualquier sitio, y NO para llevar la gestión propiamente dicha de una biblioteca (catalogación, préstamos, usuarios, etc...) como ocurre con la primera.
Para realizar lo que nos proponemos, necesitaremos descargarnos una serie de programas que podremos hacer sin preocuparnos de nada, ya que estamos hablando de software libre, así que ya de paso, felicitar a su autor, Rafael Santos, por este trabajo. En ESTA PÁGINA WEB tenéis todo lo que necesitáis para llevar a cabo este propósito, incluyendo los pequeños, útiles y bien explicados, manuales de usuario y de instalación, así como el propio código fuente y el Visual Studio (aunque estas dos últimas descargas no son necesarias, salvo para el que quiera realizar algunas modificaciones del código fuente). Como he dicho, todo está muy bien explicado en los manuales, así que no vais a tener ningún problema al respecto.
Básicamente, en el ordenador donde está instalado el programa Abies 2.0, deberéis instalar Microsoft FrameWork 3.5 o superior, si es que no lo tenéis ya instalado (se puede comprobar accediendo por ejemplo, desde el menú de Inicio, al “Panel de Control->Agregar o Quitar Programas” y en la lista que nos sale observar si ya está instalado el programa “Microsoft .NET Framework 3.5 SP1”) y a continuación el programa necesario para exportar los datos de la base de datos de Abies a la dirección web que le indiquemos (“Exportador de AbiEx para Windows”), y aprovechando que los centros educativos del ámbito de Extremadura tienen creados su propio portal web, e incluso una entrada dentro de su menú principal dedicada a la Biblioteca del centro, podemos aprovechar esta dirección web para nuestro propósito.
Una vez hecho esto, lo siguiente es copiar en nuestro espacio web una carpeta llamada 'Abiex', que contendrá los programas necesarios, o sea, la aplicación web que tratará los datos de la base de datos de Abies para presentárnoslos formateados por pantalla, con la posibilidad de poder realizar filtros de búsqueda, hacer clic sobre cualquier libro para disponer de más información sobre él, o saber si el libro se encuentra prestado o no. Esta carpeta podemos subirla a nuestro espacio web bien a través de cualquier cliente FTP (como Filezilla, por ejemplo), o en el caso de los centros educativos extremeños, también se puede hacer utilizando el componente "eXtplorer" de Joomla, desde la parte de administración.
Una vez que todo está instalado, ¿cómo funciona el proceso?. Bien, desde el ordenador donde está instalado el progra de gestión de nuesta biblioteca (Abies 2.0), ejecutamos el programa (AbiEx) para exportar los fondos bibliográficos, éste nos pedirá una serie de datos que necesitaremos para por un lado, exportar los datos de la base de datos Abies en formato 'mdb' y que previamente transforma a un fichero en formato 'csv', a la dirección web que le indiquemos (los propios portales de los centros educativos, por ejemplo), para lo cual el programa necesitará saber los datos ftp para la transferencia de los ficheros: servidor ftp, usuario ftp y contraseña ftp; y por otro lado necesita saber los datos relacionados con la 'base de datos mysql' utilizada por los portales Joomla, para poder acceder a ella e importar el fichero 'csv' que previamente se ha subido a esta dirección web; estos datos se corresponderán con: servidor de la base de datos mysql, usuario mysql y constraseña mysql.
Realmente cuando se realiza la transferencia entre el ordenador local donde se encuentra instalado “Abies 2.0”, y la dirección web que se le indique, lo que se transfiere son dos ficheros: la base de datos en formato 'csv' y el ficheros 'servidor.php' que contiene los datos que hemos comentado en las líneas anteriores.
Si los datos que indicamos referentes a la conexión, son correctos, el programa se encargará de realizar todo el proceso automáticamente, es decir, de realizar la transferencia de la base de datos en formato 'csv', y de importarla directamente el base de datos mysql del portal, creando una nueva tabla que se llamará 'abiex'. A partir de aquí, podéis ya realizar la consulta sobre vuestra biblioteca particular vía web, colocando en la barra de navegación, vuestra dirección web (en el caso de los centros educativos, la del portal del centro, seguido de '/abiex' que es la carpeta donde están los ficheros encargados del tratamiento web de los datos de la biblioteca).
Podéis ver un ejemplo de como quedaría, haciendo clic en esta dirección: http://cpnsconsolacion.juntaextremadura.net/abiex. Ahora depende de nosotros si queremos que este enlace se vea de forma externa a nuestro portal (tal y como aparece en el enlace anterior) o de forma interna, es decir, como “URL embebida”.
Pasemos ahora a comentar algo más en detalle los datos que nos pide el programa de exportación de datos, para que todo se realice correctamente y no haya errores.
Cuando ejecutemos el programa de 'exportación de datos de Abies', nos aparecerá una pantalla como la que sigue:
La primera parte de petición de datos tiene que ver con el ordenador en local donde se encuentra instalado “Abies 2.0”, ya que tenemos que indicar tanto la ruta completa donde se encuentra la base de datos de la aplicación (abies.mdb) y que por defecto suele estar en “Archivos de programa\Abies 2\Datos\abies.mdb” como la ruta completa donde se va a realizar la exportación de esta base de datos 'mdb' a formato 'csv', incluyendo el nombre que queramos poner al fichero 'csv' donde se va a realizar la exportación, así que sino queremos complicarnos, podemos seleccionar la misma ruta donde se encuentra la base datos de Abies, y al fichero le podemos llamar 'abiex.csv', tal y como se muestra en la imagen anterior.
La segunda parte de esta petición de datos tiene que ver con los datos de conexión comentados anteriormente, o sea, con todo lo necesario para acceder a la base de datos MySQL y al servidor de FTP, además de la dirección web con la ruta completa hasta la carpeta 'abiex' que previamente ya se habrá subido (para hacerlo fácil, podemos copiar esta carpeta en la raíz del portal, de forma que la dirección web que habría que indicar sería: “http://dirección_web/abiex”). Con respecto a los datos de 'usuario /contraseña' tanto del servidor FTP como del servidor de base de datos MySQL, son datos que las personas encargadas de la administración del servidor web (los portales educativos con joomla, en el caso de los colegios e institutos de Extremadura) deberían conocer, al igual que los datos referentes a la dirección del servidor FTP y MySQL [en el caso de los centros educativos extremeños, para cualquier duda pueden ponerse en contacto con los administradores informáticos de los institutos o de los CPRs, ya que en el caso de los servidores FTP por ejemplo, se ha cambiado la dirección, además de que sólo se pueden realizar transferencias por FTP desde la intranet, aunque como he comentado en este artículo, también cabe la posibilidad de subir cosas al portal mediante el componente 'eXtplorer' de Joomla, seimpre como administrador].
El resto de datos que quedan por rellenar se corresponden únicamente con un nombre para la biblioteca (por ejemplo: Biblioteca del IES Aaaaaaaaa) y una dirección de correo de contacto, que puede ser por ejemplo, la del propio administrador del sitio, o la del coordinador de la biblioteca o la dirección del centro, o la que estiméis más oportuna).
Por último, comentar que siempre podéis cambiar el logo que aparece al final del listado, ya que por defecto os aparece el logo del 'IESO Los Barruecos', para ello, desde la parte de administración de vuestro portal, y utilizando el componente 'eXtplorer', podéis acceder a la carpeta 'abiex' y dentro de ésta, a la de 'imagenes', donde tendréis que eliminar o renombrar el fichero 'logo_ies.gif' y subir vuestro propio logo, el del centro o el de la biblioteca, pero no olvidéis que el logo que se suba se debe llamar igual que el que habéis renombrado/elimando, o sea, 'logo_ies.gif', ya que de lo contrario no os aparecerá al final del listado de libros (para el que no tenga este componente de Joomla instalado, y tal y como llevo comentado, también lo podéis hacer por FTP).
Para terminar, quiero aclarar algo por si alguien no se ha dado cuenta de ello. Cuando realizamos este proceso de forma correcta, lo que podemos consultar y ver en la web, son los ejemplares catalogados en 'Abies 2.0' hasta el momento en que realizó la exportación, o dicho de otra forma, si después se siguen catalogando nuevos libros, o realizando préstamos, esto no quedaría recogido en la dirección web, por lo que es recomendable ejecutar el programa de exportación de datos cada 'X' tiempo, y la frecuencia de ejecución dependerá del movimiento que tenga una biblioteca particular, pudiéndose realizar todos los días si se realizan préstamos y catalogaciones diarias, o una vez a la semana, o una vez al mes, en función de los cambios que se produzcan en los fondos bibliográficos, con el fin de tener recogidas las últimas modificaciones.
*******************************************************************************
NOTA IMPORTANTE: Esta aplicación desarrollada por Rafael Santos y bajo los estándares de software libre, tiene su proceso de instalación pensado principalmente para los centros educativos extremeños (colegios e institutos) lo que no implica que cualquier centro, institución o incluso a nivel personal puedan utilizarlo, pero ¿por qué comento esto?... porque en el proceso de conexión con la base de datos MySQL, se parte de que el nombre de la base de datos en MySQL coincide con el nombre de “usuario MySQL”, y como he dicho, para los centros educativos es así por defecto, pero en otros casos o entre otras circunstancias, no será así, es decir, que el nombre de la base de datos a la que se intenta acceder dentro del servidor MySQL no coincide con el nombre de usuario. Pues bien, para estos casos caben dos posibilidades, o modificar el código fuente para que en la ventana de petición de datos se pida también el “nombre de la Base de Datos MySQL” (para lo que habría que instalar el programa para tratar dicho código y realizar las modificaciones, y para esto se tendría que tener nociones de programación) o realizar unas pequeñas modificaciones 'on-line' que paso a comentar:
Tendremos que acceder a la carpeta 'abiex' que tendremos en nuestro servidor web, y desde la parte de administrador de Joomla, con el componente 'eXtplorer', podremos seleccionar un fichero y editarlo 'on-line'. En el caso de que se hubiera intentando realizar el proceso automáticamente y hubiera fallado por no poder acceder a la base de datos, por los motivos antes comentados, ya tendríamos transferidos a nuestra a la carpeta 'abiex' los ficheros 'abiex.csv' (que contendrá la exportación de la base de datos abies en formato 'csv') y el fichero 'servidor.php' (que contiene los datos de conexión), pues bien, en principio bastaría con seleccionar el fichero 'servidor.php' y hacer clic sobre el botón de 'editar', apareciendo ahora el código del programa para editarlo y en donde tendríamos que incluir una nueva línea (se trata de crear una nueva variable y asignarle el nombre de nuestra base de datos de MySQL a la que queremos acceder). Este fichero 'servidor.php' debería quedar tal y como sigue, con la nueva línea que dejo resaltada y la modificación de la última línea:
<?
$dbHostForm = "XXXXX"; ->Aquí iría vuestra dirección del servidor MySQL
$dbHostForm = "XXXXX"; ->Aquí iría vuestra dirección del servidor MySQL
$dbUsernameForm = "XXXXX"; → Aquí iría vuestro usuairo MySQL
$dbPassForm = “XXXXX"; ->Aquí iría vuestra contraseña de aceeso al servidor de MySQL
$mysql_bd = "El Nombre de vuestra Base de datos";
$str_name_centro = "Biblioteca del Centro que sea";
$str_email_centro = "mailto:correoquesea@gmail.com";
$str_version= "AbiEx v0.61b";
$enlace = mysql_connect($dbHostForm,$dbUsernameForm,$dbPassForm);
mysql_select_db($mysql_bd);
?>
En la última línea se cambia la variable “$dbUsernameForm” por “$mysql_bd”, o lo que es lo mismo, hacemos que en lugar de que intente acceder a una base de datos que se llame igual que el nombre de usuario de MySQL ($dbUsernameForm), lo haga accediendo al nombre que realmente tiene la base de datos y que le hemos indicado previamente ($mysqul_bd).
Una vez hechos estos dos cambiamos, hacemos clic sobre el botón de “Grabar” (o sea, Guardar los cambios) y después hacemos clic sobre el botón de “Cancelar” para salirnos del editor.
Ahora tenemos que hacer otro pequeño cambio en el fichero 'index.php', para lo cual hacemos lo mismo que antes, o sea, lo seleccionamos y hacemos clic sobre el botón de 'editar', y en la tercera línea, en la que pone:
$local_query = "SHOW TABLE STATUS FROM " . $dbUsernameForm . " LIKE 'abiex'";
Sustituimos la variable $dbUsernameForm por la nueva creada en el fichero anterior: $mysql_bd, quedado finalmente esta línea como sigue:
$local_query = "SHOW TABLE STATUS FROM " . $mysql_bd . " LIKE 'abiex'";
Hecho esto, hacemos clic sobre el botón de “Grabar” y una vez salvados los cambios, hacemos clic sobre el botón de 'Cancelar' para salirnos del editor.
Para no tener que realizar las modificaciones sobre el fichero 'servidor.php' cada vez que hagamos una transferencia desde el programa de exportación de datos Abies, puesto que cada vez que se hiciera se machacaría este fichero y puesto que los datos de este fichero siempre van a ser los mismos, lo que podemos hacer es cambiarle los permisos para que no nos lo machaque. Para hacer esto, seleccionamos el fichero y hacemos clic sobre el botón de ''Cambio (chmod) de Permisos (Directorios/Archivos)" y dejamos marcados sólo los de lectura, de forma que quede como en la siguiente imagen, y por último a "Grabar" para que queden registrados los nuevos cambios de permisos sobre ese archivo:
Para no tener que realizar las modificaciones sobre el fichero 'servidor.php' cada vez que hagamos una transferencia desde el programa de exportación de datos Abies, puesto que cada vez que se hiciera se machacaría este fichero y puesto que los datos de este fichero siempre van a ser los mismos, lo que podemos hacer es cambiarle los permisos para que no nos lo machaque. Para hacer esto, seleccionamos el fichero y hacemos clic sobre el botón de ''Cambio (chmod) de Permisos (Directorios/Archivos)" y dejamos marcados sólo los de lectura, de forma que quede como en la siguiente imagen, y por último a "Grabar" para que queden registrados los nuevos cambios de permisos sobre ese archivo:
Y ya estaría todo, ahora lo que hay que hacer, ya que el programa instalado en local, en el ordenador con el Abies y que debería ejecutar todo el proceso automáticamente, sólo realiza una parte, o sea, la trasferencia de los archivos 'abiex.csv' y 'servidor.php' a nuestro servidor web, es ejecutar la segunda parte de forma manual, para ello en la barra de navegación tendríamos que poner la dirección de nuestro sitio web, seguido de '/csv.php', o sea: 'http://dirección_de_mi_servidor_web/csv.php', puesto que éste será el programa encargado de la conexión con la base de datos y el encargado de importar el fichero 'abiex.csv' a la base de datos MySQL. Si se realiza el proceso correctamente, nos dará un mensaje en pantalla diciendo que 'se ha importando un número determinado de registros'. A partir de aquí, ya podemos realizar consultas sobre los ejemplares de nuestra biblioteca, del mismo modo que se ha comentado anteriormente, o sea, colocando la dirección del servidor web seguida de '/abiex'.
Excelente artículo. Gracias por interesarte por AbiEx.
ResponderEliminarTendré muy en cuenta la modificación que propones sobre los servidores que no tengan la base de datos nombrada igual que el usuario. Te avisaré cuando la tenga compilada.
Otra solución es crear una base de datos con el nombre igual que el usuario, normalmente cualquier servidor de pago con mysql deja hacerlo.
En la versión inicial de AbiEx lo dejé así porque el nombre de la base de datos en los Centros Educativos extremeños no se podía modificar y era un dato fijo.
Lo dicho, gracias por el artículo.
Aunque ya te he contestado en privado, te respondo aquí también. Suponía que lo dejaste así por que en los centros educativos extremeños coincide, pero sería mejor que se pidiera el nombre porque ya que tienes todo el trabajo hecho, esta pequeña modificación podría permitir que se extendiera más esta aplicación, que pudieran utilizarla en más sitios. Un saludo, y gracias a tí por tu trabajo.
ResponderEliminar