Google
 

lunes, 25 de junio de 2007

CMS??? atornillar con un martillo y desatornillar con ????

Ayer por la noche estaba añadiendo a la web de la EPS el claustro de profesores en varias listas: una lista completa de entradas y otras tantas por departamentos, ordenando cada lista alfabéticamente.

¿Por qué no hacer una aplicación dinámica? Es evidente, tampoco estamos contratando y dando de baja profesores o cambiándoles de departamento cada minuto. Ahora bien, ¿de dónde sacar los listados y cómo tratarlos? Supongo que depende del departamento de sistemas (si es que lo tienes...). A mi me dieron un bonito fichero de Excel recuperado desde el gestor MS SQL. Ahí, empezó mi odisea...

En primer lugar, un poco de tratamiento en excel para conseguir un fichero de exto separado por comas. Después, eché mano de mis conocimientos de expresiones regulares para cambiar cada línea a una expresión HTML que el CMS (Adobe GoLive) pudiera interpretar y se presentase en el navegador de acuerdo a la estructura y reglas asignadas en la/s hoja/s de estilo CSS.

Vamos, que con un poco de ayuda pasamos de esto:

Juan Ignacio;Sanz;Fuentes;Ingeniería del Software y del Conocimiento;Lenguajes y Sistemas Informáticos;2.3.2;913726438;4963;jsanz.eps@ceu.es


gracias a la selección de (expresión regular complicada después de observar que las Marías se acortan a Mª, los apellidos ilustres compuestos a veces se separan con guiones, ojo con los correos electrónicos, etc, etc):

^([\w\s\d\.\@\-\,\ª]*);([\w\s\d\.\@\-\,\ª]*);
([\w\s\d\.\@\-\,\ª]*);([\w\s\d\.\@\-\,\ª]*);
([\w\s\d\.\@\-\,\ª]*);([\w\s\d\.\@\-\,\ª]*);
([\w\s\d\.\@\-\,\ª]*);([\w\s\d\.\@\-\,\ª]*);
([\w\s\d\.\@\-\,\ª]*)$


y conversión a:

<span class="title">\1 \2 \3</span><span class="date">\4 - \5</span><span class="excerpt">Despacho \6. Teléfono \7 (ext. \8). Enviar correo electrónico a <a href="mailto:\9">\9</a></span>


se verá en el navegador (CSS mediante ...) como:



Ahora sólo necesito una aplicación que automatice esas tareas para cada departamento a partir del fichero en excel y las introduzca directamente en la página asignada a cada uno. Será cuestión de ir planteando lo de hacer un CMS propio para la EPS... bienvenido el talento!

1 comentario:

Juan Ignacio Sanz Fuentes dijo...

Se observa un corta y pega estupendo del selector del bloque en la expresión regular... como para perder el tiempo contando el campo en el que está el nombre, el mail, etc.

Además, no dan premios por hacer la expresión regular más corta, ¿y funciona, no?