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/
