Dar a luz una nueva sección en La web de Física siempre es como un parto, pesado y doloroso. Y en este caso no hay la posibilidad de tomar la epidural. Después, sólo queda esperar que sea una sección de provecho, que se gane la vida honradamente y le interese a los visitantes. ¿Crecerá con salud? ¿Será famosa, o pasará por este mundo inadvertida?

La sección recién venida al mundo ha sido la tercera evolución de la Colección de problemas. Si, tercera... y esperemos que definitiva. De hecho, la primera versión vino al mundo con la propia web, hace ya más de cinco años. Es, por tanto, una de las secciones más vetustas de la página.

La primera versión, como toda la web por aquellos años, era bastante artesanal. Consistía en un archivo LaTeX donde se definía un entorno llamado [FONT=Courier New]ejercicio[/FONT]. Como parámetros del entorno se tenía que poner el enunciado, el nivel y el autor de la solución. Dentro del entorno, iba el procedimiento. Así, pues, un problema básico tenía este aspecto:

Código:
\begin{ejercicio}{Secundaria}{pod}{Calcula $2+2$.}
Utilizando la propiedad distributiva de la suma, 

$$2+2 = 2 ( 1 + 1) = 2\cdot 2\ ,$$

y recordando la tabla de multiplicación, 
$2\cdot 2 = 4$, y por lo tanto $2+2=4$.
\end{ejercicio}
Este archivo se convertía a html utilizando el antiguo programa LaTeX2HTML. El entorno utilizaba ciertas características del LaTeX2HTML para insertar código PHP en la página, de forma que las soluciones quedaban ocultas hasta que el usuario hacía click para verlas. De esta forma, por una parte se reducía la longitud de la página haciendo más fácil de leer; y se intenta estimular al usuario a hacer el problema por si sólo antes de ver la solución.

Este procedimiento tenía sus ventajas. Por un lado, podía utilizar todas las capacidades de LaTeX; y además podía compilar el archivo en formato postscript (o pdf) para permitir la descarga del archivo. En un tiempo cuando no había tarifa plana, eso estaba bien. Pero las desventajas eran numerosas; había que mantener un archivo LaTeX diferente para cada sección, y las ediciones se tenían que hacer a mano. Es decir, los colaboradores que querían participar, tenían que mandarme a mi el contenido, y yo debía ponerlo en el formato adecuado para la sección.

Además, al crear el archivo de hipertexto con un conversor automático, se hacía más difícil introducir el estilo de la web. De hecho, hacía que la flexibilidad de la web fuera mucho menor; cada documento compilado venía con una hoja de estilo propia, en vez de estar centralizada como el resto de la web. Eso fue un grave inconveniente cuando se tuvo que mejorar el formato.

Pero lo que propició la muerte de este formato fue otra cosa. Como suele pasar con los sistemas informáticos, una suerte de corrupción en el disco duro hizo que se perdieran los archivos originales. Quedaba, únicamente, la versión compilada.

A partir de aquel momento, intenté buscar una forma más adecuada de hacer la sección (y, de paso, el resto de secciones basadas en archivos compilados de LaTeX). La verdad es que LaTeX2HTML es una herramienta muy antigua, que dejó de ser soportada en 2001. Hay aplicaciones más nuevas, pero sufrían de la misma falta de flexibilidad.

La solución fue utilizar el mismo método que se utiliza en el foro para incluir fórmulas en LaTeX, es decir, un compilador intermedio que crea cada ecuación en formato de imagen. Así, pues, la segunda evolución de la colección de problemas consistía en escribir directamente el problema en el archivo PHP, procesandolo después para convertir las ecuaciones en imagenes. Para hacerlo, creé una librería de objetos encargada de todo el proceso; enumerar los problemas, procesar las ecuaciones, numerarlas y permitir referencias cruzadas. Editar este archivo PHP era mucho más sencillo y directo, este era el aspecto de un problema simple:

[php]
<?php
// Enunciado
$col->pstart("problema001", "bachiller");
?>

¿Cuántos lados tiene un cuadrado?

<?php
// Solución
$col->psol('pod');
?>

Cuatro, si es regular.

<?php
// Final del problema
$col->pend();
?>
[/php]Este sistema era mucho más flexible, y utilizaba (por fin) el estilo integrado del resto de la web. Además, incorporaba tecnología AJAX para cargar la solución de cada problema (como antes, inicialmente oculta). Esto quiere decir que para cargar la solución no era necesario recargar toda la página, sino que el navegador hace la petición en "segundo plano", e incorpora los nuevos contenidos al vuelo, sin tener que recargar toda la página.

Sin embargo, aún había las desventajas de siempre: debía mantenerse un archivo manual para cada categoría de problemas. Es decir, los usuarios tenían que dármelos a mi y yo tenía que adaptar el formato. Era una adaptación mucho más sencilla que antes (por que los colaboradores ya estaban acostumbrados a escribir en el formato LaTeX del foro), pero aún así tediosa y nunca llegó a tener mucho éxito.

Hasta ahora, los dos formatos han convivido; los problemas en el formato antiguo nunca fueron convertidos (salvo honrosas excepciones). Bueno, por lo menos no se perdió ningún problema

Pero hoy ya es todo diferente. Tenemos un nuevo sistema, automático y completo. Hemos dado a luz a la colección de problemas de tercera generación. Los usuarios que forman parte del foro de colaboradores pueden acceder a él directamente e introducir los problemas directamente a la página mediante un editor creado ex proceso para los problemas.

El embarazo ha sido largo y complicado. El día 9 de setiembre comuniqué en el foro de colaboradores que empezaba la reforma, era el momento de la concepción. Hoy, casi un mes más tarde, salimos del paritorio con el bebé en brazos, y un montón de esperanzas sobre su futuro. Vale, un mes no son nueve... pero 27 días de escribir código y más código en hasta 5 lenguajes diferentes (php, xhtml, css, javascript y xml) también genera una curiosa cantidad de antojos.

Ahora los problemas no están organizados en páginas separadas y estáticas. No, ahora están organizados según una estructura jerárquica de categorías y subcategorías. Las soluciones siguen mostrándose mediante AJAX, sin recargar la página completa.

Ahora, todo depende del interés que despierte en los colaboradores de la web. Cualquiera con una cuenta en el foro y que pertenezca al grupo de colaboradores puede ingresar en el sistema del editor de problemas, y contribuir.

Recordad que cualquiera interesado en colaborar en la confección de nuevos contenidos para La web de Física, tanto en problemas como en el resto de secciones, sólo tiene que entrar en su cuenta del foro, ir a su Panel de control, Pertenencia a grupos, y allí enviar la solicitud para unirte al grupo de colaboradores. ¡La web de Física está hecha por sus propios usuarios! Además, si eres colaborador tu nombre podrá aparecer en azul claro en el foro