"Después del juego es antes del juego"
Sepp Herberger

jueves, 28 de septiembre de 2017

Más Flash en los libros digitales: Editorial Santillana.

Ya hablamos del Flash en los libros digitales de Oxford. Esta semana me ha tocado lidiar con los libros digitales de francés de la Editorial Santillana: Parachute 1/2 y Lycée A1. Como no podía ser menos, Santillana (que viene a ser el brazo armado en educación del grupo Prisa - comentario a mala baba) también ha apostado por una novedosa tecnología de los 90 basada en Flash para sus libros.

Me llegan varios CD cuyo contenido es:
-rwxrwxr-x 1 root root 11183588 sep 26 10:50 a.out
-rw-r--r-- 1 root root       83 sep 26 10:21 autorun.inf
-rw-r--r-- 1 root root   292782 sep 26 10:21 browser.swf
drwxr-sr-x 4 root root    53248 sep 26 10:21 contenido
drwxr-sr-x 2 root root    36864 sep 26 10:21 curso
-rw-r--r-- 1 root root     1214 sep 26 10:21 exeBrowser.htm
-rwxr-xr-x 1 root root 11476637 sep 26 10:21 exeLinux
drwxr-sr-x 3 root root     4096 sep 26 10:21 exeMac.app
-rw-r--r-- 1 root root  5536668 sep 26 10:21 exeWin.exe
-rw-r--r-- 1 root root     1201 sep 26 10:21 lisez-moi.txt
drwxr-sr-x 2 root root     4096 sep 26 10:21 modulos
drwxr-sr-x 2 root root     4096 sep 26 10:21 recursos
drwxr-sr-x 2 root root     4096 sep 26 10:21 rr_moved
En negrita pongo lo interesante. Hay 4 opciones para lanzar la aplicación: exeLinux (para Linux), exeMac.app (para OSX), exeWin.exe (para Windows) y exeBrowser.htm (para navegadores web).

Después de copiar todo a una carpeta compartida de red (/home/..../dpto/Frances/Parachute_1) intento ejecutarlo de la forma normal, lanzando ./exeLinux. En un sistema de 32 bits se abre sin mayor problema y se ejecuta, pero en un sistema de 64 bits (y son la mayoría en nuestra red) sale esta pantalla en blanco:


Además, para ejecutarlo en 64 bits es necesario instalar antes el paquete libnss3:i386. Está claro que al ejecutable (con "file exeLinux" vemos que es de 32 bits) no le gusta nuestro sistema de 64 bits. Estuve investigando un rato si faltaba alguna librería de 32 bits en alguna ruta concreta o algo similar pero no encontré ninguna pista que me llevase a solucionarlo.

Un compañero me dijo que podía ejecutar la versión exeWin.exe mediante wine (simplemente haciendo wine /home/..../dpto/Frances/Parachute_1/exeWin.exe), ya que al parecer por esa vía funciona. Si no queda otra salida no me importa usar el maravilloso wine, pero prefiero probar otras opciones antes.

La única opción que me quedaba era la opción web, que se supone que es independiente del sistema operativo y de la arquitectura de 32/64 bits de éste. Con:
# firefox /home/..../dpto/Frances/Parachute_1/exeBrowser.htm
Se abre el navegador y se carga Flash, pero otra vez se muestra la página en blanco. Repasando notas vi el epílogo de esta entrada, en la cual comento que para ejecutar Flash con ficheros locales hay que dar permisos de forma explícita en dichas carpetas en la configuración de Flash Player.

Ya sabemos que Flash lleva dos o tres lustros teniendo problemas de seguridad y al final deben haber optado por la misma solución que Microsoft: si no podemos hacer un artefacto seguro al menos lo haremos paranoico.

¿Cómo configuramos esto?. Pues abriendo en un navegador Firefox la URL:
https://www.macromedia.com/support/documentation/es/flashplayer/help/settings_manager04.html
La cual nos carga una aplicación web que permite cambiar la configuración del Flash local de nuestro PC. Es un sistema raro de configuración pero así es como hacen las cosas los de Flash. Una vez allí, tal como contamos en la entrada anterior hacemos:

  • Primero, nos aseguramos de estar la pestaña en "Parámetros de seguridad global".
  • Marcamos "Permitir siempre".
  • Pinchamos en Editar--> Agregar--> Buscar carpeta. Le damos la ruta donde está instalado el Parachute y elegimos la carpeta. En mi caso la ruta es "/home/..../dpto/Frances).


Con esto ya podemos abrir la aplicación por web y ver que carga y ejecuta sin problema, ya que Flash tiene permiso para acceder a la ruta local donde está ubicada. Para facilitar el trabajo al usuario pongo este acceso directo en su escritorio:
# cat Parachute_1.desktop 

#!/usr/bin/env xdg-open

[Desktop Entry]
Name=Parachute 1
Version=4.1.0.0
Type=Application
Terminal=false
StartupNotify=true
Exec=firefox /home/.../dpto/Frances/ParaChute1/exeBrowser.htm
Categories=Education
Icon=/home/.../dpto/Frances/ParaChute1/recursos/intro01.jpg

Usándolo lanzamos el Firefox con la página local y con Flash ya configurado para confiar en dicha ubicación. Ahora si funciona tanto en 32 como en 64 bits.

Ya llegados aquí, estaba intrigado por averiguar dónde guarda Flash esta configuración que se edita de una manera tan rara con la URL externa https://www.macromedia.com/support/documentation/es/flashplayer/help/settings_manager04.html. No está muy documentado, pero la ruta donde se guarda esta configuración es:
~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.sol
El fichero settings.sol está en un formato binario propio de Flash, aunque podemos husmear por encima usando la utilidad strings (ya que cat muestra un galimatías ASCII):
# strings settings.sol
Si queremos editar dicho fichero existen también herramientas que permiten leer un fichero .sol y editarlo, mirar dentro y exportarlo/importarlo a un .json. Una de ellas es Minerva, una aplicación online hecha en Flash que pinta así:


Ya para acabar, si queremos propagar esta configuración guardada de Flash a más usuarios simplemente hay que copiar el fichero settings.sol en la ruta indicada en todos sus homes, sin necesidad de ir configurando manualmente uno a uno. Hasta me ha resultado más cómodo comprimir el directorio ~/.macromedia en un .tar.gz y descomprimirlo tal cual en cada home, de tal forma que se crea el árbol de directorios de .macromedia de forma completa.

Bueno, pues hasta aquí hemos llegado con esto. Nos vemos en la siguiente aventura.

No hay comentarios:

Publicar un comentario