Pasos en el desarollo manual
Descripcion
Crear una nueva aplicación a partir de una base de datos existente
- Una Aplicación se compone de:
- Una base de datos con una serie de tablas.
- Un archivo xml por cada tabla, donde se define el informe, la lista y los formularios
para añadir, borrar o eliminar un elemento de la tabla o el formulario filtro para filtar los
elementos que aparecen en la lista.
- Un archivo html desde el cual se invocan los informes y formularios de cada tabla.
- Consultar: Servicios Web de AppML.
- Crear un directorio base:
- Crear un directorio para la nueva aplicación en WebTic/Appl.
- Por ejemplo: WebTic/Appl/ArchivoHistorico.
- En este directorio pondremos los archivos html y xml de la aplicación.
- Crear otros directorios:
- Crear otros directorios para depositar los archivos generados
- Por ejemplo: en c:/Inetpub/wwwroot/WebTIC/Publico...
- Crear tantos directorios como tablas de la base de datos.
- Poner como nombre de directorio el mismo nombre que tenga la tabla de la base de
datos.
- Base de datos:
- Crear la base de datos a utilizar en el directorio base.
- Por ejemplo: WebTiC/BaseDatos.
- En la base de datos ponerle a todas las tablas, un campo de clave principal autonumérico
(se recomienda que sea el campo ID de la tabla).
- Por ejemplo: En la tabla 'Categorias' (nombre en plural) poner como campo clave
'IDCategoria' (nombre en singular).
- Archivo HTML:
- Hacer una página html con el nombre de la aplicación
- Explicar en esa página la aplicación.
- Poner los hiperenlaces a las tablas, informes y formularios a visualizar (copiarla
de otra aplicación existente).
- Para cada tabla hacer una lista, un informe y un formulario.
- Separar en HTML:
- tabla principal
- tabla sin relaciones
- tablas con relaciones
- y tablas de consulta.
- Poner el hiperenlace a la página de aplicación en la página lista de
aplicaciones.
- Archivos XML:
- Crear una página xml para cada tabla, informe, diálogo a visualizar (copiarla de
otra aplicación existente).
- En title (título) poner el nombre de la tabla. Por ejemplo:
Programas.
- En database (base de datos) poner el nombre de la base de datos sin la
extensión. Por ejemplo: inventprog (siendo la base de datos inventprog.mdb).
- En keyfield, poner la clave de la tabla. Por ejemplo:
IDProg.
- En sql, poner la sentencia sql para obtener los datos de la tabla. Por
ejemplo: select * from inventario.
- No seleccionar el campo de identificación de un registro (su clave principal) para
crear una página Lista, ya que de esta se obtienen los formularios de crear, borrar y modificar
un registro, y la clave no se puede actualizar ni añadir.
- Cuando se hace una modificación en un archivo XML (por ejemplo: un filtro) y
queremos ver los cambios producidos mediante el navegador, hay que cerrar todas las ventanas de
navegador que tengamos abiertas con alguna información de la aplicación. Posteriormente lo
abrimos de nuevo y comprobamos los cambios producidos en el archivo XML.
- Lista de búsquedas:
- Se realiza haciendo un filtrado en la página de lista editable.
- Cuando se entra o modifica un registro, y en vez de dar a Actualizar se pulsa
Nuevo y se dice que no se salve, ya no se puede dar a Actualizar. Hay que cerrar el formulario de
entrada/modificación y abrirlo de nuevo.
- Para que en un formulario aparezca una lista desplegable asociada a un campo, hay
que incluir la sentencia sql correspondiente endonde se defina el campo.
- Por ejemplo:
<field>Uso</field>
<sql>SELECT DISTINCT uso FROM usos ORDER BY uso</sql>
Cuando se abre la lista por primera vez, en app_htmllist.asp se ejecuta:
- get_sessionvariable(appname,'reccounter')=' then findOK=true
- Recconter' = ' findOK se hace true.
- Cuando se ha visualizado la lista con Recconter' <> ', si se actualiza
el Explorer no pone findOk=true, entonces no se pueden leer los registros nuevos
introducidos.
Pero como la funcion find_all pone recposition=1, destruye el
valor que tuviera y por tanto se han incluido las funciones de salvado y escritura.
No se podia haber anulado en find_all reccount = 1 porque habria que
inicializarlo en otro sitio.
Es decir:
call find_all(connection,table,listsql,keyfields,keycounter,where,orderby)
Se pone:
regisposi= get_sessionvariable(appname,'recposition')
' ignacio para visualizar
nuevo
registro
call
find_all(connection,table,listsql,keyfields,keycounter,where,orderby)
call set_sessionvariable(appname,'recposition',regisposi)
' ignacio para visualizar
Para visualizar campos en un hoja htmllist, htmlform, htmledit, htmlreport,
htmllist, xmllist:
- Los campos no relacionados (sin ID númerico), tienen que aparecer en el sql
correspondiente a la hoja.
- Los campos relacionados, no se incluyen en el sql, sino su JOIN con la tabla
asociada correspondiente y en la hoja respectiva no se hace referencia al campo ID, sino a su
asociado. (Por ejemplo: no poner IDCategoria sino Categoria).
Hacer hiperenlaces:
- Poner en la tabla en el campo Dirección la direccion URL (por ejemplo:
http://www.w3.org) y en el campo Titulo el nombre del lugar (por ejemplo: w3).
- En el archivo xsl definir el atributo y el elemento:
<td>
<a>
<xsl:attribute name='href'>
<xsl:value-of select='Direccion' />
</xsl:attribute>
<xsl:value-of select='Titulo' />
</a>
</td>
Página generada automáticamente desde la Base de Datos: AppmlDoc/ el 15/6/2008 9:57:56