Noviembre de 2003
perezalvarez.net
para el foro y asiduos de
todopocketpc.com

La información contenida en esta página se conserva a título de curiosidad del pasado. El estado actual del programa a que se hace mención en ella puede consultarse a partir de aquí.

Bienvenidos y bienvenidas al sitio que, provisionalmente, suministra la base de datos programada en SprintDB Pro para tener más organizadas las clases en el instituto, y que tanto éxito está teniendo entre los asiduos a todopocketpc.com

Para ansiosos y ansiosas: nueva versión

12/11/2003

Me salto todos los preludios y voy a lo práctico. Llevo días percibiendo en el foro ciertas ganas de resultados acompañadas de una leve sensación de que esto se estanca. Puede ser... Pero es que uno no puede sentarse ante el ordenador todo lo que quisiera.

Presento, en bruto y sin demasiadas explicaciones por ahora, el último estado de mis trabajos. Es un fichero .RAF (el consabido contenedor de definiciones y formularios) con unas cuantas novedades:

  • Un nuevo formulario para flexibilizar la configuración de ciertos aspectos de la gestión (fConf).

  • Otro nuevo formulario de presentación e información (el típico Acerca de...): fSys. Cuidado que ahora el programa arranca desde este formulario, no desde el fPrincipal como antes.

  • Un formulario de experimentos gráficos que no tiene más que eso, experimentos. Los que tengáis la versión 2.0 de SprintDB Pro podréis ver en él las posibilidades gráficas.

  • Un nuevo conjunto de iconos, algo más monos que los anteriores.

  • Diversos errores corregidos y bastantes cuestiones afinadas y mejoradas (unas fácilmente perceptibles, otras no tanto).

  • Cuidado, que ahora se precisa una nueva tabla, llamada valconf (valores de configuración) que no se puede meter en la base de datos así por las buenas. Más adelante se explica el procedimiento para hacerlo.

Los que hayáis modificado el formulario del horario debéis adoptar precauciones puesto que el nuevo .RAF sobreescribirá vuestros antiguos formularios con todas sus modificaciones (salvo que les pongáis nombres distintos al anterior .RAF y al nuevo). Conservar el antiguo no es fácil si andáis con la versión 1.7 (creo recordar). En la versión 2.0 hay una opción para exportar formularios a un formato especial en fichero independiente y después recuperarlos desde un nuevo .RAF distinto. Con la 1.7 no tengo en este momento forma de comprobar si es posible, aunque me pega que no...

Los nuevos iconos, que ahora tienen unos nombres más representativos, se pueden ubicar en cualquier directorio o carpeta. Ahora es posible elegir e indicar su ubicación. Eso sí, todos juntos y en buena armonía.

La nueva tabla valconf debe introducirse en la base de datos .CDB por un procedimiento de importación desde fichero CSV, un formato muy común para transporte de datos tabulados y hojas de cálculo. Esto sí lo tiene también la versión 1.7. Os vais a la pestaña de tablas de SprintDB Pro, elegís File -> Import from CSV..., buscáis el fichero valconf.csv que previamente habréis puesto en una ubicación accesible, y en el interrogatorio siguiente elegís:

  • Comm (coma) como separador de campos

  • Marcar "Field names in first line" (la primera línea no tiene datos sino cabeceras, nombres de campo)

  • Si desconfiáis mucho, en "Advanced" podéis aseguraros de que el delimitador de cadena es la comilla doble.

  • En la siguiente pantalla, tras elegir Next, elegir Nueva tabla como tabla de destino, nombre valconf (todo minúsculas), con los dos campos reconocidos, elem y valor, de tipo texto.

  • Una pantalla más en la que lo que hay que decir ahí es algo que el CSV en este caso no conoce y es la longitud o tamaño de los campos: poner 25 para elem y 255 para valor.

  • Darle Import y que Dios reparta suerte. Irá todo bien y os encontraréis con una nueva tabla que tiene cuatro registros. No hay que manipularlos a mano: el propio programa se encarga de hacerlo.

Estos son los ficheros que se necesitan. Para obtenerlos con mayor seguridad, botón derecho y Guardar como...No sé qué extraña asociación tiene la extensión .RAF en Internet, que se intenta abrir como un documento en caracteres orientales (!?):

valconf.csv Fichero CSV para generar nueva tabla
iconos-nov03.zip Fichero para los nuevos iconos
ies-nov03.RAF Nuevo fichero .RAF para esta versión

Una vez obtenidos estos tres ficheros, sugiero los siguientes pasos y por el siguiente orden:

  1. Crear la carpeta o directorio que os parezca y con el nombre que más os guste y descomprimir en ella los iconos JPG contenidos en iconos.zip

  2. Colocar el valconf.csv en un directorio fácil y accesible. Sugiero \My Documents

  3. Copiar el ies-nov03.RAF al directorio donde tengáis establecida la ubicación de Forms de SprintDB Pro. Como este nombre no interferirá con ningún otro (espero), siempre tenéis la posibilidad de reactivar el antiguo .RAF si algo aparece en éste que os dé problemas.

  4. Abrir vuestra actual base de datos de gestión, salir de la aplicación sin cerrar SprintDB Pro, y desde el apartado de tablas dar todos los pasos arriba descritos para crear la nueva tabla valconf. Imprescindible.

  5. Con esta base de datos todavía abierta, cambiar la identidad del .RAF (Tools -> Form File...) para que pase a ser el nuevo ies-nov03.RAF (escribirlo sin extensión). Saltará el nuevo formulario por omisión, fSys. Aceptar (botón "Vale")

  6. Desde una pantalla en la que no se ven iconos ni fotos ni nada, cerrar usando el botón Ok de la cabecera de Windows CE. Iréis a una pantalla de confirmación de salida que ofrece tres opciones. Elegir la segunda ...permanecer en SprintDB Pro.

  7. En el apartado de formularios abrir a mano el fConf. En él ya podéis establecer la ubicación de las fotografías de alumnos (por ejemplo \My Documents\IES\img\), la ubicación de los iconos... El sistema no comprueba si la trayectoria escrita es correcta o válida. Únicamente tiene la cortesía de añadir la necesaria barra invertida final en caso de que se os olvide. Grabar y volver a abrir el formulario fSys.

Y colorín colorado, / espero que me contéis / qué impresión os ha causado.

Comentarios en el foro. A medida que vayan pasando los días procuraré ir ampliando esta información y esta página.

Con esto pretendo terminar mi particular aportación inicial al proyecto (aunque siempre quedarán flecos). A partir de aquí deberíamos empezar a repartirnos el trabajo.


Nociones previas de SprintDB Pro 1.7, para no desesperar prematuramente

Instalación y uso de la aplicación docente

Solución de problemas (aka Troubleshooting)

Lo que queda por hacer

Funcionamiento de SprintDB Pro

Este gestor de base de datos trabaja con ficheros .CBD, que son los .MDB de Access reducidos a sus tablas y desprovistos de todo lo demás (macros, formularios, consultas...). La conversión de .CDB a .MDB y viceversa es responsabilidad de ActiveSync.

Se pueden crear bases de datos por proceso de importación a partir de ficheros tabulados en formato .CSV (característicos de hojas de cálculo), aunque lo fácil es crear un .MDB en Access y luego pasarlo al Pocket dejando que ActiveSync realice la conservión. Y de hecho esto último funciona perfectamente.

Pero si no se actúa con vista pueden aparecer los problemas. Caso típico: creo mi par de tablas Access y las envío al Pocket. Perfecto. Las manipulo en el Pocket y las devuelvo al PC, a Access. Y muy bien. En mi Access y para facilitar la introducción/modificación de datos me creo un par de formularios, que me resultan muy cómodos. Manipulo mis tablas, con más eficacia ahora que antes, y las envío al Pocket. Como sólo pasan las tablas, todo va como la seda. Hago las pertinentes modificaciones y las devuelvo al Access del PC. Y efectivamente, ahí están las tablas modificadas, pero los formularios han desaparecido. (!?) Pues muy simple: como de máquina a máquina sólo pasan las tablas, y el fichero de destino se sobreescribe siempre, pues el .MDB de Access con sus formularios ha sido sustutuido por otro que contenía sólo tablas. Tablas modificadas y actualizadas, sí, pero sólo tablas.

¿Forma de evitar esto? Se me ocurre una, no precisamente sencilla, y que está muy lejos de la línea y los objetivos previstos en estas páginas. De momento, sirva de consuelo que este problema de Access no lo sufre SprintDB, porque trabaja sobre las tablas almacenadas en el fichero .CDB (que tiene sólo esto, tablas), y los restantes componentes -formularios, consultas, definiciones...- los almacena en un fichero aparte, el .RAF que se ubica por omisión en el directorio o carpeta Forms de SprintDB Pro.

Cuando se crea o importa una base de datos .CDB que sólo contiene tablas, algo así como esto:

no hay formularios por ningún sitio: sólo tablas. Observar que en este caso la base de datos se llama ies0304.cdb y que está seleccionada la tabla alum.

En el preciso instante en que se crea el primer formulario, consulta o definición que sea, SprintDB crea automáticamente en el directorio preestablecido un fichero con el mismo nombre de la base pero extensión RAF para almacenar toda esa información (ies0304.RAF).

Si no nos gusta la ubicación de los RAF o el nombre del RAF asociado a nuestra base de datos podemos cambiar siguiendo los menús que se muestran a continuación:

O también: si en vez de crearnos nuestros formularios queremos aprovechar los que han hecho otros, simplemente vale con colocar en su sitio el correspondiente RAF que nos suministren.

El fichero RAF no tiene por qué llamarse igual que la base de datos. La única coherencia que debe existir se establece entre lo que hacemos y lo que le decimos a SprintDB. Si hemos colocado nuestro RAF en la carpeta \My documents\Personal, y le hemos llamado subidubidua.RAF, eso es exactamente lo que tenemos que establecer en la configuración:

En el momento en que todo esté en orden, la pantalla principal de SprintDB Pro mostrará, además de las tablas que integran el .CDB, todos los formularios, consultas y favoritos definidos el el fichero RAF.

Y lo último, para acabar de fastidiar. Como queda poco apropiado un arranque de la pantalla inicial de SprintDB, y es más elegante un inicio automático de aplicación, he activado la opción de autoejecución (Autorun = Yes) del formulario principal. Eso significa que, una vez normalizadas todas las ubicaciones de RAF y reconocimientos de formularios, la apertura de base de datos implica la apertura del citado formulario, sin posibilidad de frenar. Si por el camino se produce algún problema, ¡uffffff...!

Instalación

Requisitos: Windows Pocket PC 2002 o superior. Gestor de base de datos SprintDB Pro versión 1.7a ó 1.7b

Lo primero, la aplicación, por llamarla de alguna manera, consta de un fichero llamado ies-para-tppc.cdb en formato Pocket Access (.CDB) y un fichero complementario ies-para-tppc.RAF que contiene los formularios. Complementariamente utiliza una serie de imágenes .BMP para simular botonines, y las fotos de la ficha personal de los alumnos. Aquí tenéis los ficheros para descargar:

PPC en Instituto.zip iconos.zip Fotos muestra.zip

Cuidado con los formatos Pocket Access, que cambian entre Pocket PC 2002 y Mobile 2003. En el primer ZIP hay dos ficheros, el ies-para-tppc.cdb ya está preparado para Mobile 2003, y probado, mientras que el ies-para-tppc-2002.cdb debe usarse en PPC 2002, y espero que funcione.

Las ubicaciones:

El fichero CDB lo podéis poner donde y con el nombre que os plazca. Es el responsable del arranque de la aplicación y contenedor de tablas. Por si sirve de referencia yo lo tengo en \My Documents\IES

El RAF debe estar allí donde tenga SprintDB definida la ubicación de los ficheros RAF de formularios. Por defecto y si no habéis tocado nada, suele ser \Archivos de programa\SprintDB Pro\Forms.

Si respetáis las ubicaciones y coinciden el nombre del CDB y del RAF, no debería de haber problemas. En caso contrario, acudir en SprintDB Pro a File -> Form File (.RAF) y revisar los valores de Form File Folder... o Change Form file... para realizar los necesarios ajustes.

Aprovechando, en esta misma carpeta o directorio \Archivos de programa\SprintDB Pro\Forms he colocado los BMP de imagen. No es un sitio demasiado ortodoxo para ellos, pero tiene su lógica pues son complemento de los formularios.

Finalmente, las fotos de muestra de los alumnos están en \My Documents\IES\img. Naturalmente esta ubicación se puede cambiar variando las definiciones de la aplicación.

Uso de la aplicación o gestión docente

Al abrir el fichero ies-para-tppc.cdb, si todo ha ido bien, os aparecerá la pantalla de la aplicación.

(aprovecho la ocasión para mostrar mi reconocimiento a la compañía Juguettos, de cuyo catálogo prenavideño obtuve las fotos de muestra de los alumnos -y es que no tenía sitio más a mano de donde sacar fotos de niños y niñas...)

Rápidamente: Arriba a la izquierda un contador de posición y número total de alumnos del grupo, un botón gráfico para abrir la pantalla con el horario de clases, otro para el módulo de actividad diaria y uno más para el módulo genérico de consultas (descritos con mayor detalle más adelante). Sigue una lista desplegable que contiene los nombres de los grupos y, finalmente, el botón gráfico para cierre de aplicación.

La lista de grupos es dinámica: se crea a partir de los valores distintos obtenidos de la tabla de alumnos. Cuando se selecciona un valor (por defecto, el primero de la tabla de alumnos), en el siguiente tramo de pantalla o control aparece la lista de alumnos de dicho grupo, con nombre y apellidos, y en la siguiente área sus datos personales, incluida fotografía si existe y se encuentra en su ubicación adecuada. La fotografía puede estar creada en cualquiera de los formatos más comunes y tiene reservada en el formulario un área de 100 píxels de ancho por 110 de alto. Todo lo que supere esas dimensiones puede ocular trastocar algún elemento. Tal y como están definidas las cosas, para mostrar la fotografía se busca un fichero llamado xxxxxxx.jpg en \My Documents\IES\img, teniendo en cuenta que xxxxxxx es el valor correspondiente al campo código del alumno. Casi todos los datos son modificables según se explica más adelante.

La lista de alumnos responde al botón de navegación del Pocket, que se puede usar para desplazarse arriba y abajo.

La parte inferior de este último control presenta cuatro pestañas o etiquetas (tabs para los que no pueden vivir sin decir jarguare o járgüer): Personal, Otros, Faltas, Notas. Vayamos a la segunda:

Presenta información adicional (padres, profesiones, observaciones...) sobre el alumno seleccionado en el control superior. Los campos son modificables (igual que casi todos los de la anterior pantalla Personal). Cuando son seleccionados cambian su color de fondo a amarillo anaranjado, y cuando se deseleccionan (técnicamente pierden el foco) un cuadro de diálogo ofrece guardar los posibles cambios realizados.

En la tabla de alumnos contemplo campos para fechas de nacimiento de padre y madre. Tengo que buscarles un hueco en esta parte del formulario (cuestión pendiente).

Siguiente apartado. Faltas:

Para el mismo control de la lista de alumnos correspondientes al grupo seleccionado, tenemos ahora sus faltas de asistencia expresadas con tres valores: fecha, justificación y CJE (ya hablaremos). Más abajo un control informativo del número de faltas y otro, en rojo, con el número de ellas que permanecen sin justificar. Con los controles de la línea siguiente se puede, por orden de aparición: añadir una nueva falta, cambiar la fecha de la falta seleccionada (se pide confirmación), variar alternativamente entre falta justificada/sin justiicar, variar alternativamente entre falta CJE/sin CJE, eliminar la falta (también se pide confirmación).

CJE significa Comunicada a Jefatura de Estudios. En algunos niveles de mi centro continúa el viejo sistema de parte de faltas manuscrito que cumplimenta el profesor y hace llegar a Jefatura. Carlos, por llevar la contraria y en nombre de la eficacia, lo apunta en el Pocket... y ya hará el papelín para Jefatura un día de éstos. Y cuando se pone a hacer una remesa de papeles de notificación tiene que fijarse en este campo para saber qué faltas lleva comunicadas y cuáles no. Anticipo para la polémica: para aquellos que sueñan con una aplicación estándar y universal para todos los docentes, sirva esto como inicial jarro de agua fría. ¿A quién no le vienen bien bobadinas como ésta?

En la tabla de faltas hay un campo previsto para explicación (observaciones) de la falta: enfermedad, indisposición, ganas de fiesta... Tendré que hacerle un hueco en el formulario...

Y el espectacular apartado de las Notas, allí donde el Pocket puede empezar a asfixiarse, según potencias y micros:

Aquí aparecen elementos y controles más complejos relativos al alumno seleccionado en el control inicial: en primer lugar una lista con todas las notas del alumno, identificadas por fecha, tipo y valor numérico. Sigue un recuadro de texto con la descripción de esa nota. Finalmente, una línea con controles que permiten, por este orden: crear una nueva nota, modificar la fecha de la nota seleccionada, definir o cambiar el tipo, definir o cambiar el valor numérico o eliminarla. La eliminación y el cambio de fecha solicitan confirmación previa; el botón Tipo muestra una lista desplegable con los valores contenidos en la tabla tiposcalif, que se puede alterar, manualmente por ahora. El desplegable siguiente permite asignar un valor numérico, cosa que no siempre se hace, a la nota.

De esta manera, al seleccionarse un alumno se ve la lista de notas que tiene, ordenadas por fechas, más el tipo y el valor numérico si procede. Y seleccionando cada una de esas notas aparece una descripción detallada de la misma.

Cada profesor es un mundo y no todos valoramos lo mismo. Para mí es importante saber cuántas notas tiene un alumno, y las fechas. A continuación me resulta vital el tipo (no es lo mismo la nota por una intervención puntual en clase, que por un examen de evaluación o una exposición oral). La nota numérica puede ser descriptiva, necesaria, pero siempre será mejor un texto donde se pueda escribir y valorar en detalle lo que hizo el alumno en aquel caso.

Finalmente, y apurando el espacio al límite, un contador de notas (el contador de la parte superior se aplica a los alumnos del curso), porque siempre es bueno saber cuántas notas tiene el alumno y porque a la vista sólo se muestran tres, y una casilla con un número que informa del promedio de las notas numéricas, promedio obtenido de entre las que tienen un valor explícito. Las que están en blanco se ignoran.

Desde la parte superior se puede acudir a otros formularios. Ninguno de ellos, a decir verdad, tiene la complejidad de éste.

El icono azul del reloj lleva al inevitable horario:

Es una colección inmensa de etiquetas (controles tipo label) de carga algo lenta. Modificable a propio antojo y conveniencia. Por no perder más tiempo no he limpiado mis datos particulares. No tengo especial interés en publicarlos, aunque, obviamente, tampoco en ocultarlos. Su único control operativo es una botón gráfico de cierre (de momento).

El icono de la hoja blanca azulada lleva al módulo de Actividad diaria:

Descripción de arriba a abajo: el contador de elementos (da vértigo ver cómo van aumentando los días que uno lleva de clase: ¡¡¡diecinueve clases y yo sin empezar el tema 3!!!), útil como se puede ver; acceso a la pantalla de horario, útil y necesaria desde casi todas partes, un botón (flecha azul abajo) para ir directamente al último día sin necesidad de la barra de desplazamiento, el consabilido selector de curso y el botón de cierre.

Lista de días con resumen de actividad y, abajo a continuación, explicación detallada de la actividad del día. Fundamental para no llegar perdido a clase.

Por último, los controles de rigor: para añadir nuevo día de actividad, modificar la fecha del seleccionado en ese momento, o eliminarlo. Y dos botones experimentales: la flecha a la derecha representa un intento de cálculos de tiempos. Por ahora se limita a calcular los días naturales que quedan hasta las vacaciones de Navidad, y los días lectivos restantes para primero de Bachillerato, a razón de tres horas semanales. Pero le acoplaré informaciones más útiles.

La flecha hacia arriba trata de ser un seguimiento de programación de acuerdo con la tabla temprog. En dicha tabla, modificable sólo manualmente por ahora, se expresan registro a registro las materias, temas y apartados propios de cada nivel, números de temas y fechas límite teóricas para impartirlos. Al pulsarse sobre el botón flecha arriba se busca el registro de temprog con fecha más próxima a la del día marcado en la lista de actividades y se muestra en un cuadro de diálogo información sobre el posible desfase sufrido. Puede resultar tremendamente útil, aunque exige un arduo trabajo previo de introducción de datos (aunque no muy grave porque todos hacemos programación didáctica de departamento, ¿no?).

Y por último, el módulo de consultas:

Con tanta información como tenemos introducida, necesitamos información derivada de interrogaciones de todo género. Aquí se ofrecen algunas, las que he tenido que resolver de forma más inmediata, pero la lista sería interminable.

Arriba, aparte de una descripción de la interrogación resultante y dos controles que no requieren mayor explicación, hay tres controles para condicionar el listado: grupo y fecha. Si se cumplimenta sólo la primera fecha se entiende fecha igual a; si además se cumplimenta la segunda se entiende fecha comprendida entre ambas. Si el grupo se deja en blanco el listado resultante es general para todos los grupos, no restrictivo.

Los botones gráficos de la parte inferior representan, de izquierda a derecha: actividad diaria, faltas de asistencia, notas, experimento que no funciona por ahora.

De acuerdo con todo ello sería posible una interrogación de tipo, por ejemplo: lista de los alumnos del grupo 2D que faltaron la semana del 6 al 10 de octubre. O bien: lista de actividades anotadas para todos los grupos el día 24 de octubre. Y me salen tres. Consulto el horario y he tenido cuatro clases. Pues a anotar la que me falta, antes de que se me olvide.

FIN por hoy, que ya me vale.

26/10/03 20:32

Solución de problemas

Iremos incorporando explicaciones y recetas mágicas a este apartado a medida que se nos vayan ocurriendo.

Ejecutable corrupto al descomprimir el fichero ZIP. Error Out of memory. Resuelto descomprimiéndolo en el PPC.

Errores o lentitud excesiva cerrando tablas y formularios al ajecutar el tarjetas externas.

Lo que queda por hacer

- Ubicación flexible de los iconos

- Ubicación flexible de las fotografías de los alumnos

- Respeto al módulo de teclado

- Confirmaciones de grabación de cambios

- Arreglo del comportamiento del control Repite. Usa una función de regeneración de control de 2.0; lo demás es estándar 1.7


- Módulos de introducción de datos, en todas las tablas, partiendo de cero.

- Comportamiento de la aplicación en caso de tener todas las tablas vacías.


Notas complementarias, breves:

a) Los iconos empleados en muchos sitios no están muy inspirados y son poco intuitivos. Ya lo sé...

b) Todo esto es un proyecto que todavía tiene mucho que andar. Lo que su autor aporta es el trabajo realizado hasta ahora y la disposición a seguir participando conjuntamente con todos los que quieran realizar sus aportaciones. Lo que salga de todo ello se distribuirá sin ánimo de lucro PERO con el ruego de que se respete la identidad del autor original y la del sitio web que facilitó y promovió su difusión inicial: www.todopocketpc.com. Por todo ello, y mientras se incorpora tal información, los formularios se suministran protegidos por contraseña para prevenir prematuras alteraciones de código.

c) Por favor, mensajes privados no, salvo por causas muy justificadas. Comunicándonos a través de este foro contribuiremos a la difusión de las ideas, nos beneficiaremos mutuamente de nuestras experiencias y haremos justicia al sitio web / organización que ha posibilitado tanto el haber llegado hasta aquí como el poder seguir avanzando. Gracias.

Otro día más