El día 16 de diciembre de 2010 12:26, Alberto Curro
<[email protected]> escribió:
> Hola a todos,
>
>   Antes de todo, disculpad por el tocho, pero creo que esto puede ser de
> interés...
>
>   Allá por el 2005 tenía una pequeña consultora freelance con un compañero,
> y por necesidades de algunos clientes decidimos diseñar una herramienta de
> generación e impresión de informes. Fue nuestro primer desarrollo en este
> lenguaje (de hecho aprendimos python con ella :)), para python 2.3, creo
> recordar, y dadas esas circunstancias, como comprendereis, la calidad y
> limpieza del código ni su diseño no eran ninguna maravilla :)
>
>   La estuve manteniendo, depurando cosillas y mejoras hasta aproximadamente
> principios del 2007, que se abandonó porque estos clientes implementaron
> otro software que ya traía su propio gestor de informes; por simple tema de
> falta de tiempo, y pese a que la solución tenía muchísimas posibilidades, la
> abandoné y ha quedado almacenada en mi SVN todo este tiempo, hasta hace un
> par de semanas que, haciendo limpieza de mis servidores personales, me
> encontré el código, y como creo que tiene muchas posibilidades con un poco
> de trabajo en ella, he hablado con mi antiguo compañero para publicarlo como
> GPL, con él como coautor, claro, y no ha puesto mayor problema al respecto.
>
>   Me surgen entonces las siguientes dudas:
>
>   - Licencia: ¿qué problemas pueden surgir? Estoy desconectado desde hace un
> tiempo del mundillo del software libre, y ya no me acuerdo si alguno de los
> módulos usados (4Suite, Reportlab) podría afectar en la publicación de la
> solución en GPL.
>   - Tecnología: ¿hay soluciones mejores, o más eficientes, para el
> procesamiento de los XML, XSLT, o mejores que reportlab?
>   - Repositorio: ¿qué forja debería usar para publicarlo?
>
>   A nivel técnico, el programa habría que revisarlo, dándole posibilidades
> en cuanto a parámetros de entrada, posibles salidas, una buena
> refactorización y puesta al día del código (os recuerdo que fue nuestro
> primer software python, aprendimos python con él...) etc., dado que ahora
> mismo lo que hace es un proceso de 1 única vía: coge xml -> transforma XSL
> -> genera RML -> convierte con reportlab -> almacena / imprime.
>
>
>   La solución en sí es muy sencilla: coge un fichero XML con datos, lo
> procesa mediante XSLT, genera un documento RML y lo procesa con Reportlab
> para generar el PDF final (y enviarlo a impresora o guardarlo). Aparte de
> reportlab, se usaba 4Suite para el procesado de XML, el motor XSLT y, por
> supuesto, Reportlab.
>
>   Sin embargo, a nivel características era muy potente gracias a Reportlab:
> se podían generar auténticas "virguerías" a nivel de informes, con la
> complejidad que se requiriese; sólo deciros que fuimos capaces de conseguir
> generar, punto por punto, línea por línea, imagen por imagen, todos los
> tipos de informes usados por 3 empresas de distintos tamaños (hablamos de
> facturas, informes internos, albaranes, etiquetado para logística, etc.)
> eliminando el uso de los formularios pre-impresos que venían usando, sin que
> se notase el cambio.
>
>   Eso sí, el mayor problema (y donde se consumía el tiempo) era en la parte
> del diseño de las plantillas XSL y RML, que no habíamos escrito un software
> de diseño de las plantillas, y se hacía a mano :)  Por otro lado, no era una
> maravilla en velocidad: un informe normal tardaba alrededor de 1-1.5
> segundos en estar en pantalla, un informe muy largo (más de 20 páginas) o
> muy complejo... pues imaginaos. La parte más lenta era la de transformación
> XML/XSLT (incluido el parseo y validación del XML); después de esto iba
> bastante bien, aunque reportlab en aquel momento no eran tampoco la panacea
> en velocidad.
>
>    Bueno, creo que ya me he explayado bastante por ahora, para lo que eran
> unas simples preguntas; cualquier recomendación, consejo, interés en el
> proyecto, o preguntas, aquí me tenéis. No os cortéis :)
>
>   Saludos
>
>
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
Opinión personal, poes dejarlo bajo lisencias mas permisivas si no
conoces bien las dependencias, y optar por mit o apache o bsd por
ejemplo. Otro punto, pensaría de portarla a python3.
Podrías colgarlo en google code, y bueno, a la gente puede interesarle
y acabar haciendo un producto interesante, El rendimiento de la
aplicación es capaz sea algún problema de diseño mas lo que tardara
reportlab, etc...

Un saludo.


-- 
http://twitter.com/andsux
http://www.niwi.be
****
http://www.freebsd.org/
http://www.postgresql.org/
http://www.python.org/
http://www.djangoproject.com/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a