Libre Office 3.5 soporta la importación de ficheros VSD (MS Visio)

Breve noticia aprovechando que el 28 y 29 será el bug hunting day para cazar fallos en la beta de LibreOffice 3.5, he revisado por encima las novedades y me ha sorprendido que ya hayan integrado el soporte de importación de ficheros VSD (MS Visio) en LibreOffice Draw. Gran trabajo de LA hacker Eilidh McAdam’s, desarrollado dentro de la iniciativa Google Summer of Code 2011.

PD: que paséis un buen solsticio de invierno 😉

JuJu: el domador Ubuntu de servicios en la nube

Tercera ley de Clarke: «Cualquier tecnología lo suficientemente avanzada es indistinguible de la magia». Eso es lo que me pasó por la cabeza la primera vez que ví éste vídeo sobre JuJu:

En 5 minutos y un puñado de comandos, JuJu permite ensamblar, desplegar y escalar un sistema MediaWiki de dos unidades, con la capa de persistencia en un cluster MySQL, dos instancias memcached para acelerar las peticiones y HAProxy como balanceador de carga. Y eso es sólo un ejemplo… Podríamos definir JuJu (antes conocido como Ensemble) como una mezcla entre gestor de paquetes para lanzar aplicaciones en la nube y un sistema de orquestación de servicios (una especie de domador con látigo que pone a cada servicio en su sitio y los junta/ensambla con otros animales/servicios 😉 Este software ha sido desarollado por Canonical bajo licencia AGPL y es un paso más en los movimientos de Canonical por situarse en el territorio cloud.

Para que JuJu funcione, hace uso de «encantamientos» o charms, que son simples recetas en un lenguaje de scripting que permiten instalar, configurar y enlazar servicios. Hay ya una bonita colección de charms disponibles, pero todavía quedan muchos por hacer. Usando estos charms, podemos lanzar un WordPress en la nube con MySQL como Base de Datos, con 4 comandos:

$ juju deploy –repository=. wordpress myblog
$ juju deploy –repository=. mysql mydb
$ juju add-relation mydb:db myblog
$ juju expose wordpress

Bonito, ¿eh? Pues ahora piensa que con el comando add-unit puedes lanzar otra unidad WordPress y comenzar el escalado horizontal a partir de comandos juju, como se muestra en el vídeo 🙂 ¿Magia?

Te recomiendo éste post en castellano con un ejemplo más elaborado del uso de JuJu, o si estás interesado, esta presentación en PDF para que revises el funcionamiento interno de esta tecnología.

Software Libre en la Universidad: 2011 (II)

Seguimos comentando algunas de las charlas de la SLUN 2011 que más me llaman la atención. Unai Gangoiti nos hablará sobre FOG, una herramienta de clonado de equipos bajo licencia libre GPL (no he encontrado la versión exacta). Hasta ahora en la UPV/EHU se usaba Rembo, pero al parecer daba problemas con las últimas versiones de ext3/ext4 y las capacidades de disco cada vez más altas. Cuando tienes que desplegar una solución para el clonado de miles de equipos empiezas a adquirir experiencia «de verdad», así que será un placer escuchar lo que Unai nos cuente.

Otra ponencia inusual es la que nos contará Alberto Alonso, bajo el título «Experiencia en el desarrollo de un proyecto libre (Multi Theft Auto)». No conocía el proyecto hasta hacer un par de días, pero cuando me lo contaron me sorprendió: se trata de una modificación del juego «Grand Theft Auto : San Andreas», escrita en C++ y con licencia GPL, que añade soporte multijugador a un juego que originalmente no lo tenía. La gracia del asunto es que la modificación se ha hecho a partir del binario del juego, es decir, sin el código fuente original. O dicho de otra forma, por ingeniería inversa. Esta técnica la había visto en el mundo de la seguridad informática (cracks, parches, análisis de cambios en patchs binarios, análisis forense en imágenes infectadas…), incluso para modificar una aplicación (es el caso de la agenda/PIM Ecco Pro, una aplicación de 1993! con miles de usuarios que siguen usándola gracias a hacks como éste), pero nunca para modificar un juego al nivel de MTA.

BigBlueButton y Moodle (II)

Así que quieres integrar BigBlueButton en Moodle. La gente de Blindside Networks ha desarrollado un módulo de BBB para Moodle (módulo de tipo activity) que permite planificar videoconferencias BBB a través de Moodle (2.0 y 2.1). Con más detalle, ésto es lo que permite:

  • crear mensajes de bienvenida que aparecen en la ventana de chat cuando los usuarios entran en la videoconferencia BBB
  • especificar fechas de apertura/cierre de sala de videoconferencia (fechas que aparecerán en el calendario Moodle)
  • lanzar BBB en su propia ventana
  • Grabación y playback de las clases que emitas por videoconferencia (esto requiere una versión >=BigBlueButton 0.8-beta )
  • Gestionar las clases grabadas (publicar & (des)publicar y borrar)

Hay un vídeo que explica paso a paso la instalación:

Pero es bien sencilla: se descomprime el .zip del módulo en /var/www/moodle/ y veremos que dentro de mod/ creará dos nuevas carpetas, bigbluebuttonbn y recordingsbn. Al entrar como administrador en Moodle, el plugin se activará y nos pedirá que configuremos dos variables: una apuntando a la dirección http del servidor con BBB. Otra donde nos pedirá que introduzcamos el valor SALT de nuestro server BBB. Ese valor (único para cada server BBB), se obtiene así:

(en el servidor BBB)

$ cat  /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep -i salt 
# Salt which is used by 3rd-party apps to authenticate api calls 
securitySalt=XXXXXXXXXXXXXXXXXXXXXXXXX

Una vez configuradas esas variables, ya podrás crear videoconferencias BBB desde Moodle y albergar las grabaciones de tus clases/tutorías (tal y como se ve en la imagen de la izquierda)

¡Ojo! Las grabaciones NO albergarán lo que ocurra con las webcam ni lo que veas al compartir escritorio entre usuarios (sólo graba, de serie, las «diapositivas» que vayas pasando en la pizarra, el chat y la voz de los participantes). «¿Y si quiero grabar también la webcam y la compartición de escritorio?» Ah… entonces tendrás que echar mano de Matterhorn e integrarlo con BBB, tal y como comentaré en el próximo post… ¿cómo? ¿que quieres empezar ya a salsear? ooook… puedes empezar por aquí. IMPORTANTE: cuando en las instrucciones de Matterhorn te pide que instales Apache Felix, no descargues la última estable (la 4.x) porque NO te funcionará. Instala la 3.2.2, que puedes encontrar en este mirror http://ftp.udc.es/apache-dist/felix/.

BigBlueButton (I)

En la home de BigBlueButton (BBB) resumen así el objetivo principal de la aplicación: «BBB permite a universidades e instituciones educativas ofrecer experiencias de aprendizaje de alta calidad a estudiantes remotos». Es en la última palabra donde reside el quid de la cuestión. Efectivamente, BBB permite plantear reuniones online a través del navegador, con soporte de compartición de webcam, micro, pizarra digital, escritorio y chat. La última versión 0.8 permite también grabar la sesión (con algunos «peros» que luego comentaré). BBB es software libre, con la parte cliente desarrollada en ActionScript (usando el framework open source Flex SDK) y en la parte servidor un numeroso conjunto de módulos, bibliotecas y servidores de código abierto: Red5, Asterisk o FreeSWITCH, ActiveMQ, Tomcat, OpenOffice.org, MySQL…

Ayer mismo BBB anunciaba que entraba a formar parte de MozillaFWD, el programa de la fundación Mozilla para la innovación abierta, que tiene como objetivo crear una comunidad de proyectos opensource innovadores para ayudar a extender la web. Bonita frase que viene a traducirse en infraestructura, soporte y publicidad a través de la fundación Mozilla (suena muy parecido a la fundación Apache)

Realmente veo una fuerte competencia entre dos grandes: OpenMeetings y BBB. Los más veteranos recordaréis que ya hablamos sobre OpenMeetings en DiarioLinux, ahora le toca el turno a BBB.

La instalación de BBB es un poco tiquismiquis en los requerimientos: necesita un Ubuntu 10.04 de 32 o 64 bits. ¿Se puede instalar en algo más moderno, digamos Ubuntu 11.04 o 11.10? Bueno, yo lo he intentado y me surgían tantas incompatibilidades (empezando por la versión de Ruby que pide) que desistí y lo instalé directametne en la 10.04. Ahí la instalación ha ido bien, siguiendo las instrucciones recto hasta el final 🙂 El servidor requiere 2 GB de memoria RAM y acceso root. Los 5G de espacio libre en disco tampoco son moco de pavo.

Ah! y el puerto 80 (sí, ese que usas en tu Apache local) tiene que estar disponible. ¿Por qué? Porque BBB usa en el backend el servidor proxy nginx. Éste enruta las peticiones del cliente a dos módulos: bbb-web (las peticiones HTTP) o bbb-aps (las peticiones RTMP). La arquitectura interna del servidor BBB está documentada y ahí puede verse todo el «sarao» que se monta 🙂 Más sobre esto en el siguiente post, pero puedes ir leyendo aquí una serie de 4 posts en inglés sobre los fundamentos de la arquitectura BBB.

En las pruebas para esta serie de artículos he usado una instancia Amazon EC2 con un Ubuntu 10.04 pelado y a partir de ahí he ido siguiendo las instrucciones de instalación sin problemas (salvo éste bien documentado). Realmente en 15 minutos puedes tener la máquina online y funcionando (a falta de pulir algunos detalles).

La calidad de la videoconferencia es buena, aunque el audio viene con algo de retardo en comparación a OpenMeetings. Por otro lado, el soporte de grabación en BBB es recientito (estamos en la 0.8 beta 3 y empezó en la 0.8!). Además, de serie sólo graba lo que hayas emitido por la pizarra compartida, tu voz y el chat de texto. Eso sí, emite a través de HTML5 (sin necesidad de plugin Flash), gracias a la biblioteca popcorn.js. Como digo, echo en falta la posibilidad de ver las webcam de los usuarios en la grabación, y también hecho en falta la posibilidad de descargar en formato .avi el vídeo (algo que OpenMeetings sí ofrece). ¡Ojo! BBB desde la versión 0.8 (septiembre 2011!) también puede grabar las webcams de los usuarios, incluso la ventana de compartición de escritorio remoto, siempre y cuando uses por detrás Matterhorn. También he instalado Matterhorn en otra máquina (más complejo de instalar que BBB) y comentaré mi experiencia en otro post, que éste está quedando largo.

BBB hace uso de OpenOffice.org y SWFTools para convertir cualquier documento .doc, .odt, .pdf o gráficos (.jpg, .png, .gif…) a formato Flash y compartirlos luego a través de la pizarra digital. Ideal para mostrar una presentación a un conjunto de alumnos. La presentación subida permite ser «garabateada» con distintos lápices de colores que ofrece la pizarra. Una cosa que he echado en falta (respecto a OpenMeetings) es la opción de mostrar vídeo dentro de la pizarra.

Dos cosas más antes de cerrar por hoy: BBB es multi-idioma (incluyendo el euskera 🙂 y tiene un plugin para ser integrado con Moodle. Mañana más, ahora toca dormir un rato 😉