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:
parent
4eeb4c9eeb
commit
3aef0ad773
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user