32
Tecnología de Información 2 - Luis Maguiña MANUAL ISISSCRIPT PROFESIONAL Internet Red de Redes. Podemos afirmar que la unión de redes WAN si un centro fijo constituye esta gran red. Cuando Sir Tim Berners Lee creó Internet, tuvo en mente un sistema que permitiera la comunicación entre las personas de manera más fácil. Una de las herramientas existentes en Internet es el web, que junto con el correo electrónico se han convertido en maneras muy populares de comunicarnos. En ambos casos, existen programas (servidores) que atienden las peticiones de otros programas llamados clientes que demandan una página web o la recepción/envío de correos electrónicos. Cuando una persona visita una página web, lo que hace es, a través del navegador web, demandar al servidor web una página html. Este servidor web, atiende la petición y envía la página que es visualizada por el usuario. Existen, en el mercado, varios programas servidores web. Microsoft, desarrolla y mantiene el Internet Information Server (IIS). La Fundación Apache desarrolla el httpd (que es más conocido como Servidor Apache). 1

Isis Script: aplicaciones web con bases ISIS

Embed Size (px)

DESCRIPTION

Cómo desarrollar aplicaciones web con base de datos ISIS, utilizando xhtml, css e IsisScript

Citation preview

Page 1: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

MANUAL ISISSCRIPT PROFESIONAL

InternetRed de Redes. Podemos afirmar que la unión de redes WAN si un centro fijo constituye esta gran red.

Cuando Sir Tim Berners Lee creó Internet, tuvo en mente un sistema que permitiera la comunicación entre las personas de manera más fácil. Una de las herramientas existentes en Internet es el web, que junto con el correo electrónico se han convertido en maneras muy populares de comunicarnos.

En ambos casos, existen programas (servidores) que atienden las peticiones de otros programas llamados clientes que demandan una página web o la recepción/envío de correos electrónicos.

Cuando una persona visita una página web, lo que hace es, a través del navegador web, demandar al servidor web una página html. Este servidor web, atiende la petición y envía la página que es visualizada por el usuario.

Existen, en el mercado, varios programas servidores web. Microsoft, desarrolla y mantiene el Internet Information Server (IIS). La Fundación Apache desarrolla el httpd (que es más conocido como Servidor Apache).

1

Page 2: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Existen otros como xitami, tinyweb, etc

A lo largo del curso utilizaremos el servidor httpd, por ser software libre y puede ser empleado con cualquier sistema operativo.

Estructura de carpetas de httpdCuando se instala el servidor web, usted podrá encontrar las siguientes carpetas de suma importancia:

• htdocs• cgi-bin• conf

a).-La carpeta conf, tiene los archivos de configuración del servidor web

b).-La carpeta htdocs, tiene todas las páginas html que serán visualizadas por el navegador web.

c).-Cgi-bin, aquí se guardan todos los ejecutables, archivos cgi, programas en perl y en otros lenguajes que desarrollan una tarea.

¿Qué es una dirección IP?Es un conjunto de números separados por puntos, que identifican a todos los computadores que se conectan a Internet, a través de un proveedor de servicios de Internet.

Cada uno de los servidores que tienen páginas web y que siempre están conectados a internet, tiene un número IP. Como una forma de ayudar al ser humano para que pueda navegar por los millones de páginas web, este número IP se encuentra asociado a un Dominio. Así, cuando escribe en la barra de

direcciones de su navegador web http://www.aprendamosjuntos.info , en realidad usted está haciendo una solicitud al computador que tiene el IP 67.210.123.75, esta asociación la realiza un programa que se llama SERVIDOR DE NOMBRES.

2

Page 3: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

En Resumen:El servidor web es necesario ya que este entrega las páginas web solicitadas desde el navegador web. Si no está, simplemente no podrá publicar sus páginas web.Además necesitará tener un dominio, para que sus usuarios no tengan que recordar un número IP (lo cual por cierto sería sumamente difícil).

Bases de Datos ISIS

Son bases de datos documentales, cuyas características principales son: gran rapidez para recuperar textos, trabaja con operadores lógicos, tiene un listado invertido que facilita la recuperación de textos.

Estructura de las Bases de Datos ISIS

Archivos de Datos *.mst (Archivo Maestro)*.xrf (Archivo de Referencias Cruzadas)

Listado Invertido *.l01, *n01, *.l02, *.n02, *.IFP, *.CNT

Archivos de Definición *.FST, *.PAR

Existen diversas interfaces para operar con bases de datos ISIS como: microisis, winisis, cisis, xisis, wwwisis.

A lo largo del curso, trabajaremos con wwwisis utilizando el lenguaje IsisScript.Primero veamos cómo instalar el wwwisis en los computadores.

Puede descargar el programa desde http://www.bireme.org , lo descomprime con el winzip o con 7-zip, y el archivo ejecutable wxis.exe copiarlo a la carpeta cgi-bin del servidor web.

Para ver si el motor wwwisis está funcionando correctamente, escribir en la

3

Page 4: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

barra de direcciones de su navegador web lo siguiente:http://localhost/cgi-bin/wxis.exe?hello

Como respuesta visualizará algo similar a esto:

Esto significa que su wwwisis está correctamente instalado.

El wwwisis funciona en un entorno web, entonces nuestros elementos indispensables para crear aplicaciones son:

- Página web- Base de Datos ISIS- wwwisis- Archivos IsisScript

Las páginas web, se pueden crear utilizando un programa como dreamweaver, kompozer, Amaya, etc. A continuación, veremos el lenguaje html y las hojas de estilo.

4

Page 5: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Lenguaje XHTML (XML HyperText MarkUp Language)

Este lenguaje sirve para escribir páginas web. Existen diversas herramientas de autoría web, que nos facilitan la publicación de un sitio web sin necesidad de conocer el lenguaje. Sin embargo, para controlar todos los aspectos web lo mejor es conocer el xhtml.HTML y XHTML sin bien son parecidos, tenemos que estar conscientes de sus diferencias. Mientras HTML desciende directamente de SGML el XHTML nació de XML, es decir un documento XHTML debe seguir las reglas del XML.

Reglas para escribir documentos XML i:

• Las marcas tienen un inicio y un fin• Orden de anidamiento de marcas (orden en el que se abren y cierras las • marcas)• Los nombres de las marcas se escriben en minúsculas• Los valores de las marcas deben ir entre dobe comilla• Los atributos no se pueden simplificar

Como su nombre lo indica, y según hemos visto en las reglas, este lenguaje utilizar “marcas” (tag), estas marcas se escriben en par : marca de inicio y marca de fin

Ejemplo:<p> texto de varias lineas </p><table> .......</table><div> ...... </div>

Notamos que para cerrar la marca antecedemos un slash ( / ) al nombre de la marca. Sin embargo, existen excepciones a esta regla. Tenemos algunas marcas conocidas como “vacías”, significa que en sí mismas tienen el inicio y cierre de la marca.

Ejemplos:

5

Page 6: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

<img src=”edificio.jpg” /><input type=”text” name=”nombres” value=”” />

Elementos Básicos de XHTML

* la marca <p> .......</p>, formatea párrafos * tiene los atributos <p align="justify | center | left | rigth">......</p> * <em> ......</em>, da énfasis a una porción de texto * <strong> ... </strong>, mayor énfasis. El texto se presenta en negrita * <cite> ......</cite>, usado para citar un texto *

Niveles de encabezamiento

Se puede establecer hasta seis niveles de encabezamiento usando las etiquetas

1. <h1> ......... </h1> 2. <h2> ......... </h2> 3. <h3> ......... </h3> 4. <h4> ......... </h4> 5. <h5> ......... </h5> 6. <h6> ......... </h6>

En el nivel h1 las letras tienen un tamaño grande, luego van decreciendo conforme aumenta el número del nivel.

Otras marcas

* <blockquote> ....</blockquote> usado para citar textos medianos o grandes * <cite> ......</cite>, usado para citar textos pequeños (cita en línea) * <a href="url" title="titulo descriptivo">Texto del enlace</a> * Listas ordenadas, desordenadas y de definición * <ol> <li>Texto</li <li>Texto dos</li>

6

Page 7: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

</ol>

* <ul> <li>Texto</li <li>Texto dos</li> </ul>

Lista de Definición• <dl>• <dt>RAM</dt>• <dd>Random Access Memory</dd>• </dl>

Imágenes y Tablas

<img src="ruta_a_imagen" alt="descriptivo" width="pixeles" height="pixeles" />

Elementos de la tabla• <table border="numero">, define una tabla• <caption>, damos un titulo a la tabla• <tr>, crea una fila• <td>, crea una celda de datos• </table>, cierra la tabla.• <th> se usa para escribir encabezados de tabla

FormulariosSon elementos que sirven para ingresar información que luego será enviada a la pantalla, a un archivo de texto o a una base de datos.Estos formularios, constan de varios elementos de distinto tipo: cajas de texto, listas desplegables, cajas de chequeo, radio botones, listas de selección múltiple, botones de envío y de borrado.

La marca que indica el inicio de un formulario es <form> ....</form>. Tiene un elemento action, donde indicamos el nombre del archivo ejecutable que procesará la información envada a través del formulario. Finalmente se debe indicar el método que se empleará para el envío de los datos.

7

Page 8: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Ejemplo:<form action="http://localhost/cgi-bin/wxis.exe” method="post">

Nota importanteExisten dos métodos para enviar la información POST y GET. La diferencia fundamental iies que en el método GET, la información es enviada utilizando el URL, el que tiene una limitación de 256 caracteres. La especificación técnica dice que el método GET se debe usar cuando realicemos alguna operación de recuperación de información (vgr. búsqueda en opac), y se emplea el método POST cuando se deba realizar alguna operación de grabación o actualización de información o cuando se realice alguna compra por web o cuando se envíe algún correo electrónico.

A continuación veremos la sintaxis de cada elemento del formulario:

Cajas de texto<input type="text" name="codigobarras" value="" />

Permite al usuario ingresar un texto.

Este elemento de formulario admite también otros parámetros como:• size, indica el tamaño de la caja de texto.• Maxlength,

Consejo: Cuando se trabaja con formularios es recomendable indicar un máximo número de caracteres, de esta manera evitamos que algún hacker tenga espacio para incluir código maligno.

Cada elemento del formulario debe tener asociado un nombre, para ello se utiliza la etiqueta <label>

Ejemplo:<label for="codigobarras">Código de Barras</label><input type="text" name="codigobarras" value="" />

8

Page 9: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Listas Desplegables

<label for="opciones">Nivel de Educación</label> Seleccione una opcion <select name="opciones"><option value="1">Primaria</option><option value="2">Secundaria</option><option value="3">Superior</option></select>

Permite seleccionar un valor de una lista.

Radio Botón<form action="http://localhost/cgi-bin/wxis.exe" method="post"><label for="sexo">masculino</label> <input type="radio" name="sexo" value="hombre" /><label for="sexo">femenino</label> <input type="radio" name="sexo" value="mujer" /><input type="submit" name="enviar" value="Aceptar" /></form>

Nota importante: observe que en este elemento del formulario cada una de las opciones tiene el mismo nombre, esto es así para conseguir que las opciones sean excluyentes.

Se puede elegir una de las opciones para que aparezca seleccionada de manera predeterminada.

Ejemplo:<form action="http://localhost/cgi-bin/wxis.exe" method="post"><label for="sexo">masculino</label> <input type="radio" name="sexo"

9

Page 10: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

value="hombre" /><label for="sexo">femenino</label> <input type="radio" name="sexo" value="mujer" checked="checked" /><input type="submit" name="enviar" value="Aceptar" /></form>

Listas de Selección MúltiplePermite elegir varias opciones, presionando la tecla CTRL.

<select name="programacion" multiple="multiple" size="4"><option value="1">Lenguaje C</option><option value="2">Perl</option><option value="3">C++</option><option value="4">Java</option><option value="4">Smalltalk</option></select>

Check Box (casillas de verificación)A diferencia de los radio botones, las opciones de las casillas de verificación no son excluyentes entre sí, por lo que se utiliza con frecuencia para poder elegir varias opciones al mismo tiempo.Eso significa que cada línea de input es enviada al servidor en un par (nombre = valor)

Elija sus hobbies:<br /><input type="checkbox" name="hobbieuno" value="lectura" />Leer<br /><input type="checkbox" name="hobbiedos" value="correr" />Footing<br /><input type="checkbox" name="hobbietres" value="cine" />Ir al cine<br />

10

Page 11: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Areas de TextoDa la oportunidad de ingresar grandes cantidades de texto. Se utiliza para ingresar resúmenes.

<textarea name="resumen" value="" cols="60" rows="20"></textarea>

Texto tipo PasswordSirve para escribir passwords (claves secretas), cuando el usuario escribe solo se ven asteriscos.

<input type="password" name="clave" value="" />

Texto OcultoPodemos utilizar este elemento del formulario para enviar datos sin que el usuario los ingrese.

11

Page 12: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Estos valores no serán vistos por el usuario.

<input type="hidden" name="categoria" value="" />

Personalización de BotonesSe puede incluir imágenes como botones de envío. De esta manera se puede mejorar el aspecto de los botones en los formularios.

Ejemplo:<td><input type="image" name="enviar" src="ir.jpg" alt="Buscar" /></td>

Todas las etiquetas se pueden agrupar utilizando <fieldset>, en este elemento de formulario se agrega la etiqueta <legend> para dar un título al grupo de elementos que se encuentran bajo <fieldset>

Ejemplo:

<h3>Formulario de Inscripción</h3><form action="http://localhost/cgi-bin/wxis.exe" method="post">

<fieldset><legend>Estudios</legend><label>Educación</label><select name="educacion"><option value="Egresado">Egresado</option><option value="Bachiller">Bachiller</option><option value="Licenciado">Licenciado</option><option value="Magister">Magister</option><option value="Doctor">Doctor</option></select><br /><br /><label>Centro de Estudios</label><input type="text" name="universidad" value="" size="60" maxlength="50" />

12

Page 13: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

</fieldset><br /><fieldset><legend>Experiencia Laboral</legend><label for="primero">Primer trabajo</label><input type="text" name="primero" value="" /><br /><br /><label for="ultimo">Ultimo trabajo</label><input type="text" name="ultimo" value="" /></fieldset></form>

Divisiones y Maquetado de Páginas WebAntiguamente, los diseñadores de páginas web utilizaban TABLAS para organizar los elementos de una página web. Era muy común, ver tablas anidadas que contenían textos, imágenes, etc

Hoy gracias, a que el xhtml ha separado el contenido del diseño, es fácil ordenar los elementos de cualquier página web, utilizando <div> que luego serán ubicados en los lugares que indiquemos mediante las hojas de estilo (CSS)

Ejercicio:Elabore una página web con un formulario para búsqueda.

Cuando se escribe xhtml, veremos una página web simple, sencilla. Algunos dirán se ve “feo”. Pero, por suerte CSS se encargará de adornar y darle el toque “bonito” a esa página web “fea”.

Hojas de Estilo (CSS)Cascade Style Sheet proporciona independencia entre contenido y diseño. Hoy, una página html es la suma de etiquetas con texto plano. El resultado es visualmente poco agradable, pero se puede identificar claramente el contenido del documento, el mantenimiento resulta más fácil que cuando se tenía a la vista el contenido mezclado con marcas y atributos que indicaban posiciones, colores, tamaños, etc

Cuando se tiene una hoja de estilos, enlazada a todas nuestras páginas web,

13

Page 14: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

entonces se puede cambiar colores, tipo de letra de todo el sitio web en cuestión de minutos.

¿Cómo enlazamos nuestra hoja de estilos con nuestra página html?Insertamos la línea <link rel .... /> en el <head> de nuestra página web

Ejemplo:<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><title>datos</title><meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" /><link rel="stylesheet" type="text/css" href="personal.css" /> </head>

Sintaxis CSS

selector { atributo : valor; atributo : valor;}

Ejemplos:

h1 { font-family: Verdana; color: red;}

h2 { color: red; font-family: Verdana;}

14

Page 15: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

También puede ser:

h1, h2 { font-family: Verdana; color: red;}

De esta manera otorgamos atributos a las marcas h1 y h2 con un solo conjunto de órdenes.

Ejemplo 2:

p strong { color: navy; }

Esto indica que se pintará de color “navy” todas las etiquetas strong que se encuentren entre el <p> y </p>

<p>Las <strong>Naciones Unidas</strong> obligaron a los países .....</p>

Clases CSSSe define una clase antecediendo un punto al nombre de la clase. Se puede aplicar a cualquier etiqueta del html.

.importante { font-family: Arial; font-size: 1.5 em; font-weight: bold; color: blue;}

En el html indicaríamos así:<p class=”importante”> El Perú es Libre e Independiente por la Voluntad

15

Page 16: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

General de los Pueblos.</p>

El texto asumirá las características señaladas en la clase “importante”. Pero, como hemos dicho, el atributo de clase se puede especificar en cualquier etiqueta html, y qué sucede si hay más etiquetas que asumen la clase “importante” y se quiere dar características especiales solo a los párrafos que tengan la clase “importante”?

Tendría que escribirse algo así:

p.importante { color: red; font-family: Verdana;}

Para aplicar características a solo UN elemento de una página web se debe emplear el selector ID

#importante { color: red; }

<p>texto .....</p><p id="importante">GNU/Linux es un sistema operativo</p><p>otro texto ... </p>

Ejemplo Completo CSS

body { overflow: auto;}

#contenedor { border: 1px solid #000057; margin: 0 auto;

16

Page 17: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

width: 800px; height: 518px;}

p { font-family: Arial; color: #000000; font-size: 0.9em; text-align: justify;}

#imagenes { position: relative; left: 2px;}

div#contactenos p > strong { color: #336609;}

#header { border: 0px solid #EFF5FB; padding-top: 4px; padding-bottom: 1px; margin-bottom: 1px; background: #ffffff none repeat scroll 0% 50%; width: 320px; height: 20px; font-family: Verdana; text-align: center; font-size: 13px; font-weight: bold; color: #000000;}

#header p {

17

Page 18: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

font-family: Verdana; color: #000000; font-size: 13px; text-align: left;}

#expo_texto { clear: both;}

#item { border: 1px solid #d8d8d8; background-color: #f2f2f2; margin-top: 10px; width: 158px; } .redondo {-moz-border-radius: 10px;-webkit-border-radius: 10px;border-radius: 10px;-moz-box-shadow: 2px 2px 10px #000000;}

Nuestro Formulario para Opac

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>opac.html</title></head><body>

18

Page 19: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

<h2 style="text-align: left;">Catálogo En Línea</h2><form target="_self" method="post" action="http://localhost/cgi-bin/wxis.exe" name="opac">Ingresesu término de Búsqueda<input name="IsisScript" value="aj/recupera.xis" type="hidden"> <input maxlength="40" size="40" name="terminos"> <input name="enviar" value="Buscar" type="submit"></form></body></html>

ISISSCRIPT

Es un lenguaje de marcado, parecido al xhtml, que sirve para realizar diversas tareas con las bases de datos ISIS.El programa que lee los archivos ISISSCRIPT y que implementa las tareas es

el wwwisis (descargar de la página web de Bireme http://www.bireme.org ). Actualmente se encuentra en la versión 7.1, funciona tanto en los sistemas operativos windows como en GNU/Linux.Nota Importante: Una vez descargado, descomprimir en la carpeta “cgi-bin” del servidor web.Los archivos ISISSCRIPT, por convención les colocaremos la extensión .xis, se pueden escribir en un editor de textos (block de notas, notepad++, gedit, kedit etc)Todo documento ISISSCRIPT inicia con la marca <IsisScript>, indica que vamos a escribir un archivo que contiene lenguaje e instrucciones ISISSCRIPT. Como en xhtml, las marcas tienen un inicio y un fin. Por lo tanto :

<IsisScript>

</IsisScript>

Esta marca tiene un atributo “name” que sirve para documentar el archivo.Ejemplo:

<IsisScript name=”Primer Script”>

19

Page 20: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

</IsisScript>

Esta marca puede contener cualquiera de estas otras marcas :<function>, <section>, <trace>

Estudiemos la marca <section>. Esta marca indica que se inician instrucciones para operar con bases de datos ISIS. Al igual que ISISSCRIPT, también admite el atributo “name”. Esta marca puede contener cualquiera de estas otras marcas :<call> <cgitable> <define> <display> <do> <export> <extract> <field> <file> <flow> <hl> <label> <list> <parm> <proc> <trace>Pero <section> solo puede ser usado en <IsisScript>

Entonces nuestro primer script puede ir quedando así.<IsisScript name=”Primer Script”> <section name=”inicio”>

</section></IsisScript>

En programación, el primer ejemplo que se estudia cuando se aprende algún lenguaje nuevo es el ya famoso 'hola mundo'. Nosotros no seremos la excepción. Por lo que construyendo nuestro primer script, haremos que nos muestre el mensaje 'Hola mundo'.

Para mostrar textos en la salida estándar (pantalla) utilizaremos la etiqueta <display>, que como vemos líneas arriba sí se puede emplear en <section>. La etiqueta <display>, permite presentar textos planos o como salidas de instrucciones en lenguaje de formateo. Por lo que esta etiqueta permite emplear las marcas <htmlpft> <pft>

Nota Importante : Nuestra aplicación se verá en un navegador web por lo que es necesario informar la cabecera 'content-type:text/html'.

20

Page 21: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Imprescindible: la cabecera debe ser seguida de una línea en blanco, según lo especifica el rfc del protocolo http.

Continuando con nuestro primer script

<IsisScript name="Primer Script"> <section name="inicio"> <display><pft>'Content-type:text/html',## </pft></display> <display><pft>'Hola Mundo'</pft></display> </section></IsisScript>

Tareas en IsisScriptSe pueden desarrollar tareas como: búsquedas, actualización de información, eliminación de registros, importación – exportación

Tarea de BúsquedaEmpezaremos construyendo nuestro script para recuperar información de una base de datos ISIS existente.

Modificaremos nuestro primer scriptComo ya hemos visto, el usuario ingresará los términos de búsqueda en el formulario xhtml y esta información será capturada por el wwwisis que luego realizará la consulta a la base de datos de acuerdo a lo especificado en nuestro archivo IsisScript.Por lo que será IMPORTANTE recuperar dicha información. Para ello IsisScript cuenta con la marca <field>, con ella se puede adicionar, eliminar, modificar, importar y exportar campos.Los comentarios en IsisScript se escriben :<!-- este es un comentario -->, son importantes para documentar el Script y recordar todas las tareas que realiza.

<IsisScript name="Primer Script">

21

Page 22: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

<section name="inicio">

<!-- Esta es la cabecera para que el servidor devuelva html --> <display><pft>'Content-type:text/html',## </pft></display> <!-- fin de cabecera -->

<!-- se recuperan los terminos ingresados por el usuario --> <field action="cgi" tag="9000">terminos</field> <!-- fin de la recuperación -->

<do task="search"> <parm name="db">bases/sdoc/sdoc</parm> <parm name="expression"><pft>v9000</pft></parm> <loop> <display><pft>mfn,'<br />'</pft></display> </loop> </do> </section></IsisScript>

Explicación del IsisScript. El atributo action, informa el tipo de acción que va a desarrollar la marca <field>. El atributo tag, indica el número del campo que guardará los términos enviados desde el formulario. En el ejemplo anterior, el campo 9000 almacenará el dato enviado por el usuario desde el opac.La marca <do> indica el tipo de tarea que desarrollará wwwisis, en este caso iniciamos con la tarea search (búsqueda). Para que el wwwisis pueda realizar una operación de búsqueda necesita como mínimo contar con la siguiente información:nombre y ubicación de la base de datosexpresión de búsqueda

Esta información es pasada al wwwisis utilizando la marca <parm>, el atributo name de esta marca informa sobre el tipo de información que se está indicando. En nuestro ejemplo se dice que la base de datos se llama sdoc y la expresión de búsqueda es el contenido del campo 9000.

22

Page 23: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

La marca <loop> ejecuta las instrucciones especificadas para cada registro recuperado.

Este script, solo funciona si ingresamos un término de búsqueda. Veamos las modificaciones para permitir que el usuario pueda escribir la cantidad de términos que él quiera.

<IsisScript name="Primer Script"> <section name="inicio">

<!-- Esta es la cabecera para que el servidor devuelva html --> <display><pft>'Content-type:text/html',## </pft></display> <!-- fin de cabecera -->

<!-- se recuperan los terminos ingresados por el usuario --> <field action="cgi" tag="9000">terminos</field>

<!--convirtiendo al campo 9000 en repetible y guardandolo en 9001--> <field action="replace" tag="9001" split="occ"><pft>replace(v9000,' ',s(#))</pft></field>

<!-- fin de la recuperación -->

<do task="search"> <parm name="db">bases/sdoc/sdoc</parm> <parm name="expression"><pft>v9001+|*|</pft></parm> <loop> <display><pft>'Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br /><br />'</pft></display> </loop> </do> </section></IsisScript>

Uso de cgitableEs una forma más rápida de recibir los datos desde el formulario web. Se

23

Page 24: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

puede usar la etiqueta <pft> que nos permite insertar instrucciones en lenguaje de formateo si fuese necesario.En el siguiente ejemplo, guardamos el contenido del elemento “terminos” del formulario en el campo 9000.

<cgitable> <pft>'9000 terminos'</pft></cgitable>

Uso de CIPARinforma sobre las rutas de los archivos de bases de datos. Para ello empleamos la etiqueta <parm> de la siguiente manera:

<parm name="cipar"> <pft> 'sdoc.*=bases/sdoc/sdoc.*'/ </pft></parm>

La ventaja de usar el parámetro cipar es que si en algún momento decidimos modificar la ubicación de la base de datos, solo bastaría con cambiar la información del cipar para que nuestros scripts funcionen correctamente.

Tarea mfnrangeTrabaja con un rango de registros de la base de datos. El usuario puede solicitar al sistema recuperar un conjunto de registros.La información que se debe suministrar para que se realice la tarea :<parm name=db><parm name=from><parm name=to> | <parm name=count>

Ejemplo:

24

Page 25: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

<IsisScript name="rango"> <section name="rango"> <display><pft>'Content-type:text/html',##</pft></display> <!-- <trace>On</trace> --><!-- definiendo las rutas de las bases de datos --> <parm name="cipar"> <pft> 'sdoc.*=bases/sdoc/sdoc.*'/ </pft> </parm>

<cgitable> <pft>

'9000 desde'/ '9001 hasta'/ </pft> </cgitable> <do task="mfnrange"> <parm name="db">sdoc</parm> <parm name="from"><pft>v9000</pft></parm> <parm name="to"><pft>v9001</pft></parm> <loop> <display><pft>mfn(4),'<br />','Autor: ',v10+|; |,'<br />','Titulo: ',v12,'<br /><br />'</pft></display> </loop> </do> </section></IsisScript>

En el ejemplo anterior, se ha introducido la etiqueta <trace>, esta sirve para realizar un seguimiento de las tareas del script ante cualquier resultado inesperado. En la práctica es como un depurador de código. El desarrollador se dará cuenta dónde está el problema, en caso el script no funcione de acuerdo

25

Page 26: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

a lo esperado.

Tarea keyrangeRecupera información de la base de datos a partir de los términos del listado invertido. En su estructura es muy similar a la tarea mfnrange, pues se tiene que pasar al wwwisis los mismos parámetros.

Ejemplo:<IsisScript name="rango"> <section name="rango"> <display><pft>'Content-type:text/html',##</pft></display> <!-- <trace>On</trace> --><!-- definiendo las rutas de las bases de datos --> <parm name="cipar"> <pft> 'sdoc.*=bases/sdoc/sdoc.*'/ </pft> </parm>

<cgitable> <pft>

'9000 clave'/ </pft> </cgitable> <do task="keyrange"> <parm name="db">sdoc</parm> <parm name="from"><pft>v9000</pft></parm> <parm name="count">30</parm> <field action="define" tag="1001">Isis_Current</field> <field action="define" tag="1">Isis_Key</field> <field action="define" tag="2">Isis_Postings</field> <display><pft> '<form action=http://localhost/cgi-bin/wxis.exe method=get>'/ '<input type=hidden name=IsisScript value=aj/recupera.xis />'/ '<select name=terminos size=10>'

26

Page 27: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

</pft></display>

<loop> <display><pft> '<option value='v1'>'v1'</option>' </pft></display> </loop> <display><pft> '</select><input type=submit name=enviar value=Recuperar></form>' </pft></display> </do> </section></IsisScript>

27

Page 28: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

Concepto Nuevo : Zona de Variables y Variables de Ambiente

Zona loop. En esta zona del script se trabaja con los campos de las bases de datos. No se tiene acceso a los campos de la base virtual. Para poder tener acceso a estos campos debemos importarlos. Todo lo que esté fuera del loop, trabaja con los campos del registro virtual.

Cuando se realiza alguna operación con el wxis, se generan variables de entorno (también llamadas de ambiente). Las más importantes son:

• Isis_Current, indica el registro actual de procesamiento en un loop.

• Isis_Total, el número de registros recuperados

• Isis_Status, indica el exito o fracaso de alguna tarea. Si el resultado es cero, entonces la operación se desarrolló con éxito, en cualquier otro caso hubo un error.

Estas variables de Entorno, se definen utilizando <field action=define>

Tarea FullinvertionGenera el listado invertido de una base de datos, conociendo la FST.

Parámetros :Nombre de la base de datosNombre de la FST (Field Selection Table)

Importante: cuando se haga referencia a la FST, hay que llamarla usando el comando CAT.

Ejemplo:<IsisScript name="invierte"> <section name="invierte"> <display><pft>'Content-type:text/html',##</pft></display>

28

Page 29: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

<!-- <trace>Table</trace> --><!-- definiendo las rutas de las bases de datos --> <parm name="cipar"> <pft> 'sdoc.*=bases/sdoc/sdoc.*'/ </pft> </parm>

<cgitable> <pft>

'9001 base'/'9002 fichero'/

</pft> </cgitable>

<display><pft>v9001,'<br />',v9002</pft></display> <do task="fullinvertion"> <parm name="db"><pft>v9001</pft></parm> <parm name="fst"><pft>cat(v9002)</pft></parm> <field action="define" tag="1102">Isis_Status</field> <loop></loop> <display><pft>'Archivo Invertido Generado'</pft></display> </do> </section></IsisScript>

Tarea UpdateMediante esta tarea se graba información en la base de datos ISIS o se actualizan sus registros.Los parámetros que admite esta tarea son:<parm name=”db”>nombre de base de datos</parm><parm name=”mfn”>NEW</parm><parm name=”fst”>nombre de fst</parm>

El parámetro mfn debe llevar la palabra NEW cuando se trate de crear un nuevo registro

29

Page 30: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

FuncionesDeben ser declaradas entre <IsisScript> y <section>

Ejemplo:

<IsisScript><function ...>

</function>

<section>....</section></IsisScript>

Al igual que <loop> crea una zona de trabajo especial, donde se necesita importar las variables que no son de “registro”, igualmente también <function> crea una zona especial de trabajo.

Ejemplo

<IsisScript name="sistemabusqueda">

<function name="cabecera"><display><pft>'Content-type:text/html'##</pft></display></function>

<function name="buscar"><parm name="cipar"> <pft> 'sub.*=bases/sub/sub.*'/ 'gizmo.*=bases/gizmo/gizmo.*'/ 'noti.*=bases/noticia/noti.*'/ </pft> </parm> <cgitable> <pft>'9005 termino'</pft> </cgitable> <do task=”search”>

30

Page 31: Isis Script: aplicaciones web con bases ISIS

Tecnología de Información 2 - Luis Maguiña

(.....)</do></function>

<function><display><pft>'Modulo de edicion de datos'</pft></display></function>

<section><call name="cabecera">now</call><cgitable><pft>'9050 accion'/</pft></cgitable><flow action="jump"><pft>if v9050='buscar' then 'BUSCAR' else if v9050='editar' then 'EDITAR' fi fi</pft></flow>

<label>BUSCAR</label><call name="buscar">now</pft></call>

<label>EDITAR</label><call name="editar">now</pft></call>

</section></IsisScript>

31

Page 32: Isis Script: aplicaciones web con bases ISIS

i Javier Eguiluz Pérez (2008). Introducción xhtml.ii http://www.cs.tut.fi/~jkorpela/forms/methods.html fecha de último acceso: lunes 16 de marzo de 2009