PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352872 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew C. Oliver 2002-10-01 19:34:37 +00:00
parent e71edc28a8
commit caf139e559
1 changed files with 108 additions and 91 deletions

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "./dtd/document-v11.dtd">
<document>
<header>
<title>Project History</title>
<title>Historia del Proyecto</title>
<authors>
<person id="AO" name="Andrew C. Oliver" email="acoliver@apache.org"/>
</authors>
@ -12,114 +12,131 @@
<body>
<section title="Brief Project History">
<section title="Breve Historia del Proyecto">
<p>The POI project was dreamed up back around April 2001, when
Andy Oliver landed a short term contract to do Java-based
reporting to Excel. He'd done this project a few times before
and knew right where to look for the tools he needed.
Ironically, the API he used to use had skyrocketed from around
$300 ($US) to around $10K ($US). He figured it would take two
people around six months to write an Excel port so he
recommended the client fork out the $10K.
<p>
El proyecto POI se gestó tiempo atrás, cerca de abril de 2001,
cuando Andy Oliver obtuvo un contrato de corta duración para realizar
informes Excel basados en Java. Ya había realizado este proyecto unas
cuantas veces antes, y sabía exactamente dónde buscar las herramientas
que necesitaría.
Irónicamente, el API que solía utilizar se había disparado en precio
desde unos $300 ($US) hasta unos $10K ($US). Calculó que a dos personas
les llevaría unos seis meses el portar Excel así que le recomendó al
cliente que pagase los $10K.
</p>
<p>Around June 2001, Andy started thinking how great it would
be to have an open source Java tool to do this and, while he
had some spare time, he started on the project and learned
about OLE 2 Compound Document Format. After hitting some real
stumpers he realized he'd need help. He posted a message to
his local Java User's Group (JUG) and asked if anyone else
would be interested. He lucked out and the most talented Java
programmer he'd ever met, Marc Johnson, joined the project. He
ran rings around Andy at porting OLE 2 CDF and rewrote his
skeletal code into a more sophisticated library. It took Marc
a few iterations to get something they were happy with.
<p>
Cerca de junio de 2001, Andy empezó a pensar lo genial que sería
tener una herramienta Java de código abierto para hacer esto y,
mientras tuvo algo de tiempo libre, comenzó el proyecto y aprendió
cosas sobre el Formato de Documento Compuesto OLE2. Tras chocarse
con varios obstáculos insalvables, se dio cuenta de que necesitaría ayuda.
Publicó un mensaje en su Grupo de Usuarios Java local (JUG) y
preguntó si alguien estaba interesado. Tuvo mucha suerte y el
programador Java de mayor talento que había conocido nunca,
Marc Johnson, se unió al proyecto. A Marc le llevó unas pocas
iteraciones el obtener algo con lo que estaban contentos.
</p>
<p>While Marc worked on that, Andy ported XLS to Java, based
on Marc's library. Several users wrote in asking to read XLS
(not just write as had originally been planned) and one user
had special requests for a different use for POIFS. Before
long, the project scope had tripled. POI 1.0 was released a
month later than planned, but with far more features. Marc
quickly wrote the serializer framework and HSSF Serializer in
record time and Andy banged out more documentation and worked
on making people aware of the project
<p>
Mientras Marc trabajaba en eso, Andy portó XLS a Java, basándose
en la biblioteca de Marc. Varios usuarios escribieron peticiones
para poder leer XLS (no sólo escribirlo como había sido planeado
originalmente) y un usuario tenía peticiones especiales para
un uso diferente de POIFS. Antes de que pasara mucho tiempo,
el alcance del proyecto se había triplicado. POI 1.0 se distribuyó
un mes más tarde de lo planeado, pero con muchas más características.
Marc escribió rápidamente el marco del serializador y el
Serializador HSSF en tiempo récord y Andy generó más documentación
y trabajó en hacer que la gente conociera este proyecto.
</p>
<p> Shortly before the release, POI was fortunate to come into
contact with Nicola -Ken- Barrozzi who gave them samples for
the HSSF Serializer and help uncover its unfortunate bugs
(which were promptly fixed). More recently, Ken ported most
of the POI project documentation to XML from Andy's crappy
HTML docs he wrote with Star Office.
<p>
Poco antes de la distribución, POI tuvo la fortuna de entrar
en contacto con Nicola -Ken- Barrozzi quien proporcionó ejemplos
para el Serializador HSSF y ayudó a descrubir sus desafortunados
fallos (que fueron arreglados de inmediato). Recientemente, Ken
portó la mayoría de la documentación del proyecto POI a XML
partiendo de los documentos HTML cutres que Andy había escrito
con Star Office.
</p>
<p> Around the same time as the release, Glen Stampoultzis
joined the project. Glen was ticked off at Andy's flippant attitude
towards adding graphing to HSSF. Glen got so ticked off he decided to
grab a hammer and do it himself. Glen has already become an integral
part of the POI development community; his contributions to HSSF have
already started making waves.
<p>
Más o menos al mismo tiempo de la primera distribución, Glen Stampoultzis
se unió al proyecto. A Glen le molestaba la actitud impertinente de Andy
en lo que añadir capacidades gráficas a HSSF se refería. Glen se molestó
tanto que decidió coger un martillo y hacerlo él mismo. Glen ya se ha
convertido en parte integral de la comunidad de desarrollo de POI; sus
contribuciones a HSSF ya han comenzado a producir olas.
</p>
<p>Somewhere in there we decided to finally submit the project
to <link href="http://xml.apache.org/cocoon">The Apache
Cocoon Project</link>, only to discover the project had
outgrown fitting nicely into just Cocoon long ago.
Furthermore, Andy started eyeing other projects he'd like to
see POI functionality added to. So it was decided to donate
the Serializers and Generators to Cocoon, other POI
integration components to other projects, and the POI APIs
would become part of Jakarta. It was a bumpy road but it
looks like everything turned out since you're reading this!
<p>
En algún momento decidimos finalmente remitir el proyecto a
<link href="http://xml.apache.org/cocoon">El Proyecto Cocoon
de Apache</link>, sólo para descubrir que el proyecto había
crecido encajando perfectamente con Cocoon hacía tiempo.
Lo que es más, Andy comenzó a ojear otros proyectos a los que
le gustaría que se añadiera la funcionalidad de POI. Así que
se decidió donar los Serializadores y Generadores a Cocoon, otros
componentes de integración con POI a otros proyectos, y los APIs
de POI pasarían a formar parte de Jakarta. Fue un camino con
baches, ¡pero parece que todo salió bien puesto que ahora estás
leyendo esto!
</p>
</section>
<section title="What's next for POI">
<p>First we'll tackle this from a project standpoint: Well, we
made an offer to Microsoft and Actuate (tongue in cheek
... well mostly) that we'd quit the project and retire if
they'd simply write us each a really large check. I've yet to
get a phone call or email so I'm assuming they're not going to
pay us to go away.
<section title="¿Hacia dónde va POI?">
<p>
Primero abordaremos esto desde el punto de vista del proyecto:
Bueno, les hicimos la oferta a Microsoft y Actuate (de coña
... en su mayor parte) de que dejaríamos el proyecto y nos
retiraríamos si simplemente nos firmaban a cada uno un cheque
con muchos ceros. Todavía estoy esperando una llamada o correo
electrónico, así que de momento asumo que no nos van a pagar
para quitarnos de en medio.
</p>
<p>Next, we've got some work to do here at Jakarta to finish
integrating POI into the community. Furthermore, we're
still transitioning the Serializer to Cocoon.
<p>
Después, tenemos algo de trabajo que hacer aquí en Jakarta
para terminar de integrar POI en la comunidad. Lo que es más,
todavía estamos realizando la transición del Serializador a
Cocoon.
</p>
<p>HSSF, during the 2.0 cycle, will undergo a few
optimizations. We'll also be adding new features like a full
implementation of Formulas and custom text formats. We're
hoping to be able to generate smaller files by adding
write-support for RK, MulRK and MulBlank records. I'm also
going to work on a Cocoon 2 Generator. Currently, reading is
not very efficient in HSSF. This is mainly because in order to
write or modify, one needs to be able to update upstream
pointers to downstream data. To do this you have to have
everything between in memory. A Generator would allow SAX
events to be processed instead. (This will be based on the low
level structures). One of the great things about this is that,
you'll not only have a more efficient way to read the file,
you'll have a great way to use spreadsheets as XML data
sources.
<p>
HSSF, durante el ciclo 2.0, sufrirá varias optimizaciones.
También añadiremos nuevas características como una implementación
completa de Fórmulas y formatos de texto personalizados. Esperamos
ser capaces de generar ficheros más pequeños añadiendo soporte de
escritura para registros RK, MulRK y MulBlank. A día de hoy, la
lectura en HSSF no es muy eficiente. Esto se debe sobre todo a que
para escribir o modificar, uno necesita ser capaz de actualizar
punteros del flujo de subida (upstream pointers) a datos del flujo
de bajada. Para hacer esto hay que tener todo lo que haya en
medio en memoria. En vez de eso, un Generador permitiría que se
procesaran eventos SAX. (Esto se basará en las estructuras de
bajo nivel). Una de las mejores cosas sobre esto es que así no sólo
tendremos una manera más eficiente de leer el fichero, también
tendremos una magnífica forma de utilizar hojas de cálculo como
fuentes de datos XML.
</p>
<p>The HSSF Serializer, will further separate into a general
framework for creating serializers for other formats and the
HSSF Serializer specific implementation. (This is largely
already true). We'll also be adding support for features
already supported by HSSF (styles, fonts, text formats). We're
hoping to add support for formulas during this cycle.
<p>
El Serializador HSSF, se separará más aún en un marco genérico
para la creación de serializadores para otras plataformas y
en la implementación específica del serializador HSSF. (Esto ya
es cierto en gran medida). También añadiremos soporte para
características ya soportadas por HSSF (estilos, fuentes, formatos
de texto). Esperamos añadir soporte para fórmulas durante este ciclo.
</p>
<p>
Estamos empezando a expandir nuestro alcance de nuevo. Si pudimos
hacer todo esto para ficheros XLS, ¿qué hay de ficheros Doc o PPT?
Pensamos que nuestro siguiente componente (HDF - Formato de
Documento Horrible) debería seguir el mismo patrón. Esperamos
que se nos una sangre nueva al equipo y que nos permita abordar
esto con mayor celeridad (en parte porque POIFS ya está terminado).
¡Pero a lo mejor lo que más necesitamos es a ti!
</p>
<p>We're beginning to expand our scope yet again. If we could
do all of this for XLS files, what about Doc files or PPT
files? We're thinking that our next component (HDF - Horrible
Document Format) should follow the same pattern. We're hoping
that new blood will join the team and allow us to tackle this
even faster (in part because POIFS is already finished). But
maybe what we need most is you! </p>
</section>
</body>