base de datos·docencia·libreoffice·libreoffice Base·manual·Ofimática·Problemas del día a día·sofware libre

¡Diplomas con LibreOffice Base!

Esta entrada complementa a otra que alguna vez publiqué. El problema es bien conocido, necesitamos imprimir una serie de diplomas (sean los puros nombres y cursos o toda la estructura). Los nombres generalmente los tenemos en alguna base de datos u hojas de cálculo, pero no queremos copiar y pegar, ni tampoco ir escribiendo uno a uno.

La receta entonces podría ir así:

  1. Tener los campos en una base de datos LibreOffice Base, en una tabla digamos que se llama “Mitabla”
  2. Creamos un formulario, activando la vista de impresión, configurando el tamaño de la hoja con respecto a los diplomas
  3. Vinculamos el formulario para que reciba los campos desde “Mitabla”
  4. Insertamos los campos que necesitamos, según las medidas que tomemos

¡Y listo!  Ya tenemos un formulario con todos los diplomas que necesitemos imprimir.

Primer caso especial: Quiero algunos estudiantes, no tod@s!

En este caso crearemos una “consulta”. Digamos por ejemplo que necesitamos los diplomas para 8vos y 4toMedio.

  1. En LibreOffice Base vamos al módulo “Consultas”
  2. Pinchamos en “Crear una consulta en modo SQL…” (puede buscar más información sobre SQL, pero básicamente es un lenguaje de consultas ampliamente usado en base de datos y… muy poderoso)
  3. Ingresamos lo siguiente:
    SELECT "Nombre Completo", "Código Curso" FROM "Mitabla" WHERE ( "Código Curso" LIKE '4º M%' OR "Código Curso" LIKE '8%' )

Lo anterior Seleccionará los datos contenidos en los campos “Nombre Completo” y “Código Curso” (este último se necesita para la condición que necesitamos) Desde la tabla “Mitabla”, pero solo aquellos cuyo curso sean 8vos o cuartos medios. Aquí viene el detalle de usar un paréntesis, porque son dos peticiones; usar un “or” porque es una cosa o la otra; usar un LIKE y un ‘%’ que permite decir que quiero aquellos campos que comiencen con un 8 (puede haber un 8A, 8B, etc.) y lo mismo con los 4tos Medios.

Esta misma lógica se usa para otras consultas compuestas, el punto importante es que la consulta SQL (una vez que presionamos el botón ejecutar) devolverá una tabla filtrada, independiente de nuestra tabla “Mitabla” lo que además asegura que los datos están a salvo.

Lo anterior es una gran diferencia a usar una hoja de cálculo, en donde si copias mal o pegas y guardas, ya no recuperas los datos sobreescritos.. Luego, quedaría ponerle un nombre a la consulta, por ejemplo “Solo8vosyCuartos” y al volver al formulario, debemos configurarlo para que esta vez lea los datos desde la consulta y no desde la tabla “Mitabla”. Esto se hace abriendo el navegador del formulario, botón derecho sobre el formulario (digamos que se llama “formulario1”) y en la opción “Datos” marcamos “tipo de contenido”-> “pregunta” y finalmente marcamos la consulta que queramos, en nuestro caso “Solo8vosyCuartos”.

Segundo caso especial: Varios estudiantes por hoja

Esta bien, ya dominamos el tema de las consultas, pero queremos, en un solo formulario, tener datos de dos estudiantes, por ejemplo, porque queremos escribirle una nota a cada uno y así gastar menos material. En este caso, es lo mismo que antes, pero agregamos un par de subformulario, cada uno de ellos leyendo datos de una consulta diferente y listo!

¿Otra solución?

Sí, se me ocurre que usar combinación de correspondencia también es una posibilidad, pero no te dará tanta libertad al momento de seleccionar los campos como el uso de SQL. Hay mucho material en Internet para profundizar, es increíble lo poderoso y simple que es este lenguaje, me ha salvado varias veces.

¡Ahora solo queda intentarlo!

ciencia·docencia·geografía·html5·investigación·lenguaje·libreoffice·matemáticas·Ofimática·pedagogía entretenida·Problemas del día a día

Extracción de información desde Internet: la consola viene al rescate

La distracción frente al computador es una de las principales causas del fracaso en los procesos de extracción de información. ¿Es posible mejorar esto?

Los estudiantes llegan al laboratorio, reciben instrucciones, comienzan a recabar información y luego producen informes. Algo que parece tan simple, en la realidad se encuentra con muchos obstáculos, principalmente porque l@s estudiantes se distraen:

  • La página que están visitando contiene enlaces publicitarios que les llevan a otras páginas.
  • Podemos abrir otra pestaña y comenzar a ver otras páginas, que no necesariamente tienen relación con el trabajo asignado.
  • La página que vemos no solo no muestra suficiente información, sino que contiene datos de otros recursos que no aportan en nada.
  • Animaciones y efectos, explican conceptos, pero a veces necesitan herramientas externas, privativas, para que se visualicen o justo el parlante no está conectado o tod@s quieren escucharlo al mismo tiempo…

¿Será que debemos volver a los libros? Pienso que nunca hay que dejarlos de lado, sin embargo, creo que se puede utilizar Internet sin caer en los problemas descritos anteriormente:

  • Atomizar el trabajo en el laboratorio: Sinceramente, no necesitamos 1 hora para buscar definiciones. 15 a 20 minutos y luego unos 10 minutos para un breve, breve, informe al respecto.
  • Calificar: Que la actividad realizada signifique algo tangible como una bonificación o bien notas por proceso. Como toda evaluación, debe quedar claramente estipulada. Esto ayuda doblemente porque los estudiantes ya no usan la típica excusa “y para qué lo hago ahora, si lo puedo hacer en casa?”.

Los puntos anteriores ponen énfasis en la relación docente->estudiante pero ¿Qué pasa en el sentido inverso? Si pudiésemos educar para que l@s estudiantes realicen un trabajo independiente y responsable, basado en el contenido producido, en sus implicancias y en el análisis, es altamente probable que optimicemos el tiempo de uso del computador y pasáramos más tiempo con nuestros seres queridos.

La propuesta

Desde el punto de vista informático: Mis dos frentes son  el entorno gráfico y los formatos. Si usamos para navegar por internet un entorno en donde las animaciones no tienen cabida, solo sirve el teclado y no tenemos ningún otro programa disponible: enfocamos la atención. Aparte, es más rápido, mucho más rápido. No tenemos ventanas de actualizaciones, advertencias de antivirus, “se me cerró la ventana”, etc. Hay que leer, porque todo está en texto, con lo cual estimulamos la capacidad de extraer información.

Toda la maravilla anterior.. es lo más básico dentro del uso habitual de un computador, es la consola o terminal. Es lo que existía antes de que se le incrustara el entorno de ventanas que conocemos y que nos pusiéramos “mouse-adictos”.. ¡Siempre ha estado ahí!

Al principio uno puede decir “es fome”, pero créanme, l@s chic@s se maravillan cuando les muestro algo en el computador, abriendo ventanas y moviéndome por el entorno sin necesidad de tocar el mouse. Cuando aprenden un par de instrucciones (comandos) se sienten poderos@s, es toda una novedad.

Sobre el formato, ya lo he publicado en otras entradas, pero bueno, se trata de lo siguiente: Si pedimos que se realicen informes en un programa específico, sin decir el formato del archivo, el programa en cuestión utilizará uno propio y no necesariamente será compatible con aquel programa que querramos usar para ver finalmente el informe realizado. Por ejemplo, se les pide que realicen una tarea entregando “un word” y después llega al email del docente un archivo realizado en office 2015, con tablas que se ven chuecas y fotos descuadradas.. porque el docente no tiene ese software, tampoco está obligado a tenerlo (entiéndase, comprarlo). Menos lo está el establecimiento educacional. Aquí las ventajas de los formatos abiertos saltan a la vista, se les puede enseñar a l@s chic@s a usar Libreoffice y se acabó el problema, (sí, se acabó), incluso pueden usar OpenOffice Apache, Abiword, etc. Otra solución, es el uso de un formato estandar o cerca de ser estandar, que no importe dónde lo vea, me asegure que el contenido podrá ser visualizado. Independiente del computador o sistema operativo que esté usando, independiente del software con el cual lo creó. Al usar el entorno de consola que estoy proponiendo, el archivo de texto plano podrá ser leído sin problemas, es mucho más liviano y, nuevamente, asegura que se focalice la atención en el texto, en la redacción del mismo, no en la forma.

Como seguna patita, se puede considerar el uso de html5, el lenguaje de las páginas web. Desde la consola se pueden crear las páginas, usando tablas, con textos más grandes, organizado, etc. solo conociendo un par de comandos básicos. Con poco tiempo de entrenamiento, es altamente productivo.

Bonus track

Loggearse. A nuestros estudiantes les encantan los nombres de usuario y contraseñas.. muchos de ellos tienen cuentas en redes sociales y se da el caso de que necesitan un email para ingresar. Ellos saben que deben escribir nombre@algo.algo pero no tienen idea qué es un email. (!!) Entonces, en estos sistemas de consola, también se usa un nombre de usuario y contraseña que, incluso, podría ser único para cada estudiante. Claro, podría ser un peldaño más complejo para l@s encargad@s de TI del establecimiento, porque básicamente significaría instalar un servidor, pero las ventajas son elocuentes. Al estar esa cuenta en red, bastaría con que el estudiante guardara su archivo en una carpeta previamente establecida para que el docente automáticamente tuviera acceso a ella, hasta viéndola desde su celular. Ya no existiría eso de “me falta poco profesora” “no le llegó el email”? nada de nada, solo guardas tu archivo y listo. Claro, podemos usar servicios como google drive, zoho, etc. pero implica nuevamente entrar en el mundo de las ventanas; mi propuesta es más natural, todo por consola.

Y sí, también podemos enviar emails desde la consola, en un artículo lo escribí.. la sensación fue genial, solo usé una linea de texto y envié el correo.

Resumiendo: búsquedas y creación de contenidos mediante la consola de comandos. ¿Te atreves a revolucionar la educación?

docencia·libreoffice·Problemas del día a día

Editando informes con LibreOffices Writer y macros

Algunos software de análisis, generan informes para imprimir. A veces necesitamos editar los mismos, para lo cual lo más sencillo puede ser instalar una impresora virtual, que genera un archivo pdf; luego aplicamos libreoffice draw y listo, ya tenemos nuestro archivo pdf editado como queramos. Sin embargo, algunos programas de  análisis, solo generan un documento de texto plano con (aquí el problema) dos dígitos antes de cada linea de texto.

La solución: usar macros. Con un par de instrucciones, le diremos a LibreOffice Writer que quite esos dígitos y tendremos nuestro documento en perfectas condiciones para editarlo a nuestro gusto.

  1. Copiamos el texto a LibreOffice Writer
  2. Herramientas->Macros->Organizar macros.. LibreOffice Basic
  3. Nos aparecerá un recuadro para seleccionar macros, si queremos que esté disponible para otros documentos, seleccionamos Mis Macros; si solo queremos que esté disponible para el documento, seleccionamos el documento (dice “sin título” si aún no lo hemos guardado)
  4. Seleccionamos nuevo  y copiamos:


rem define variables
dim document as object
dim dispatcher as object
rem variables ciclo
dim iCount as Integer
dim args4(1) as new com.sun.star.beans.PropertyValue
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem comienza el ciclo,
rem reemplazar el 1959 con nº de lineas que tengas que editar
For iCount = 0 To 1959
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
rem aquí baja a la linea siguiente
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())
rem aquí termina incrementando nuestro contador de lineas
next iCount
end sub

Guardamos, colocamos un nombre y luego lo ejecutamos. Las macros son muy útiles, sobretodo cuando tenemos que repetir procesos. Recuerdo que un amigo las usaba para editar su libro: después de cada imagen necesitaba un espacio, el estilo de letra era espaciado, etc.

Con este post, termino este año, muy contento de poder aportar desde la informática al mundo de la educación. Viva el software libre! nos vemos el próximo año!

docencia·lenguaje·Ofimática·sofware libre

¡Imprimir Formularios.. de una sola vez!

Bueno, después de leer el libro de Mauricio, aquí les dejo mi código para imprimir varios formularios. La idea es ingresar un número y luego la macro va imprimiendo, a partir del registro que se encuentra visible, de ahí avanza al siguiente registro hasta completar la cantidad ingresada:



REM  *****  BASIC  *****


Option Explicit

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
Dim Contador As Integer
Dim respuesta as Integer
rem ----------------------------------------------------------------------
rem get access to the document

Respuesta = InputBox("Ingresa el número de copias")

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")


    'Inicia el contador con los límites especificados
    
    For Contador = 1 To Respuesta
        'Este es el código que se ejecuta el número de veces
        'especificado con los límites en nuestro caso "Respuesta" veces
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
        dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
        dispatcher.executeDispatch(document, ".uno:NextRecord", "", 0, Array())

    Next
    

End Sub


¿Cómo se puede mejorar? Bueno, se me ocurre que no tengo porqué saber la cantidad de registros que quiero imprimir, en el caso que nos convoca, no sé la cantidad de alumnos en un curso, por lo tanto, lo óptimo sería que mostrara una lista de los cursos disponibles, seleccionarlo y luego, imprimir. Se me ocurre que podría consultar por el dato del campo “curso” y fuera imprimiendo hasta que fuera distinto… Lo anterior solo funciona con registros ordenados, por lo tanto, es un problema a la hora de ingresar nuevos registros, ya que estos quedarán fuera del margen establecido. Ejemplo, el curso A contiene alumnos desde el registro 13 al registro 63; la base tiene 1450 registros. Si ingreso uno nuevo, el siguiente no estará en la posición 64, estará en la 1451.. Mucho más óptimo es que el formulario tome los datos a partir de una consulta! Entonces, solo mostrará los datos por curso.. y listo!

docencia·investigación·Ofimática·pedagogía entretenida·Problemas del día a día·seguridad

Formatos para documentos: Solución con uso del software libre

Con la masificación en el uso de computadores, aparece un “oportunidad” (no diremos “problema”, claro!) Se diversifica o más bien, se tienen acceso a diversos tipos de formatos… maneras en las cuáles es representada, almacenada, nuestra información. En la vida cotidiana, los jóvenes de nuestro país, tremendamente influenciados por la televisión y el buen momento económico de sus padres, se dan el lujo de pedir y pavonearse con lo último en ropa y artículos tecnológicos.. la informática también ha sido “contaminada” con esta mirada comercial.. es típico escuchar un tono altanero de parte de los bisoños usuarios cuando se refieren a la versión del software que creen poseer.. se llevan tareas para la casa, pero deben presentarlos en equipos de establecimientos educacionales en donde no existe tal versión del software. Comúnmente, al tratarse de formatos privativos, no son enteramente compatibles. Más aún, la generación actual de jóvenes usuarios, desde la más tierna infancia, se inclina por el cómo se ven las cosas en vez de que sirvan. Por lo tanto, usarán hasta fuentes descargadas de sitios recónditos para diferenciarse, para ser original.. luego, cuando todas sus horas de esfuerzo chocan con el detalle práctico, de que no se ve nada o parte de lo que hicieron, se justificand diciendo que el problema es que aquí no tienen lo último.

¿Cómo mejorar esto? si pensamos que solo son hechos aislados, de poca importancia, porque siempre hay un gurú encargado de solucionar estos enredos, no haremos nada. Sin embargo, si consideramos que es altamente probable que la contaminación de formatos y costos asociados (compra de software, entre otros) aumente con el tiempo, es tierra fértil para generar estrategias que nos ayuden a solventar este problema.

¿Qué tal si usamos formatos libres? Esto implica alinear a todos los agentes del establecimiento en una mirada, todos los informes que pidan, serán realizados en formatos abiertos. Mucho mejor si es con libreoffice, claro. Se pueden realizar campañas de masificación, en donde se regalen instaladores, se les enseñe a los estudiantes a utilizar el software y a instalarlo en sus hogares de manera voluntaria. A mediano plazo, los usuarios, mejorarán sus habilidades en informática, aprenderán el manerjo de nuevas herramientas y podrán elegir qué es lo que quieren usar cuando dependa exclusivamente de ellos…

Ideas anexas, son el uso de un formato intermedio, por ejemplo pdf.. o el uso de herramientas web. Pueden ser complementarias a la idea principal, cada una tiene sus ventajas y desventajas, como el acceso a red, etc. El pecado capital sería quedarse con la frase: es que es diferente.. nadie nació usando software privativo, se usa por osmosis, por costumbre; se adopta una mirada del mundo tangible (ropa, autos, utensilios) para hablar de normal en un mundo en donde somos dueños, de lo que queremos usar.

¿Si te regalaran un auto, que no usa combustible, que sirve para desplazarte de un lugar a otro, con un espacio cómodo.. seguirías pensando en comprar uno? ¿No sería más raro el que se empecina en comprarlo?