martes, 23 de febrero de 2021

Definición del Proyecto

Las razones... Hasta ahora siempre he desarrollado mis proyectos "en silencio", pero con el tiempo he aprendido que es no es positivo por varias razones:
  • A veces no recuerdo qué problemas me encontré en el camino y cómo los resolví
  • Con el tiempo olvido algunos aspectos del sistema que desarrollé (tampoco son tantos ni tan complejos, no se crean ;) )
  • No comparto conocimiento: Otras personas no acceden a los entresijos del mismo, con lo que no pueden aprender como he aprendido (y aprendo) yo de otros proyectos.
  • No facilito la colaboración: Otras personas no pueden ayudarme o participar, ya que ni siquiera saben que el proyecto existe.
  • No comparto los resultados: salvo con "Calzador" casi nunca consigo que otras personas se beneficien de la aplicación, como me beneficio yo de las aplicaciones de otros.
Creo que todos estos inconvenientes pueden solucionarse si a partir de ahora comienzo a documentar mis proyectos a través de blogs. Como mis proyectos suelen ser "pequeñitos", creo que este medio es suficiente. Si más adelante hay que plantearse otra cosa, pues ya veremos... La necesidad a resolver: los centros de enseñanza disponemos de una aplicación para la gestión académica llamada Séneca, que hace poco ha incorporado la inclusión de fotos de los alumnos. Además desde siempre los centros han necesitado esas fotos para hacer listados de clase, confección de carnés escolares, etc. Hasta ahora la gestión de esas fotos, al menos en mi centro, es bastante ineficiente (al menos en mi opinión):
  1. Los alumnos adjuntan una foto tamaño carné, que no siempre es de buena calidad
  2. Las administrativas tienen que separar las fotos y ordenarlas
  3. Hay que recortarlas a un tamaño determinado
  4. Hay que pegarlas, bien en el carné, bien en el listado de clase
  5. Si hay cambios en una clase, o hay que recomponer la hoja de fotos entera o ésta queda desordenada
  6. Además, para incluir la foto en Séneca hay que seguir el siguiente proceso:
    1. Escanear cada listado de fotos
    2. Recortar cada foto
    3. Buscar el IdEscolar de cada alumno y asignar el mismo como nombre de dicha foto
    4. Trasladar la foto (ya que la tarea anterior la realizan alumnos voluntarios, y la siguiente el personal administrativo del centro)
    5. Insertar la foto en Séneca.
    Este sistema plantea bastantes inconvenientes:
    • Es engorroso
    • Requiere la colaboración de mucha gente (o de lo contrario se tarda muchísimo tiempo)
    • Es imposible que las fotos estén para principios de curso, y siempre se tarda unas semanas en tenerlas
    • Como se ha comentado, cuando se producen cambios entre cursos los listados hay que rehacerlos o dejarlos desordenados
    • No resulta fácil usar las fotos para otros cometidos, como pudieran ser la generación de avisos que incluyan foto del alumno, emisión del carné por puntos, emisión de listados con fotos para excursiones, etc.
    La solución que se busca: En un primer momento se me ocurrió hacer una aplicación que "recortase" cada foto del listado de fotos, pero entonces, después de hablar con nuestras encantadoras administrativas, comprendí que ya el hecho de apartar las fotos, recortarlas y pegarlas era un trabajo tedioso. Precisamente por esos días leí un artículo sobre un programa de software libre capaz de manejar una cámara fotográfica desde el ordenador: gphoto2. Se podía sacar la foto y descargarla al pc dándole el nombre que uno desease. Y se me encendió la bombillita... No resultaría complejo realizar una aplicación basada en base de datos, en la que se volcasen los datos de los alumnos, usando el IdEscolar de cada uno de ellos para campo Llave Primaria; que permitiese sacar listados de alumnos con/sin fotos, en los que el nombre de cada uno fuese el enlace a un formulario para sacar su foto. Este formulario, en lugar de introducir una foto en la base de datos, lo que haría es:
    1. disparar la cámara,
    2. descargar la foto poniéndole como nombre del archivo el IdEscolar del Alumno,
    3. escalar la foto a varias resoluciones, preparando una de ellas a las que precisa Séneca,
    4. volcar una copia de la preparada para Séneca a una carpeta que sólo tendría una foto cada vez.
    5. borrar la foto anterior cada vez que se guarde la siguiente
    La justificación de los dos últimos puntos es la siguiente: esto permitiría que si quien saca las fotos es personal con privilegios suficientes en Séneca, pueda ir insertando las fotos en la misma de una forma más cómoda, ya que siempre buscaría en la misma carpeta, y siempre se encontraría una sola foto. De lo único que tendría que preocuparse es de ir llevando el mismo orden en el listado de Séneca que en el de nuestra aplicación. La solución: Consistiría en un sistema hardware/software dedicado (o sea, los elementos no estarían disponibles para otros menesteres), compuesto por los siguientes elementos:
    • Pc de baja potencia. con un Pentium III sería más que suficiente.
    • Cámara fotográfica soportada por Gphoto2, que irá conectada por puerto USB.
    • Alimentador de corriente alterna para la cámara (para evitar el uso de pilas).
    • Soporte para la cámara. Se comenzará por un simple trípode, pero se intentará desarrollar un soporte que se ajuste, al menos en altura, mediante mando eléctrico.
    • Sevidor Apache+Mysql+PHP.
    • Gphoto2.
    • La aplicación a desarrollar.
    Posible evolución del proyecto: Como se infiere de todo lo anterior, se plantea un sistema hardware/software que debe ser manipulado con alguien con conocimiento. Pero se podría intentar en el futuro hacer que el sistema sea completamente autónomo, si exceptuamos la parte de introducir la foto en Séneca. Para conseguir este objetivo habría que desarrollar un soporte para la cámara que se desplazase en dos ejes, y que fuese capaz de "encuadrar" al alumno. Para la elección del "alumno objetivo" se podría usar una pistola láser lectora de códigos de barra, y que el alumno introdujese una ficha previamente proporcionada por Secretaría. Además habría que instalarla en un mueble que colocase mínimamente al alumno, tal vez en una silla. Conclusión Bueno, creo que con esta entrada está más que definido el Proyecto. En las próximas entradas iré describiendo los pasos que he ido dando y cómo fui solucionando los problemas que me encontré. Si alguien quiere colaborar o formar parte de este proyecto puede añadir un comentario a este mensaje, o a cualquiera de los que le sigan, y me pondré en contacto con él. Si alguien considera que la forma de contactar para participar debe ser otra, se admiten sugerencias. ;)

    8 comentarios:

    1. Me parece una idea estupenda.
      Nosotros llevamos un tiempo pensando cómo hacer lo de las fotos: si escanear, recortar, copiar y pegar (una lata), si dar una cámara a las administrativas para que hagan la foto de los alumnos cuando se matriculan,....
      Este proyecto nos vendría muy bien. Estoy a tu disposición para lo que quieras. Aunque, por ahora, las pruebas las haga en casa.

      Saludos, y ánimo.
      Deseo que tu proyecto salga adelante.

      ResponderEliminar
    2. Te comento cómo lo conseguimos las fotos de los que ingresan nuevos en nuestro centro:

      Una vez el alumno se ha matriculado, éste viene con la hoja de datos informática al despacho del Jefe de Estudios y se le saca una foto con una cámara digital, apuntando el número de foto en una lista.

      Por la tarde, se vuelcan todas las fotos al ordenador que tiene la impresora de carnets. El software de impresión viene con herramientas para recortar la foto y asociarla a los datos del alumno.

      Cuando se cierran los grupos, se imprimen los carnets por lotes y se escanea el código de barras que venía preimpreso.

      Por último, cuando se han imprimido todos los carnets, se exporta la base de datos a Abies para que los alumnos puedan sacar libros de la biblioteca pasando el código de barras por el lector.

      Como ves, es un proceso mucho más manual que el que propones, je je.

      En tu caso te recomiendo que uses la librería "GD image". Es accesible desde línea de comandos y también puede usarse en PHP.

      Estamos muy liados con el cuaderno digital del profesorado, pero echaré un vistazo de vez en cuando al proyecto para ver si puedo ayudar en algo.

      Un saludo Pako y que vaya todo bien...

      ResponderEliminar
    3. ¡Vaya! El primer día y ya hay dos entradas. La verdad no me lo esperaba.

      Muchas gracias Luis, cuento contigo.

      Ojalá pueda hacer un instalador para que pueda hacerlo cualquier centro. Te anticipo que las tablas las estoy haciendo mediante scripts php para facilitar la elaboración del instalador.

      Luis Ramón, lo de Abies me lo apunto.

      En cuanto a la librería gráfica prefiero ImageMagick, y la clase Imagick, ya que las conozco mejor. La parte de sacar la foto, volcarla al pc, y reescalarla (incluso recortarla para Séneca) ya está hecha.

      También he hecho los scripts para la creación de las tablas.

      Ahora estoy con el alta masiva o volcado de los datos de Séneca a la base de datos.

      Luis Ramón ¿Qué es el cuaderno digital del profesorado?

      ResponderEliminar
    4. Pako, supongo que te refieres a mí... En realidad me llamo Luis Ramón, no sé el motivo de que aparezca en la entrada mi alias en lugar del nombre real.

      El cuaderno digital del profesorado es un proyecto que estamos desarrollando en el centro para facilitar el trabajo diario a los docentes. Nuestro centro tiene implantado un Sistema de Gestión de la Calidad ISO 9001/2008 que implica tener que rellenar un montón de documentación normalizada.

      Uno de los elementos clave de ese Sistema es el cuaderno del profesorado (de papel) donde cada profesor incorpora todos los elementos relacionados con un grupo (fotos, direcciones, notas de clase, de exámenes, faltas, seguimiento de la programación, etc.). Es muy útil porque, al estar normalizado, permite tener en un único sitio todo lo necesario para evaluar a un alumno. De él se extraen estadísticas muy interesantes, como el % de asistencias global o el % de clases impartidas.

      Pero también tiene problemas, como por ejemplo tener que apuntar que un alumno ha faltado en tres sitios (en el cuaderno del profesor, en el parte de asistencia y, luego, en Séneca por el tutor). O que las estadísticas hay que calcularlas a mano...

      ¿La solución? A lo largo de este curso hemos planteado las especificaciones de un cuaderno digital del profesorado que pueda ser utilizado desde cualquier ordenador o PDA dentro del centro. La idea es que todos los elementos del cuaderno físico se encuentren reflejados en la aplicación Web, con la ventaja de que las estadísticas y las medias ponderadas pueden hacerse automáticamente. Además, cabe la posibilidad de mostrar las fotos de los alumnos para pasar lista visualmente, que es muy útil sobretodo al principio.

      La aplicación se comunicará directamente con Séneca: los nombres de los alumnos y el horario del profesor se puede descargar; las faltas y las notas finales se subirán automáticamente, evitando molestias al profesor/tutor.

      Como todas las aulas de mi centro tienen al menos un ordenador del profesor, no debería haber problemas en su utilización por parte de todos.

      Formamos un grupo de trabajo para trabajar en las especificaciones, pero ahora queda lo más complicado: la implementación de los módulos :D

      Lo dicho, si necesitas que te echemos una mano, avísanos. Mi usuario en el foro de coordinadores TIC es "Luis Ramón" (que original!).

      Un saludo.

      P.D.: Para entrar en la aplicación autenticamos directamente sobre el servidor LDAP del centro TIC. Así podemos usar el nombre de usuario y la contraseña que tiene asignados cada profesor desde Gesuser. Tengo por ahí el código PHP por si te interesa.

      ResponderEliminar
    5. Sí, me refería a ti, Luis Ramón.

      No estoy interesado en el script php para conectar con el servidor LDAP, ESTOY INTERESADÍSIMO ;)

      En cuanto a vuestro proyecto, creo que un compañero ha comentado que está trabajando en algo parecido. ¿no sería posible ponernos de acuerdo y crear un proyecto abierto, algo parecido a ésto? (aunque ese proyecto necesitaría de algo más que un simple blog.

      En lo de la mano, te tomo la palabra, jeje, ya te lo recordaré ;)

      Un saludo.

      Pd.: tengo previsto renovar las cuentas del profesorado para usar la nueva identidad de Séneca.

      ResponderEliminar
    6. Estoy muy interesada en el trabajo de Luis Ramón y en el que propone Paco, porque estoy en ambas situaciones.
      Me he encargado de hacer todas las fotos del cole y ponerle el numerito dichoso.
      Además veo como los cuadernos de profes son como recogida de datos poco más que arcaicos y obsoletos. No permiten hacer ninguna estadística comparativa de forma eficaz. Además hacen que tengas que copiar lo mismo en tropecientos sitios.
      En cuanto a lo del libro digital creo que habláis de esto:
      http://www.e-valua.org/

      En fin, yo no sé nada nadita nada pero me ofrezco como conejillo de indias de una profesora analfabeta utilizando armamento pesado.
      Supongo que así conseguiréis una aplicación intuitiva para aquellos profesores que no tienen mucho manejo, que en eso también hay que pensar.

      ResponderEliminar
    7. Hola:

      Acabo de ver este blog. Me gustaría haberlo encontrado antes.

      Os comento cómo lo estoy haciendo en mi centro:

      1) Tomo la BD Seneca en formato csv, la paso a UTF con gedit y la incorporo a mi servidor MySQL (pues yo trabajo en UTF y la que obtengo de Seneca viene en ISO)

      2) Creo las orlas vacías con un recuadro para la foto y el nombre debajo (de esa forma salen todas iguales). Los administrativos toman las fotos de los sobre matrícula y entregan los de cada curso al tutor. El tutor pega las fotos en la orla.

      3) Escaneamos las orlas (todas tienen el mismo tamaño)

      4) Por aquí me he quedado. Lo siguiente que tenía previsto es usar un script y con funciones de imagemagick recortalas automáticamente (todas tienen el mismo tamaño y resolución) y separarlas en ficheros independientes. Después ya se podrían usar con mis aplicaciones php+mysql (y también subirlas a Seneca).

      Uno de los inconvenientes es que tengo que actualizar varias veces la Base de Datos desde Seneca.

      ResponderEliminar
    8. Hola que tal queridos amigos, un post espectacular, me ha gustado mucho y los comentarios no son menos. Enhorabuena por el blog, me encanta!!

      Yo también he creado hace poco un blog, se llama “Aprendo gratis” donde impartimos cursos de formación a través de Internet totalmente gratuitos y muchas cosas más y entre los temas que tratamos también se encuentra el maravilloso mundo de la fotografía. Me encantaría que lo visitarais y me dieras vuestra opinión por favor!!

      Un saludo

      http://blog.aprendogratis.com/

      ResponderEliminar