Mostrando entradas con la etiqueta Impress. Mostrar todas las entradas
Mostrando entradas con la etiqueta Impress. Mostrar todas las entradas

miércoles, 18 de octubre de 2023

Procedimientos. Docap.

DOCAP. Impress + Writer 

Ya vimos una primera formulación de un docap complejo que combina Calc con Writer. Analizaré en esta entrada otra formulación diferente en cuanto a uno de los servicios: utilizo Impress en lugar de Calc. Este cambio se explica fácilmente: ahora necesito las funcionalidades de Impress como recurso de manejo de información visual.

Aunque el esquema de funcionamiento es similar al modelo Calc + Writer, también se aprecian diferencias también, motivo por el cual he creído conveniente crear esta entrada.

Similitudes: Ahora Impress hace de servicio principal, lo que implica que no tenemos, como en el caso anterior, un gestor + un soporte para la salida de la información. Ahora tenemos un servicio-soporte para la exposición de la información y la aplicación de la actividad (Impress) y otro para la misma función que ya cumplió antes. Y en el intermedio el procesamiento de los datos recogidos en la fase inicial de la ejecución. 

Podemos representar lo anterior de forma simplificada mediante este esquema...

    

... entendiendo el condicional como mera representación de la fase de procesamiento, ya que es mucho más complejo, como veremos a continuación.

En la fase input se diferencian dos procedimientos de trabajo:
  • La introducción de datos de identificación, que se realiza mediante un cuadro de diálogo asociado a la presentación
  • Y la ejecución de la tarea, que se resuelve mediante comandos asociados a las figuras de cada diapositiva
El proceso comprende las siguientes fases:
  • El paso de los datos de identificación y de puntuación del ítem a matrices de datos
  • El conteo de aciertos
  • La calificación y valoración del resultado
  • Y la composición del texto a grabar en el documento de salida
Finalmente, en la fase de output se diferencian dos fases:
  • El acceso al documento-base y su apertura en modo plantilla (aquí se presenta una diferencia importante respecto al modelo de docap anterior, en el que se creaba ese documento)
  • Y el traslado de datos a las posiciones de marcador previamente establecidas en dicho documento (esta es una posibilidad que permite trabajar con documentos definidos previamente).
El video que sigue muestra esta estructura de forma detallada y en esta entrada puedes encontrar información complementaria a la que te presento aquí.




En la fase input, el uso de cuadro de diálogo (ver en GUI) está determinado por las propias limitaciones de Impress en cuanto al acceso a los sistemas gráficos de interface. 

DialogLibraries.LoadLibrary("Standard")
oPresentaCB=CreateUNODialog(DialogLibraries.Standard.getByName("DlgIdAl"))
oPresentaCB.Execute()

La segunda parte del input aprovecha las posibilidades que ofrece LO de asociar los elementos gráficos a macros/script.

El procesamiento de datos se centra en dos procesos:
  • Pasar los datos de los controles del cuadro de diálogo a una matriz string (sDatos()) para facilitar su procesamiento y, con ello, identificar al sujeto que realiza la actividad.
oDato(0) = oPresentaCB.getControl("DtFechaInfo")
sDato(0)= oDato(0).Text
  • Contabilizar los resultados y analizarlos en términos cuantitativos mediante el uso de instrucciones y estructuras OOo Basic.
For i = 0 To 11
Suma = Suma + Puntos(i)
Next
  • Con ambos, y mediante la concatenación de textos y variables, se elabora el contenido que posteriormente será traslado al soporte writer.
If Porcentaje > 80 Then
Valoracion= "Dado que el porcentaje de acierto es superior al 80%, se considera que el/la alumn@ comprende adecuadamente los conceptos básicos trabajados"
Else
Valoracion= "Dado que el porcentaje de acierto es inferior al 81%, se considera que el/la alumn@ no comprende suficientemente los conceptos básicos trabajados"
End If

Finalmente, el output empieza por el acceso al documento-base...

sRutaAcceso = ConvertToUrl("D:InfoCB.odt")
oDocModelo = StarDesktop.loadComponentFromURL( sRutaAcceso, "_blank", 0, mOpciones() )

... y finaliza con el traslado del contenido a las posiciones (marcadores de texto) que se establecieron en el documento-base en el momento en que éste se creó. 

oMrcFechaInfo = oDocModelo.getBookmarks().getByName("MarcaFechaInfo")
oMrcFechaInfo.getAnchor.setString(sDato(0))

viernes, 7 de julio de 2023

Intervención. Conceptos básicos

 Formas geométricas.

El conocimiento de los conceptos básicos es uno de los factores que diferencian al alumnado de E. Infantil en cuanto a condiciones de partida en el inicio de la escolarización; por este motivo son uno de los contenidos curriculares prioritarios para el profesorado de la etapa.

                                           


Estudios recientes atribuyen a la escolarización temprana en la etapa de E. Infantil una capacidad nada despreciable de reducir las diferencias sociales en términos de probabilidad de éxito académico. Esto es especialmente relevante en condiciones sociales negativas, como en hogares con bajos niveles de ingresos y en familias con madres con bajo nivel de estudios, precisamente dos de las causas identificadas como tales por su incidencia negativa en el éxito académico.

Sería interesante estudiar la incidencia que en el éxito académico a medio-largo plazo puede tener, no sólo la escolarización temprana en E. Infantil, si no también, y más específicamente,  el tipo de trabajo que en ella y más concretamente el que se trabajen los conceptos básicos. 

Estoy convencido que se podría establecer una relación positiva significativa entre ambos factores, especialmente en poblaciones calificadas "en situación de vulnerabilidad socioeducativa", causa de NEAE según LOMLOE (apartado 49-Ter). Y lo estoy aun más de las repercusiones negativas que tiene el desconocimiento de estos conceptos en el proceso de aprendizaje, lo que, de por sí, es más que suficiente para justificar su inclusión entre los contenidos prioritarios para trabajar E. Infantil. 

Afortunadamente así sucede en la práctica curricular de las docentes de esta etapa y son muchos y actualizados los materiales publicados y accesibles desde la Web dirigidos al profesorado.

Pero, por desgracia y al contrario, parece que estos conceptos no son tan interesantes para la investigación educativa realizada en las universidades, ya que no es fácil encontrar publicaciones de esta fuente.

Tampoco los es en lo relativo a materiales actualizados de evaluación, siendo muy limitados y ya de cierta antigüedad los publicados por las empresas especializadas; de hecho, y al menos en castellano, seguimos limitados a dos buenos test, pero ya antiguos, aunque remozados hace ya tiempo:
  • CONCEBAS. Versión original CEPE 1993, versión actual CONCEBAS-2000, Ed Albor-COHS, publicado en 2006
  • Test Boehm. Versión original de 1971; adaptación en Español por TEA ediciones, 1980. Versión actual BOEHM-3. Ed. Pearson, adaptación de 2012.  
Frente a estos magros resultados, como ya dije, cualquier búsqueda sobre materiales para la intervención aporta información cuantitativamente significativa y temporalmente actualizada. 

Por resumir, estas podrían ser las características más destacadas de estos materiales:
  • Su adaptación a enfoques "novedosos" como los que supone la neuroeducación (sirva de ejemplo  neuropeques)
  • El predominio del enfoque cualitativo incluso en materiales de evaluación (como ejemplo, los materiales producidos por Jesús Jarque).
  • Y la proliferación de materiales en soporte informático en sustitución del papel que, no obstante, no está del todo ausente. En este caso, además de materiales anteriores me interesa destacar las aportaciones de fuentes como Aula PT
Personalmente opino que, lo que revela lo anterior es que en esto, y no sólo, los desarrolladores reales de currículo (esto es: el profesorado) mantienen una postura mucho más ajustada a las necesidades educativas reales de la población, especialmente la más desfavorecida. Esto, a su vez, tiene una repercusión positiva, contribuyendo (en cierta medida al menos) a que la escolarización en la etapa de E. Infantil sea un factor positivo para la reducción de las desigualdades socio-educativas, cierto que en la medida en que esto es posible para el propio sistema educativo, que  me temo es una medida moderada, pero afortunadamente no tan irrelevante como plantean algunos que es en realidad.

NOTA 1. Aquí vuelvo a insistir en el interés que estudiar esta temática podría tener para la investigación educativa, pero también para el desarrollo de una política del currículo basada en evidencias y centrada en dar respuesta a las necesidades reales de la población. Y hago un inciso sobre esto de "lo básico": cuando apretaron las dificultades (léase, durante los recientes tiempos de pandemia) volvimos a centrarnos en "lo que realmente importa" en Educación, pero cuando regresamos a la "normalidad" retornamos con afán desmedido a los juegos terminológicos y a la inflación de contenidos (ahora competenciales, eso sí). Qué rápido se nos olvidó de ese sabio principio de que "menos es más".

Posiblemente las facilidades que ofrece la Web y los medios informáticos esté  detrás de la proliferación de materiales de intervención, lo que supone una ventaja, pero también un riesgo: la escasa calidad que puedan presentar estos materiales por falta de fundamentación teórica sólida

NOTA 2. Por cierto, algo que se acentúa a causa del escaso interés que muestran tener quienes poseen los conocimientos profesionales y los medios necesarios para que esto no suceda.

Beneficiarse de las ventajas parece sencillo, pero no lo es tanto reducir el riego de los inconvenientes: estudiar con seriedad el tema, ser selectivos en la identificación de fuentes y tener criterios de intervención bien definidos son principios lógicos para enfrentarse a la tarea de seleccionar o crear materiales, pero son (como siempre) más sencillos de enunciar que de concretar y aplicar.

Para eso de concretar, planteo considerar tres dimensiones en el análisis:
  • Identificar los conceptos básicos que se plantean para el trabajo y las posibles fuentes en que se basan.
  • Analizar los planteamientos metodológicos (explicitados o implícitos) que presentan esos materiales.
  • Y estudiar la coherencia y compatibilidad de las herramientas que se han empleado en su creación con sus los planteamientos metodológicos y de trabajo que presentan.
Empezando por los contenidos a trabajar (los conceptos básicos), tomar como referencia los identificados como tales en las pruebas de evaluación, aunque a priori es un buen enfoque, debemos ser conscientes de que presentan ciertas  limitaciones no de escasa importancia:
  • La primera fuente de limitaciones deriva de su relativa escasez y su nada relativa antigüedad.
  • La segunda deriva de la naturaleza misma de las pruebas de evaluación, en las que la selección de ítem, además de criterios de relevancia coincidentes con los de la intervención, también interesan otros que se basan en la capacidad de discriminación de los contenidos, esto es: que al menos algunos de los conceptos seleccionados permitan diferenciar sujetos que no presentan dificultades y sujetos que sí las presenten. Este principio es ajeno al de la intervención educativa, en la que los contenidos a priorizar lo sean por relevancia para el proceso de aprendizaje.
  • Y la tercera del posible sesgo clínico que pueden presentar aquellos materiales que se basan en las pruebas de evaluación tanto en los  contenidos como en los planteamientos metodológicos. 
Aunque lo anterior nos obliga a ser cautos, a estudiar los datos cuantitativos disponibles y a analizar los formatos en que se presentan estos materiales, lo cierto es que contamos con lo que contamos y no con lo que desearíamos, que estas pruebas son en realidad "incursiones" curriculares de instrumentos clínicos (y no al revés) y que tomar como referencia los conceptos que trabajan estas pruebas no es una mala opción, al menos hasta disponer de otras fuentes mejores, si las contrapesamos con el análisis de los currículos y la progresión lógica que se observa entre las etapas de E. Infantil y E. Primaria en cuanto a contenidos curriculares.
 
El segundo análisis, complementario pero diferenciado del anterior, tiene como objetivo determinar si las orientaciones metodológicas (mayormente implícitas) de los materiales se corresponden con los objetivos que perseguimos en nuestro trabajo. Sin pretender ser exhaustivos, antes al contrario, a riesgo de dejar fuera análisis sin duda relevantes, considero mayoritarios los siguientes planteamientos:
  • Materiales que desarrollan metodologías expositivas, con menor o mayor capacidad (o pretensión de) para ser alternativa funcional a la interacción entre niño y adulto en el proceso enseñanza-aprendizaje (E-A)  en función de la información que aportan al usuario. Un ejemplo podrían ser los materiales en vídeo publicados por Neuropeques, que no se encuentran formal y pedagógicamente lejos de lo que representan otros como este, publicado por Aula PT.
  • Materiales orientados a la ejercitación. Estos materiales son, en lo "técnico", más sencillos que los anteriores (son menos sofisticados y recurren menos a lo "audiovisual"), pero pueden presenta mayor variedad de planteamientos metodológicos implícitos, ya que normalmente combinan la presentación de contenidos (enseñanza/exposición) con la ejecución de actividades (aplicación de conocimientos) y incluso la evaluación. 
Además, tanto por lo que pretenden como por las "carencias audiovisuales" que presentan, parecen estar o están pensados para servir de herramienta a procesos E-A adulto-niño o de aprendizaje compartido entre iguales. Planteo como ejemplos de este segundo enfoque metodológico las siguientes presentaciones elaboradas por mí para ilustrarlo:

En ellas se diferencia una fase expositiva de otra de trabajo. La primera, que se concreta de diferentes maneras, sirve para la re-presentación del concepto. En esta fase, el papel del adulto es de observador-acompañante del niño y facilitador de su aprendizaje. En la segunda fase se plantean al niño actividades de identificación del concepto entre un conjunto estimular más o menos complejo. En esta segunda fase, la función del adulto es la de presentar la actividad y el modo de resolverla y, en caso necesario, aportar las ayudas que mejor se ajusten a sus necesidades.

En este material es posible (aunque no imprescindible) recoger información para la evaluación de los resultados, pero no es esta la función principal ni es necesario realizarla de forma explícita (implícitamente se realiza  espontáneamente); es más, puede ser hasta contraproducente para la dinámica E-A, por lo que el adulto deberá valorar su pertinencia.

NOTA 3. Personalmente opino que debemos huir de esas malas formas de interpretar la evaluación continua que más parecen una obsesión por la precisión que otra cosa. A partir de determinado momento, esta obsesión parecen entender toda acción educativa en una excusa para ejercer el control por medio de la evaluación. El planteamiento teórico de la evaluación continua, que es muy interesante y útil como principio teórico genérico, se vuelve un absurdo tan agobiante como innecesario cuando se pretende llevar a sus extremos. Por muy atrayente que parezca, sobre todo para quienes se limitan a teorizarlo y para quienes repiten sus mantras como papagayos, sin las debidas reservas y en ausencia de sentido común, termina siendo  una pesadilla para quienes lo tienen que poner en práctica. Y lo que es peor aun: distorsiona el proceso de E-A, comprometiendo su propia viabilidad.

  • El tercer tipo de material es precisamente el que contempla fundamentalmente a la evaluación de forma sistemática o como objetivo principal. No es infrecuente que los materiales del segundo  modelo también incluyan elementos de evaluación, pero ni tienen ésta como objetivo principal ni desarrollan procedimientos específicos a tal efecto. Este tercer tipo de recursos sí.

Sí, en teoría, pero no con decirlo es suficiente: además debe cumplirse. Considero que no es así en es el caso de materiales (por otro lado muy interesante) como éste de Jesús Jarque, presentado como recurso de evaluación (y lo puede ser perfectamente, aunque de un campo más amplio y menos específico: de contenidos básicos y no sólo de conceptos básicos, que también están incluidos), que supuestamente contiene un material específico para la recogida de datos, el cual, en mi opinión, no satisface criterios formales para serlo, entre otras razones, por carecer de elementos para el registro de resultados.

Un error que es común a recursos de intervención y de evaluación, y que se presenta con cierta frecuencia en los primeros, es la falta de discriminación de los estímulos que se presentan y que, por su mal diseño, permite al niño acertar simplemente al azar. Estos materiales estimulan no tanto el aprendizaje como la impulsividad y favorecen las respuestas al azar. La consecuencia es que no favorecen el aprendizaje y refuerzan conductas que son contrarias al mismo, además del potencial riesgo que presentan de generar formas de adición a la pantalla cuyas consecuencias negativas están empezando a hacerse evidentes.

Esto me lleva finalmente, a la tercera y última cuestión a tener en cuenta a la hora de seleccionar/elaborar materiales de intervención: la compatibilidad de los medios con los fines que presentan los materiales. Y no estamos hablando de carencia de medios (en tal caso puede haberla de competencia técnica par usarlos por parte de los generadores de recursos), si no del uso coherente o no del recurso en función del objetivo de trabajo.

Ciertamente medios no son lo que faltan: herramientas para crear presentaciones tipo PPT, herramientas específicas o de autor, recursos para crear videos o para convertir presentaciones a vídeo, lenguajes de programación... las posibilidades no son infinitas, pero casi... y accesibles.

Frente a esta riqueza de medios, la relativa precariedad de tiempos y/o de profesionales cualificados para el desarrollo de los recursos (muchos de ellos afortunadas creaciones del profesorado y/o de clínicos) hace que podamos encontrarnos, con cierta frecuencia, con materiales en los que predomina la incoherencia entre los medios y los fines, o eso parece.

Un ejemplo puede ser el material antes comentado de Jesús Jarque, aunque éste sólo lo será si nos planteamos como necesaria la automatización de la aplicación de la "prueba", algo que evidentemente puede ser una opción, pero no una obligación, así que definitivamente en esto esos materiales no incurren en ninguna incoherencia. 

Hay otros que claramente incumplen estos requisitos de compatibilidad, pero me interesa más analizar el tema desde lo general que desde lo específico, evitando señalar errores ajenos cuando lo que se debe señalar, al contrario, es la generosidad de quienes, sin ganancia personal alguna, ponen a disposición de tod@s el fruto de su trabajo y de su experiencia.

Además no resulta muy difícil hacer esta exposición, ya que son dos los soportes básicos en los que, por limitación de tiempo y/o de conocimiento, se presentan los materiales en la Web: como vídeos (You Tube, pero no sólo) y como presentaciones tipo PPT. Sin olvidar, claro está, los simples y tremendamente útiles documentos en diferentes soportes (.doc,.pdf...)

De estos últimos no voy a hablar, ya que suponen recurrir a los medios analógicos tradicionales, para nada despreciables, por cierto, y menos desde el conocimiento de los riesgos que supone el exceso de medios digitales en la intervención educativa. Este sencillo y contrastado procedimiento puede ser simple, ciertamente, pero usado con sentido profesional, está exento del riesgo de incurrir en la incompatibilidad que aquí trato.

Me centraré, por tanto, en los que sí pueden incurrir en esta incompatibilidad, además de en errores metodológicos ya expuestos en su momento.

Empezando por los vídeos educativos, su creación y proliferación es debida a  facilidad con la que es posible crear una vídeo a partir de una  presentación, y en el atractivo que tiene su publicación en plataformas como You Tube. Pero es precisamente ahí donde se sitúa la fuente de error más común que se puede observar en ese tipo (y formato) de materiales: su uso como recurso para la ejercitación. 

El formato vídeo puede ser adecuado para la creación de materiales de instrucción, pero resultan inadecuados como soporte para el trabajo del alumnado. Obviamente es imposible que el niño interactúe con los estímulos presentados en la pantalla en formato video, ya que este formato no admite esa interacción, pero al derivar de un material originalmente creado como presentación (que sí admite esa interacción) su traslado al formato video suple esa carencia de interacción simulándola, lo que supone su sustitución por en sucedáneo de interacción prediseñada. Aquí te dejo un ejemplo de lo que digo para que se me entienda mejor. Se trata, sin duda, de un material promocional para potenciar la venta de otros los materiales, pero ilustra perfectamente un tipo de error en el que se puede incurrir sin a penas advertirlo. 

El segundo error se observa en presentaciones y materiales similares, y tiene que ver con la proliferación de formas simplificadas de interacción que se pretende suplir con una sobreabundancia de recursos MAV (animaciones, sonidos, transiciones alambicadas...) que sobrecargan de estímulos sin aportar nada de interés a la compresión del concepto y/o a la realización de la actividad por parte del niño. No estoy hablando de defectos como los explicados antes respecto a estímulos indiscriminados, ya que ese es un planteamiento mucho más dañino para la lógica del aprendizaje y para el desarrollo del niño; me refiero a aquellos materiales en los que, muy posiblemente con buena intención, el creador hace alarde de lo mucho que sabe del programa con el que trabaja, olvidando que la simplicidad es, generalmente, mejor aliada de una buena pedagogía.

Y frente al exceso de floritura MAV, la ausencia de aprovechamiento de potenciales recursos. El ejemplo más evidente (interesadamente lo digo y no lo escondo) es el desaprovechamiento por desconocimiento de las posibilidades de utilizar recursos como VBA o OOo Basic para mejorar el funcionamiento de las presentaciones y de otro tipo de documentos basados en los servicios que ofrecen las suites informáticas (Microsoft Office -> VBA; Libre Office/Open Office -> OOo Basic).

En cierto modo, el soporte que algunos recursos ofrecen para el registro de resultados pueden considerarse ejemplos de este tipo de carencias, pero lo son en mayor medida la ausencia de materiales que implementen script en su funcionamiento, ya que impide desarrollar funcionalidades que  no son pensables (de ahí que no se creen) utilizando las funcionalidades que sí son conocidas por usuarios calificables como de nivel avanzado.

Mientras que este usuario puede caer en la tentación de sobredimensionar el empleo de elementos MAV, perfectamente puede carecer de conocimientos suficientes de programación con "lenguajes de macros" (en realidad otra forma de ser usuario avanzado), lo que limita para crear funcionalidades muy interesantes desde el punto de vista educativo, además del potencial que presentan para ahorrar tiempo al profesorado en la realización de cierto tipo de trabajo.

NOTA 3. Posiblemente el dominio de un programa de autor permita también realizar materiales de características equivalentes, pero requiere dedicar un tiempo importante a aprender/dominar este tipo de herramienta. Que no es fácil alcanzar ese nivel de dominio (y más aun, que no es frecuente) queda demostrado por la escasez de materiales basados en este tipo de soportes, frente a los que se han creado a partir de Power Point y programas similares. Esta es una de las razones por las que propongo incluir el conocimiento de lenguajes de script como parte de la competencia digital docente (y diría que en sustitución del requisito de conocimiento de herramientas de autor): con ello se pretende profundizar en el dominio de herramientas que ya son conocidas por el profesorado (las suites ofimáticas), algo que resulta mucho más sencillo que añadir nuevas herramientas a la mochila de conocimientos informáticos, los cuales no dejan de ser meramente instrumentales en el perfil docente.

Para ilustrar lo que propongo, pero también para ofrecer un material sobre Conceptos básicos, dejo a tu disposición este docap con sus diferentes elementos. Se trata de un archivo comprimido que deberás descargar y copiar en el directorio raíz una unidad D (lápiz de memoria, por ejemplo). Está formado por dos archivos (una presentación Impress y un documento Writer) y dos carpetas (una para guardar los informes que se creen y otra que contiene cuatro audios incluidos en la presentación).

El funcionamiento del docap es sencillo e intuitivo, pero para más detalle te lo explico en este vídeo que se puede complementar con lo expuesto en esta entrada.





lunes, 3 de julio de 2023

OOo Basic. Servicios

Activar un script desde una presentación

Aunque es posible trabajar con formularios y con cuadros de diálogo desde una presentación en su formulación como documento en proceso de elaboración o consulta, no resulta posible hacerlo una vez que la presentación ha sido lanzada. Opino que este funcionamiento es claramente una  seria limitación de Impress, pero ahí está y (por el momento) es un problema al que al menos yo no he encontrado solución... ¿o sí?


Bueno, no sé si tanto como una solución, pero al menos una forma de eludir el problema sí que hay, claro que a costa de tener que renunciar a usar formularios y vernos limitados a emplear cuadros de diálogo, aunque para algun@s esto no sea realmente una limitación... para mí sí.

Efectivamente, para mí sí que lo es y echo en falta aquí la facilitad de uso de formularios que presenta Power Point (lo cierto es que también alguna que otra ventaja que considero presenta sobre Impress), pero el uso de cuadros de diálogo nos resuelve satisfactoriamente las necesidades que podemos tener de trabajar con una GUI para la entrada de datos. 

NOTA 1De momento estamos trabajando con aspectos generales del uso de cuadros de diálogo (esto es, tanto en Impress como en otros servicios), pero la idea es desarrollar entradas específicas sobre el uso de cuadros de diálogo en Impress cuando sea pertinente.

Otra cosa es acceder desde Impress (desde una presentación lanzada, claro, que es lo que interesa) a los script, ya que de este modo podremos aprovechar el potencial que tiene OOo Basic. Y desde luego no podemos trabajar creando macros, ya que esta funcionalidad no existe para Impress (tampoco para Draw), así que tendremos que crear los script accediendo directamente al IDE.

Sin entrar ahora en qué script podemos crear (a parte de algunos ya vistos aquí, cualquier otro que sea compatible con Impress), algo que tiene mucho que ver con el para qué, nos interesa saber si vamos a rentabilizar este trabajo... y la respuesta, afortunadamente, es SÍ.

Para ello deberemos seguir el siguiente proceso:

  • "Dibujar" una forma a la que vamos a dar función de botón de comando.
  • Clic derecho sobre la forma seleccionada...
  • Clic sobre la opción Interacción...
  • Y selección de la opción "Ejecutar macro" desde el desplegable "Interacción. Acción al pulsar con el ratón"
  • Queda seleccionar el script a asociar a la forma (o a la imagen) de modo que después, al hacer clic sobre ella se lance el script seleccionado.
Te animo, en esta ocasión, a que crees tu mismo una presentación con un script sencillo (un saludo MsgBox, por ejemplo) y que lo asocies tanto a un botón de comando de formulario como a una forma geométrica a la que apliques el procedimiento anterior. Así podrás comprobar lo que te explico en esta entrada, limitaciones incluidas (ver a continuación).

NOTA 2En el caso de una presentación no es posible utilizar un botón de comando de formulario ya que sólo funciona adecuadamente cuando estamos en modo creación/revisión de la presentación, pero deja de tener ese comportamiento cuando lanzamos la presentación. En ese momento, el botón de comando deja de estar accesible y lo mismo sucede con cualquier otro componente o control de formulario. Este es el motivo por el que (hasta donde yo se) no es posible utilizar formularios en Impress, debiendo hacer uso de cuadros de diálogo como alternativa.

martes, 27 de junio de 2023

OOo Basic. Servicios

Trabajo con documentos: crear, abrir y cerrar

Lo primero que aprenderemos es a trabajar con documentos Presentación y Dibujo, esto es: a crear, abrir, guardar y cerrar uno de estos documentos mediante OOo Basic. Son aprendizajes comunes a cualquier otro servicio y algunos de ellos no presentan gran interés desde el punto de vista del uso que vamos a hacer de ellos, pero no nos vendrá mal su aprendizaje en el futuro; alguna utilidad le podremos dar.



Aprender a crear una presentación o un dibujo directamente, mediante OOo Basic no nos reporta una utilidad inmediata ya que no son archivos de los que vayamos a hacer un uso que pueda hacer útil este aprendizaje, pero conviene saberlo por lo que este código comparte con el uso de otros servicios.

Mauricio Baeza nos proporciona las claves para generar estos script que asociaremos a un archivo Writer desde el supuesto del uso de una presentación y/o una imagen como documento auxiliar en un proceso instruccional o de evaluación que se ilustra o soporta sobre este tipo de documentación auxiliar. Es por ello mismo que aprender a crear documentos de esta naturaleza carece de utilidad, pero nos dará una pista para otro tipo de usos, como veremos a continuación.

Sub Crear_Presenta

Dim sRuta As String
Dim mArg()
Dim oNuevaPresentacion As Object

sRuta = "private:factory/simpress"
        oNuevaPresentacion = StarDesktop.loadComponentFromURL( sRuta, "_default", 0, mArg() )

End Sub
 
Este script puede considerarse modelo de script para la creación de cualquier otro tipo de documento, por lo que me ahorro exponer el correspondiente para Draw. De hecho es suficiente con cambiar el servicio que se solicita desde la variable sRuta para generar el documento correspondiente:
  • scalc para hojas de cálculo.
  • swriter para documentos de texto.
  • simpress para presentaciones.
  • sdraw para dibujos.
  • smath para documentos Math.
El único servicio con el que no funciona es con Base, ya que crear una base de datos requiere procedimientos más complejos.

Ya dije que estos documentos vacíos nos sirven de bien poco, pero crear un documento de texto o una hoja de cálculo puede sernos de gran utilidad, así que bien está saber cómo crearlos.

Veamos ahora cómo acceder a un documento (presentación o dibujo ya creado), ya que este conocimiento sí puede sernos de gran utilidad en el planteamiento que realizamos antes: el dibujo o la presentación son, dentro de un docap complejo, recursos que utilizamos para presentar una información al usuario.

Sigo usando el documento de texto como base, pero ahora necesito que nuestros materiales gráficos ya estén creados de antemano y, para mayor comodidad, los supongo ubicados en la unidad D:

Sub Abrir_Presenta

Dim sRuta As String
Dim mArg()
Dim oPresenta As Object

sRuta = ConvertToUrl( "D:/PresentaPrueba.odp" )
oPresenta = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mArg() )

 End Sub 

Mediante este script accedo al archivo presentación (extensión .odp) ubicado en el directorio raíz de la unidad D llamado PresentaPrueba. Podrá suponer que puedo seguir el mismo procedimiento para acceder a un archivo imagen, Calc o documento: es suficiente con cambiar el nombre (y al extensión) del archivo.

Esto quiere decir que también en este caso estamos hablando de un procedimiento generalizable, que podremos utilizar con cualquier documento que sea accesible a Libre Office, como por ejemplo, un .pdf, aunque en este caso se abre para ser gestionado por Draw, ya que  Libre Office lo interpreta como archivo de imagen. Igual sucede si lo intentamos con un archivo .txt : en este caso es abierto desde el servicio Writer, ya que Libe Office lo interpreta y asocia a un documento de texto.

De todas formas, lo importante de este script es entender la función que asociamos a la variable sRuta: la función ConvertToUrl(), que es la encargada de convertir a dirección absoluta, la dirección que introduzcamos entre sus paréntesis, siendo esta conversión necesaria para el funcionamiento del script por la naturaleza multiplataforma de Libre Office.

El script anterior podemos hacerlo interactivo introduciendo una variable o una serie de variables que nos permitan dar al programa la información necesaria. Este podría ser un ejemplo, aunque un tanto simple.

Sub Abrir_Interactivo

Dim sRuta As String, sUnidad As String, sNombreArchivo As String,

Dim sTipoArchivo As String, sExtension As String, sDireccion As String

Dim mArg()
Dim oDocInteractivo As Object
sUnidad = InputBox ("Unidad donde se encuentra el archivo")
sNombreArchivo = InputBox ("Nombre del archivo")
sTipoArchivo = InputBox ("Tipo de documento:")
If sTipoArchivo = "Impress" Then
sExtension = ".odp"
ElseIf sTipoArchivo = "Draw" Then
sExtension = ".odg"
End If
sDireccion = sUnidad & ":/" & sNombreArchivo & sExtension

sRuta = ConvertToUrl( sDireccion )
oDocInteractivo = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mArg() )

End Sub

Esta funcionalidad no es de mucho interés para el planteamiento de docap que tenemos en mente, pero podría serlo para otros. 

Lo que también podemos derivar del análisis de los script anteriores es la posibilidad de crear una función o una subrutina que agilice el procedimiento, algo que resulta de utilidad para mejorar la formalización del código y que redunda en su funcionalidad si debemos reutilizar dicha función.

Function AbrirCualquierDoc(cRuta As String,Optional aOpciones()) As Object

cRuta = ConvertToURL(cRuta)
If IsMissing (aOpciones) Then aOpciones = Array()
        AbrirCualquierDoc = StarDesktop.LoadComponentFromURL(cRuta,"_blank",0, aOpciones())

End Function

Sub AbrirDocPresenta

Dim sDocum As String
sDocum = "D:/PresentaPrueba.odp"
AbrirCualquierDoc(sDocum)
End Sub

Gracias a esta función, es suficiente con dar el contenido requerido a la variable sDocum para que podamos acceder a cualquier tipo de archivo, con las condiciones y las opciones de interactividad que vimos antes.

Esta forma de trabajar nos permite dar un paso más en el acceso a documentos que presenten características específicas, lo que nos será de mucha utilidad. Dos ejemplos de ello, que no los únicos, son los siguientes:
  • Cuando el archivo (una presentación, por ejemplo) contiene macros
  • Y cuando queremos que la presentación se lance directamente.
Para ello daremos contenido al parámetro aOpciones declarado como opcional en la definición de la función y que ahora incluiremos en el script desde el que llamamos a la función.

Sub AbrirPresentaConMacros

Dim sDocum As String
Dim aOpc(0) As New "com.sun.star.beans.PropertyValue"
sDocum = "D:/PresentaPruebaSegunda.odp"
aOpc(0).Name = "MacroExecutionMode"
aOpc(0).Value = 4
AbrirCualquierDoc(sDocum,aOpc)
End Sub

Este script nos permite acceder a la presentación indicada en sDocum y activar sus macros directamente. Esto es posible por el uso de la variable aOpc que llama al método "com.sun.star.beans.PropertyValue", el cual, a su vez está conformado por una matriz de componentes Nombre-Valor que pueden ser usados simultáneamente siempre que no entren en contradicción entre sí.

Un ejemplo de uso simultáneo es el de abrir una presentación con macros y lanzarla directamente. El script que sigue al que acabo de exponer cumple ambos requisitos. Puedes acceder a él desde el documento que te dejo en uno de los enlaces al final de esta entrada.

Fíjate en que este caso, la función cumple la condición de SÍ presentar el argumento opcional aOpciones. Al haber sido definido de este modo y ser tratado mediante el condicional If, esta función nos sirve tanto para trabajar con script que no especifican propiedades específicas del documento como los que sí.

Para finalizar esta entrada, vamos a crear un script un tanto absurdo, pero que responde a una necesidad muy real: cerrar un documento previamente abierto. Lo absurdo deriva del modo de implementar estas funciones (guardar y cerrar), pero no de las funciones en sí, que pueden ser empleadas de forma mucho más lógica y funcional.

Sub AbrirCerrarDocum

Dim sRuta As String
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object

sRuta = ConvertToUrl( "D:/PresentaPrueba.odp" )
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )

'AQUI va todo el código que necesitemos para modificar el archivo abierto

MsgBox "Archivo abierto y modificado correctamente, presione Aceptar para guardar y cerrar"

'Guardamos los cambios
oDoc.store()

'Cerramos el archivo
oDoc.close(True)

End Sub

Las instrucciones claves (funciones, en realidad) son store(), que guarda los cambios realizados en el documento abierto) y close(), que lo cierra.

Si las utilizamos como se plantea en este script carecen de funcionalidad, ya que no nos es posible realizar cambio alguno en el archivo abierto (y ello por varios motivos, pero no vienen a cuento ahora), pero si las incorporamos a un script del documento (la presentación abierta desde el script "principal") podremos trabajar con la presentación (por ejemplo) y cerrarla guardando los cambios que deriven de su uso. 

Pero esto queda para futuros script. Por ahora ya tenemos más que suficiente, así que, para finalizar de dejo acceso a los documentos creados para ilustrar las funcionalidades trabajadas en esta entrada. La mayoría son únicamente necesarios en función de esta utilidad, pero el principal contiene en su IDE todos los script que hemos ido viendo a lo largo de esta entrada.
Recuerda que debes descargarlos en tu ordenador y ubicarlos en el directorio raíz de la una unidad D

OOo Basic. Servicios

 Uso de OOo Basic con Draw e Impress

En lo que se refiere al empleo de OOo Basic, Draw e Impress comparte una limitación: ninguno de los dos permite grabar macros, aunque el resto de las funcionalidad relacionadas con OOo Basic sí están disponibles. En consecuencia, y en sentido estricto, no Impress ni Draw permiten la creación y ejecución de macros, pero sí de script OOo Basic.


Esta imposibilidad para grabar macros está justificada por el modo de trabajo que conllevan ambos servicios, pero no deja de plantear limitaciones para la creación de secuencias de código: no podemos disponer de la ayuda que proporciona la función Grabar macros en Calc y en Writer para superar las limitaciones que podemos tener para crear funcionalidades. En Impress y en Draw dependemos totalmente de nuestro conocimiento del lenguaje OOo Basic, y este es, hoy por hoy, limitado.

En cierto modo, esta limitación de ambos servicios también conlleva limitaciones que afectan al modo de uso de los script y de su interacción con el servicio, aunque en esto las posibilidades de asociar cada forma gráfica con un script en Impress o de incluir elementos de un formulario en Draw (aquí son de especial interés los botones de comando) permiten acceder a la implementación de script también con los gráficos estáticos o dinámicos y los MAV que podemos crear con ambos.

Las utilidades que derivan de estas posibilidades nos permiten idear usos de los soportes gráficos más allá de la simple ilustración/instrucción. Estas posibilidades se incrementan si pensamos en el uso combinado de  Draw y/o Impress con Calc y/o con Writer, ya que de este modo podemos diseñar docap que aprovechen el potencial de estos servicios, incrementado con el que genera la utilización de OOo Basic.

Pero antes de llegar a estas metas, es necesario recorrer un camino que iniciaremos en la próxima entrada de esta serie. En ella y en las que la sigan mostraré cómo crear script que nos permitan trabajar con documentos (archivos Draw y presentaciones Impress) y con algunos de sus componentes. Posteriormente trabajaremos sobre la implementación de script que resulten funcionales desde una imagen y/o desde un objeto de una presentación.

Este es en resumen el camino que te propongo seguir en las entradas del menú GRÁFICOS.

lunes, 26 de junio de 2023

Gráficos. Introducción.

 Introducción a Draw e Impress

Tanto Impress como Draw nos permiten trabajar con imágenes estáticas (Draw) o dinámicas (Impress), así como con el uso combinado de medios multimedia (fundamentalmente Impress). Además Impress es a Libre Office lo que Power Point es a Microsoft Office.


Las posibilidades que ofrecen Impress y Draw de trabajar con imágenes nos permiten pensar en el desarrollo de recursos orientados al desarrollo de recursos educativos, pero también de materiales para la evaluación. En su ámbito específico, ambos ofrecen posibilidades que, aunque también estén presentes en Calc y en Writer, lo están de forma limitada.

El uso de Draw, pero sobre todo de Impress, como servicios para crear documentos multimedia cae dentro del dominio standard de ambas herramientas, motivo por el cual al final de esta entrada ofrezco dos enlaces a manuales de uso.

Pero ambos también permiten el uso de script basados en OOo Basic, aunque éste y las posibilidades que conlleva, presenta características que podemos considerar limitaciones en comparación con las posibilidades que ofrece el uso de OOo Basic en Calc y en Writer.

Aun así he considerado interesante compartir el uso de OOo Basic en ambos soportes y proponer algunas estrategias de trabajo con ellas. Esto añade valor a lo que OOo Basic aporta al uso de Calc y de Writer e ilustra algunas posibilidades de trabajo con Impress y con Draw que complementan las que derivan del uso ordinario de ambos servicios.    

Las entradas contenidas y asociadas a este identificador y subíndice (Gráficos) irán dirigidas a estos fines. Los documentos a los que puedes acceder desde los enlaces que siguen a continuación te pueden servir para que desarrolles un conocimiento avanzado el uso standard de estas herramientas. Con ambos (manuales de uso y entradas) pretende poner a tu disposición conocimientos suficientes para que saques el máximo partido de Draw y de Impress como recursos para la creación de docap.

Documentos

sábado, 6 de mayo de 2023

Intervención. Ciencias Sociales.

La Revolución industrial

A la vista de las dificultades observadas, explicadas en la entrada anterior, se me ocurre que la primera forma de utilizar Impress es del modo en que no presenta limitaciones, esto es: como servicio para la creación de presentaciones. Ni novedosa ni brillante es esta propuesta que digamos, pero efectiva sí que lo es.


Y a lo mejor es más compleja de lo que puede parecer a simple vista... y mucho más funcional de lo que puede parecer en un principio. Además, en realidad no es una novedad, ya que ya hemos empleado esta estrategia en este blog... y no hace mucho tiempo, pero no desde el enfoque actual, centrado en los usos de Impress. 

Claro que para no caer en obviedades es necesario explicar el conjunto documental y funcional del que forma parte esta propuesta de uso de Impress, que, sin ser novedad, engarza ahora con las propuestas de elaboración de docap complejos, similares a los creados para el trabajo con documentos.

Aclaremos un poco esta idea. En el docap Informe (por ejemplo) utilizamos dos documentos: uno con función de gestor (sobre Calc) y otro como documento-base (sobre Writer). Pues la idea de base es crear un documento "gestor" basado en un documento Calc o Writer, que puede tener diversas funciones (de exposición o información, de formulario para la recopilación de datos -input-, de soporte para la aplicación de un recurso de evaluación...) y otro basado en Impress que (por el momento y en función del modelo de trabajo que presentamos en esta entrada) tiene únicamente una función de exposición de información; vamos, la típica y básica de una presentación, sin más pretensiones. En este mismo sentido la utilizamos en una de las opciones de Nos alimentamos.

La diferencia con la mera adición de componentes es que, mediante script, generamos un funcionamiento integrado (docap complejo) entre ambos documentos, aunque el funcionamiento esperado del script de enlace entre el "gestor" y el "expositor de información" es, en este momento, limitado: únicamente debe facilitar el acceso directo y automático a la presentación.

Estos doca pueden utilizarse tanto para generar contenidos de tipo expositivo expositivos y también recursos para la evaluación, aunque (por el momento) esa segunda forma, que es la de mayor complejidad, es asumida por el documento gestor y necesariamente no puede estar basada en Impress. 

Obviamente el interés de este tipo de docap se incrementa en función de la complejidad MAV del contenido expuesto en la presentación, pero también puede serlo por el complejo manejo de diferentes presentaciones (a modo de hipertexto) y/o en función de condiciones dadas, incluyendo la condicionalidad en función de resultados de un cuestionario soportado por el gestor.

Intento con esto indicar que la simplicidad de este tipo de soluciones es más aparente que real, ya que las opciones son múltiples y de niveles de complejidad diferentes, incluyendo el dominio que mostremos en el uso de Impress como herramienta de creación de presentaciones.

No es mi caso (mi conocimiento de Impress es imitado), pero tampoco es lo que resulta clave en este momento. De lo que se trata es de mostrar las formas en las que podemos hacer uso de OOo Basic para acceder a documentos Impress.

En ello me voy a centrar desarrollando en un sencillo proyecto basado en un excelente material de Elia Zapico (La Revolución Industrial) realizado según los planteamientos de Visual Thinking

Consiste en un documento (Writer) que contiene un texto en el que se sitúan dos botones que permiten acceder a sendas presentaciones simples (de una única diapositiva) que profundizan, esquematizan e ilustran las ideas expresadas en el texto.


Las flechas indican la relación entre el documento textual (el gestor del docap) y las presentaciones. Esta relación se establece en base a sendos script asociados a los botones de comando. Reproduzco a continuación uno de estos script.

Sub AccesoRI

Dim sRuta As String
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object

mOpciones(0).Name = "StartPresentation"
mOpciones(0).Value = True
sRuta = ConvertToUrl ("D:\RIp1.odp")
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones())

End Sub

Como puedes ver este script no es especialmente complicado ni extenso, pero merece una explicación. En el vídeo que sigue comento el objetivo del docap, su forma, contenido y uso, incluyendo el código OOo Basic.




Documentos
NOTA. Estos tres documentos deben estar situados en el directorio raíz de la unidad D, al menos las dos presentaciones. Cualquier otra ubicación genera error al cargar las presentaciones. Se puede subsanar este error modificando el contenido del paréntesis de las variables sRuta.