MINITUTORIALES DE KEPLER (1): EMPEZAMOS POR EL PRINCIPIO
Próximamente voy a impartir un pequeño seminario de Kepler, dentro de un curso de R que impartirá Luís Cayuela entre los días 16 y 19 de noviembre. Siempre he querido hablar sobre este programa en el blog (ya publiqué una entrada sobre el tema hace unos mil años), y publicar algunos tutoriales. Y ahora tengo tiempo para hacerlo.
No voy a explicar qué es Kepler, que ya viene bastante claro en la entrada que ya publiqué, y en este documento que colgué en scribd. También os dejo un enlace a un zip en el que está toda la documentación de Kepler de la que dispongo (hay más, pero con esta ya se hace uno a la idea).
Si quieres seguir el tutorial, es el momento de instalar Kepler (ir a la página de descarga).
Y ahora a empezar (a partir de ahora supondré que ya has leído la entrada anterior en el blog y has ojeado el documento colgado en scribd).
Imaginemos una operación muy sencilla: sustituir una palabra por otra en un documento de texto. Para realizar esta operación hay que seguir un esquema como el siguiente:
En negro, el flujo de trabajo con las acciones a realizar. En gris, los datos que son necesarios para ejecutar cada una de las acciones.
Ahora vamos a diseñar y ejecutar este flujo de trabajo en Kepler. Para facilitar el seguimiento del tutorial, os dejo una imagen que describe los elementos que aparecen en la ventana del programa:

Los pasos a seguir son los siguientes:
- En el "árbol de componentes" sigue la siguiente ruta para encontrar director que controlará la ejecución del flujo de trabajo: Components > Director > SDF Director, y arrástralo a la ventana de diseño.
- Busca Components > Data Input > Local Input > File Reader, y arrastra el componente a la ventana de diseño.
- En el cajetín de búsqueda escribe "string replace" y arrastra el componente a la ventana de diseño.
- Realiza la misma operación con los componentes Text File Writer y String Constant (este último arrastralo tres veces).

Si todo ha salido bien, tendremos en la ventana de diseño un director y seis actores. Ahora puedes crear un fichero de texto plano llamado "texto.txt" en una carpeta de tu PC que contenga la cadena de texto "Granada". Este fichero es nuestro sujeto de prácticas. Ahora vamos a configurar los actores.
- Pulsa dos veces sobre SDF Director en la ventana de diseño para abrir la ventana "Edit parameters for SDF Director", y cambia el valor del parametro "iterations" a 1 (cero significa infinitas iteraciones), para acabar pulsando el botón "Commit".
- En el actor "String Constant" existe un parámetro llamado "value". Escribe en él la ruta completa de acceso al fichero de texto. Por ejemplo /home/blas/texto.txt, o la correspondiente si usas Windows.
- Con "String Constant2" repite la operación poniendo Granada como valor.
- En "String Constant3", lo mismo pero poniendo Mérida.
- En el actor "Text File Writer" cambia el valor del parámetro "Change existing" a overwrite.
Ya están los actores configurados, y ahora hay que definir las uniones entre ellos.
- El actor "String Constant" proporcionará la ruta del fichero a los actores "File Reader" y "Text File Writer". Para no duplicar el actor "String Constant" crearemos un "símbolo de relación" pulsando sobre el rombo negro en la barra de herramientas. Aparecerá en el centro de la ventana de diseño. Puedes arrastrarlo a una posición más conveniente. Ahora puedes pulsar sobre el puerto de salida del actor "String Constant" (triángulo negro a la derecha de la ruta del fichero texto.txt), y arrastrar la línea que surge hasta el símbolo de relación. Has creado un canal que termina en una bifurcación.
- El actor "File Reader" en su lado izquierdo tiene un puerto de entrada llamado fileOrUrl (es el de color negro). Pincha sobre él, y arrastra el canal hasta el símbolo de relación.
- El actor "Text File Writer" tiene en su lado izquierdo (abajo) un actor de entrada llamado file ToWrite; crea un canal entre este puerto y el símbolo de relación.

- Crea un canal entre el puerto output (a la derecha) del actor "File Reader" con el puerto stringToEdit (el de abajo a la izquierda) del actor "String Replace".
- Crea un canal entre el puerto output de "String Constant2" y el puerto pattern (izquierda arriba) de "String Replace".
- Crea un canal entre el puerto output de "String Constant3" y el puerto replacement de "String Replace".
- Crea un canal entre el puerto output (a la derecha) del actor "String Replace" con el puerto string (izquierda y arriba) del actor "Text File Writer".

Con estas conexiones ya está el flujo de trabajo listo para funcionar. Pero antes de darle al Play, en el menú Tools > Animate at runtime, cambia el valor del parámetro Time to hold highlight a 500 milisegundos.
Ahora ya puedes pulsar el botón RUN de la barra de herramientas. Verás como se enmarca en color rojo el actor que está actuando en cada momento. Cuando termine, si abres tu fichero texto.txt, verás que ahora aparece la palabra Mérida.
Si el flujo de trabajo no ha funcionado, En abre el menú File > Open URL y pega la siguiente dirección en el cajetín URL: http://botanica2.ugr.es/flujos/reemplazar_texto.xml. Se abrirá el flujo de trabajo completo en la ventana de diseño.
Por supuesto, este flujo de trabajo es un montaje excesivo para cambiar una palabra por otra en un fichero de texto plano, y solo tiene un objetivo pedagógico. Kepler tiene potencia de sobra para mucho más, y lo iremos viendo en los siguientes tutoriales.
2 comentarios:
Excelente Blog !! saludos desde Colombia.
Muchas gracias Andrés
Sobre todo es pero que sea útil
Un abrazo desde Granada
Publicar un comentario en la entrada