aboutsummaryrefslogtreecommitdiffstats
path: root/src/documentation/xdocs/plan
diff options
context:
space:
mode:
authorGlen Stampoultzis <glens@apache.org>2003-05-01 23:35:19 +0000
committerGlen Stampoultzis <glens@apache.org>2003-05-01 23:35:19 +0000
commitc2da5fec8e10f6a4b104c4cf4d1b3f028c368e90 (patch)
tree67ea028176f4cb46f02e51c22c11594edfe87230 /src/documentation/xdocs/plan
parentd0da1d55127f744d0c6aa34662025f6f85f75a2a (diff)
downloadpoi-c2da5fec8e10f6a4b104c4cf4d1b3f028c368e90.tar.gz
poi-c2da5fec8e10f6a4b104c4cf4d1b3f028c368e90.zip
These should have been removed during the merge.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353075 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/documentation/xdocs/plan')
-rw-r--r--src/documentation/xdocs/plan/POI10Vision.xml509
-rw-r--r--src/documentation/xdocs/plan/POI20Vision.xml582
-rw-r--r--src/documentation/xdocs/plan/book.xml20
-rw-r--r--src/documentation/xdocs/plan/index.xml58
-rw-r--r--src/documentation/xdocs/plan/release.xml63
5 files changed, 0 insertions, 1232 deletions
diff --git a/src/documentation/xdocs/plan/POI10Vision.xml b/src/documentation/xdocs/plan/POI10Vision.xml
deleted file mode 100644
index b2b8c6c3e2..0000000000
--- a/src/documentation/xdocs/plan/POI10Vision.xml
+++ /dev/null
@@ -1,509 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
-
-<document>
- <header>
- <title>POI 1.0 Vision Document</title>
- <authors>
- <person name="Andrew C. Oliver" email="acoliver@apache.org"/>
- <person name="Marcus W. Johnson" email="mjohnson@apache.org"/>
- </authors>
- </header>
-
- <body>
-
- <section title="Preface">
- <p>
- (21-Jan-02) While this document is just full of useful project
- introductory information and I do suggest those interested in getting
- involved in the project read it, it is woefully out of date.
- </p>
- <p>
- We deliberately allowed this document to run out of date because it
- is a good reflection of what the original vision was for POI 1.0.
- You'll note that some of the terminology is not used in quite the same
- way any longer. I've made some minor corrections where reading this
- confused me. An example: in some places this document may refer to
- POI API instead of POIFS API. When this vision was written we had
- an incomplete understanding of the project.
- </p>
- <p>
- Lastly, the scope of the project expanded dramatically near the end
- of the 1.0 cycle. Our vision at the time was to focus merely on the
- Excel port (having no idea how the project would grow or be received)
- and provide the OLE 2 Compound Document port for others to port later
- formats. We now plan to spearhead these ports under the umbrella of
- the POI project. So, you've been warned. Read on, but just realize
- that we had a fuzzy view of things to come, and hindsight is 20-20.
- </p>
- <p>
- If I recall major holes were: a complete understanding of the format
- of OLE 2 Compound Document format, Excel file format, and exactly how
- Cocoon 2 Serializers worked. (that just about covers the whole range
- huh?)
- </p>
- </section>
-
- <section title="1. Introduction">
- <section title="1.1 Purpose of this document">
- <p>
- The purpose of this document is to
- collect, analyze and define high-level requirements, user needs and
- features of the HSSF Serializer for Cocoon 2 and related libraries.
- The HSSF Serializer is a java class supporting the Serializer
- interface from the Cocoon 2 project and outputting in a compatible
- format of that used by the spreadsheet program Microsoft Excel '97.
- The HSSF Serializer will be responsible for converting XML
- spreadsheet-like documents into Excel-compatible XLS spreadsheets.
- </p>
- </section>
-
-
- <section title="1.2 Project Overview">
- <p>
- Many web apps today hit a brick wall
- when it comes to the user request that they be able to easily
- manipulate their reports and data extracts in the popular Microsoft
- Excel spreadsheet format. This often causes inferior technologies to be
- chosen for the project simply because they easily support this
- format. This project seeks to extend existing XML, Java and Apache
- Cocoon 2 project technologies by:
- </p>
-
- <ul>
- <li>
- providing an extensible library
- (POIFS) which reads/writes in a compatable format to OLE 2 Compound
- Document Format (aka Structured Storage Format) for easy
- implementation of other document types;
- </li>
- <li>
- providing a library (HSSF) for
- manipulating spreadsheet data and outputting it in a compatible
- format to Microsoft Excel XLS format;
- </li>
- <li>
- and providing a Cocoon 2
- Serializer (HSSFSerializer) for serializing XML documents as
- Excel-compatible spreadsheets.
- </li>
- </ul>
-
- </section>
- </section>
- <section title="2. User Description">
- <section title="2.1 User/Market Demographics">
- <p>
- There are a number of enthusiastic
- users of XML, UNIX and Java technology. Secondly, the Microsoft
- solution for outputting Office Document formats often involves
- actually manipulating the software as an OLE Server. This method
- provides extremely low performance, extremely high overhead and is
- only capable of handling one document at a time.
- </p>
- <ol>
- <li>
- Our intended audience for the HSSF
- Serializer portion of this project are developers writing reports or
- data extracts in XML format.
- </li>
- <li>
- Our intended audience for the HSSF
- library portion of this project is ourselves as we are developing
- the Serializer and anyone who needs to write to Excel spreadsheets
- in a non-XML Java environment or who has specific needs not
- addressed by the Serializer.
- </li>
- <li>
- Our intended audience for the
- &quot;POIFS&quot; OLE 2 Compound Document format reader/writer is
- ourselves as we are writing the HSSF library and secondly, anyone
- wishing to provide other libraries for reading/writing OLE 2
- Compound Document Format in Java.
- </li>
- </ol>
- </section>
- <section title="2.2. User environment">
- <p>
- The users of this software shall be
- developers in a Java environment on any Operating System or power
- users who are capable of XML document generation/deployment.
- </p>
- </section>
- <section title="2.3. Key User Needs">
- <p>
- The OLE 2 Compound Document format is
- undocumented for all practical purposes and cryptic for all
- impractical purposes. Developer needs in this area include
- documentation and an easy to use library for reading and writing in
- this format without requiring the developer to have intimate
- knowledge of the format.
- </p>
- <p>
- There is currently no good way to write
- to Microsoft Excel documents from Java or from a non-Microsoft
- Windows based platform for that matter. Developers need an easy to
- use library that supports a reasonable feature set and allows
- seperation of data from formatting/stylistic concerns.
- </p>
- <p>
- There is currently no good way to
- transform XML data to Microsoft Excel. Apache's Cocoon 2 project
- supplies a complete framework for XML, but nothing for outputting in
- Excel's XLS format. Developers and power users alike need a simple
- method to output XML documents to Excel through server-side
- processing.
- </p>
-
-
- </section>
- <section title="2.4. Alternatives and Competition">
- <p>
- Originally there weren't any decent <link href="../hssf/alternatives.html">alternatives</link> for reading or writing
- to Excel. This has changed somewhat.
- </p>
- </section>
- </section>
- <section title="3. Project Overview">
- <section title="3.1. Project Perspective">
- <p>
- The produced code shall be licensed by
- the Apache License as used by the Cocoon 2 project and maintained on
- a project page until such time as the Cocoon 2 developers accept it
- as a donation (at which time the copyright will be turned over to
- them).
- </p>
- </section>
- <section title="3.2. Project Position Statement">
- <p>
- For developers on a Java and/or XML
- environment this project will provide all the tools necessary for
- outputting XML data in the Microsoft Excel format. This project seeks
- to make the use of Microsoft Windows based servers unnecessary for
- file format considerations and to fully document the OLE 2 Compound
- Document format. The project aims not only to provide the tools for
- serializing XML to Excel's file format and the tools for writing to
- that file format from Java, but also to provide the tools for later
- projects to convert other OLE 2 Compound Document formats to pure
- Java APIs.
- </p>
- </section>
- <section title="3.3. Summary of Capabilities">
- <p>
- HSSF Serializer for Apache Cocoon 2
- </p>
- <table>
- <tr>
- <td>
- Benefit
- </td>
- <td>
- Supporting Features
- </td>
- </tr>
- <tr>
- <td>
- Standard XML tag language for sheet data
- </td>
- <td>
- Serializer will transform documents utilizing a defined tag
- language
- </td>
- </tr>
- <tr>
- <td>
- Utilize XML to output in Excel
- </td>
- <td>
- Serializer will output in Excel
- </td>
- </tr>
- <tr>
- <td>
- Java API to output in Excel on any platform
- </td>
- <td>
- The project will develop an API that outputs in Excel using
- pure Java.
- </td>
- </tr>
- <tr>
- <td>
- Make it easy for developers to port other OLE 2 Compound
- Document-based formats to Java.
- </td>
- <td>
- The POIFS library will contain both a high-level abstraction
- along with low-level constructs. The project will fully document
- the OLE 2 Compound Document Format.
- </td>
- </tr>
- </table>
- </section>
- <section title="3.4. Assumptions and Dependencies">
- <ul>
- <li>
- The HSSF Serializer will run on
- any Java 2 supporting platform with Apache Cocoon 2 installed along
- with the HSSF and POIFS APIs.
- </li>
- <li>
- The HSSF API requires a Java 2
- implementation and the POI API.
- </li>
- <li>
- The POIFS API requires a Java 2
- implementation.
- </li>
- </ul>
- </section>
- </section>
- <section title="4. Project Features">
- <p>
- The POIFS API will include:
- </p>
- <ul>
- <li>
- Low level structures representing
- the structures in a POI filesystems.
- </li>
- <li>
- A low-level API for
- creating/manipulating POI filesystems.
- </li>
- <li>
- A set of high level interfaces
- abstracting the user from the POI filesystem constructs and
- representing it as a standard filesystem (Files, directories, etc)
- </li>
- </ul>
- <p>
- The HSSF API will include:
- </p>
- <ul>
- <li>
- Low level structures representing
- the structures in an Excel file.
- </li>
- <li>
- A low-level API for creating and
- manipulating Excel files and writing them into POI filesystems.
- </li>
- <li>
- A high level model and style
- interface for manipulating spreadsheet data without knowing anything
- about the Excel format itself.
- </li>
- </ul>
- <section title="4.1 POI Filesystem API">
- <p>
- The POI Filesystem API includes:
- </p>
- <ul>
- <li>An implementation of Big Blocks</li>
- <li>An implementation of Small Blocks</li>
- <li>An implementation of Header Blocks</li>
- <li>An implementation of Block Allocation Tables</li>
- <li>An implementation of Property Sets</li>
- <li>An implementation of the POI
- filesystem including functions to get and set the above constructs;
- compound functions for reading/writing files/directories.
- </li>
- <li>An abstraction of the POI
- filesystem providing interfaces representing Files, Directories,
- FileSystems in normal terminology and encapulating the above
- constructs.
- </li>
- <li>Full documentation of the POI file
- format.
- </li>
- <li>Full documentation of the APIs and
- interfaces provided through Javadoc, user documentation (aimed at
- developers using the APIs)
- </li>
- <li>Examples aimed at teaching the
- user to write code using POI. (titled: recipes for POI)
- </li>
- <li>Performance specifications.
- (Example POI filesystems rated by some measure of complexity along
- with system specifications and execution times for given operations)
- </li>
- </ul>
- </section>
- <section title="4.2 HSSF API">
- <p>
- The HSSF API includes:
- </p>
- <ul>
- <li>An implementation of Record
- (binary 2 byte type followed by 2 byte size (n) followed by n bytes)</li>
- <li>Implementations of many standard
- record types mapping the data bytes to fields along with methods to
- reserialize those fields</li>
- <li>An implementation of the HSSF File
- including functions to get/set the above constructs, create a blank
- file with the minimum required record types and mappings between
- getting/setting data and style in a workbook to the creation of
- record types, and read HSSF files.</li>
- <li>An abstraction of the HSSF file
- format providing interfaces representing the HSSF File, HSSF
- Workbook, HSSF Sheet, HSSF Column, HSSF Formulas in a manner
- seperating the data from the styling and encapsulating the above
- constructs.</li>
- <li>Full documentation of the HSSF
- file format (which will be a subset of the Excel '97 File format).
- This must be done with care for legal reasons.</li>
- <li>Full documentation of the APIs and
- interfaces provided through Javadoc, user documentation (aimed at
- developers using the apis).</li>
- <li>Examples aimed at teaching
- developers to use the APIs.
- </li>
- <li>Performance specifications.
- (Example files rated by some measure of complexity along with system
- specifications and execution times for given operations - possibly
- the same files used for POI's tests)</li>
- </ul>
- </section>
- <section title="4.3 HSSF Serializer">
- <p>
- The HSSF Serializer subproject:
- </p>
- <ul>
- <li>A class supporting the Cocoon 2
- Serializer Interface.</li>
- <li>An interface between the SAX
- events and the HSSF APIs.</li>
- <li>A specified tag language for using
- with the Serializer.</li>
- <li>Documentation on the tag language
- for the HSSF Serializer</li>
- <li>Normal javadocs.</li>
- <li>Example XML files</li>
- <li>Performance specifications.
- (Example XML docs and stylesheets rated by some measure of
- complexity along with system specifications and execution times)</li>
- </ul>
- </section>
- </section>
- <section title="5. Other Product Requirements">
- <section title="5.1. Applicable Standards">
- <p>
- All Java code will be 100% pure Java.
- </p>
- </section>
- <section title="5.2. System Requirements">
- <p>
- The minimum system requirements for POIFS are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- </ul>
- <p>
- The minimum system requirements for HSSF are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- <li>POIFS API</li>
- </ul>
- <p>
- The minimum system requirements for the HSSF Serializer are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- <li>Cocoon 2</li>
- <li>HSSF API</li>
- <li>POI API</li>
- </ul>
- </section>
- <section title="5.3. Performance Requirements">
- <p>
- All components must perform well enough
- to be practical for use in a webserver environment (especially
- Cocoon2/Tomcat/Apache combo)
- </p>
- </section>
- <section title="5.4. Environmental Requirements">
- <p>
- The software will run primarily in
- developer environments. We should make some allowances for
- not-highly-technical users to write XML documents for the HSSF
- Serializer. All other components will assume intermediate Java 2
- knowledge. No XML knowledge will be required except for using the
- HSSF Serializer. As much documentation as is practical shall be
- required for all components as XML is relatively new, and the
- concepts introduced for writing spreadsheets and to POI filesystems
- will be brand new to Java and many Java developers.
- </p>
- </section>
- </section>
- <section title="6. Documentation Requirements">
- <section title="6.1 POI Filesystem">
- <p>
- The filesystem as read and written by
- POI shall be fully documented and explained so that the average Java
- developer can understand it.
- </p>
- </section>
- <section title="6.2. POI API">
- <p>
- The POI API will be fully documented
- through Javadoc. A walkthrough of using the high level POI API shall
- be provided. No documentation outside of the Javadoc shall be
- provided for the low-level POI APIs.
- </p>
- </section>
- <section title="6.3. HSSF File Format">
- <p>
- The HSSF File Format as implemented by
- the HSSF API will be fully documented. No documentation will be
- provided for features that are not supported by HSSF API that are
- supported by the Excel 97 File Format. Care will be taken not to
- infringe on any &quot;legal stuff&quot;.
- </p>
- </section>
- <section title="6.4. HSSF API">
- <p>
- The HSSF API will be documented by
- javadoc. A walkthrough of using the high level HSSF API shall be
- provided. No documentation outside of the Javadoc shall be provided
- for the low level HSSF APIs.
- </p>
- </section>
-
- <section title="6.5. HSSF Serializer">
- <p>
- The HSSF Serializer will be documented
- by javadoc.
- </p>
- </section>
-
- <section title="6.6 HSSF Serializer Tag language">
- <p>
- The XML tag language along with
- function and usage shall be fully documented. Examples will be
- provided as well.
- </p>
- </section>
- </section>
- <section title="7. Terminology">
- <section title="7.1 Filesystem">
- <p>
- filesystem shall refer only to the POI formatted archive.
- </p>
- </section>
- <section title="7.2 File">
- <p>
- file shall refer to the embedded data stream within a
- POI filesystem. This will be the actual embedded document.
- </p>
- </section>
- </section>
-</body>
-</document>
diff --git a/src/documentation/xdocs/plan/POI20Vision.xml b/src/documentation/xdocs/plan/POI20Vision.xml
deleted file mode 100644
index 000fe8baa8..0000000000
--- a/src/documentation/xdocs/plan/POI20Vision.xml
+++ /dev/null
@@ -1,582 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
-
-<document>
- <header>
- <title>POI 2.0 Vision Document</title>
- <authors>
- <person name="Andrew C. Oliver" email="acoliver2@users.sourceforge.net"/>
- <person name="Marcus W. Johnson" email="mjohnson@apache.org"/>
- <person name="Glen Stampoultzis" email="gstamp@iprimus.com.au"/>
- <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
- </authors>
- </header>
-
- <body>
-
- <section title="Preface">
- <p>
- This is the POI 2.0 cycle vision document. Although the vision
- has not changed and this document is certainly not out of date and
- the vision has not changed, the structure of the project has
- changed a bit. We're not going to change the vision document to
- reflect this (however proper that may be) because it would only
- involve deletion. There is no purpose in providing less
- information provided we give clarification.
- </p>
- <p>
- This document was created before the POI components for
- <link href="http://xml.apache.org/cocoon">Apache Cocoon</link>
- were accepted into the Cocoon project itself. It was also
- written before POI was accepted into Jakarta. So while the
- vision hasn't changed some of the components are actually now
- part of other projects. We'll still be working on them on the
- same timeline roughly (minus the overhead of coordination with
- other groups), but they are no longer technically part of the
- POI project itself.
- </p>
- </section>
-
- <section title="1. Introduction">
- <section title="1.1 Purpose of this document">
- <p>
- The purpose of this document is to
- collect, analyze and define high-level requirements, user needs,
- and features of the second release of the POI project software.
- The POI project currently consists of the following components:
- the HSSF Serializer, the HSSF library and the POIFS library.
- </p>
- <ul>
- <li>
- The HSSF Serializer is a set of Java classes whose main
- class supports the Serializer interface from the Cocoon
- 2 project and outputs the serialized data in a format
- compatible with the spreadsheet program Microsoft Excel
- '97.
- </li>
- <li>
- The HSSF library is a set of classes for reading and
- writing Microsoft Excel 97 file format using pure Java.
- </li>
- <li>
- The POIFS library is a set of classes for reading and
- writing Microsoft's OLE 2 Compound Document format using
- pure Java.
- </li>
- </ul>
- <p>By the completion of this release cycle the POI project will also
- include the HSSF Generator and the HDF library.
- </p>
- <ul>
- <li>The HSSF Generator will be responsible for using HSSF to read
- in the XLS (Excel 97) file format and create SAX events. The HSSF
- Generator will support the applicable interfaces specified by the
- Apache Cocoon 2 project.
- </li>
- <li>The HDF library will provide a set of high level interfaces
- for reading and writing Microsoft Word 97 file format using pure
- Java.</li>
- </ul>
-
- </section>
-
-
- <section title="1.2 Project Overview">
- <p>
- The first release of the POI project
- was an astounding success. This release seeks to build on that
- success by:
- </p>
- <ul>
- <li>
- Refactoring POIFS into imput and
- output classes as well as an event-driven API for reading.
- </li>
- <li>
- Refactor HSSF for greater
- performance as well as an event-driven API for reading
- </li>
- <li>
- Extend HSSF by adding the ability to read and write formulas.
- </li>
- <li>
- Extend HSSF by adding the ability to read and write
- user-defined styles.
- </li>
- <li>
- Create a Cocoon 2 Generator for HSSF using the same tags
- as the HSSF Serializer.
- </li>
- <li>
- Create a new library (HDF) for reading and writing
- Microsoft Word DOC format.
- </li>
- <li>
- Refactor the HSSFSerializer into a separate extensible
- POIFSSerializer and HSSFSerializer
- </li>
- <li>
- Providing the create excel charts. (write only)
- </li>
- </ul>
- </section>
- </section>
- <section title="2. User Description">
- <section title="2.1 User/Market Demographics">
- <p>
- There are a number of enthusiastic
- users of XML, UNIX and Java technology. Furthermore, the Microsoft
- solution for outputting Office Document formats often involves
- actually manipulating the software as an OLE Server. This method
- provides extremely low performance, extremely high overhead and is
- only capable of handing one document at a time.
- </p>
- <ol>
- <li>
- Our intended audience for the HSSF
- Serializer portion of this project are developers writing reports or
- data extracts in XML format.
- </li>
- <li>
- Our intended audience for the HSSF
- library portion of this project is ourselves as we are developing
- the HSSF serializer and anyone who needs to read and write Excel
- spreadsheets in a non-XML Java environment, or who has specific
- needs not addressed by the Serializer
- </li>
- <li>
- Our intended audience for the
- POIFS library is ourselves as we are developing the HSSF and HDF
- libraries and anyone wishing to provide other libraries for
- reading/writing other file formats utilizing the OLE 2 Compound
- Document Format in Java.
- </li>
- <li>
- Our intended audience for the HSSF
- generator are developers who need to export Excel spreadsheets to
- XML in a non-proprietary environment.
- </li>
- <li>
- Our intended audience for the HDF
- library is ourselves, as we will be developing a HDF Serializer in a
- later release, and anyone wishing to add .DOC file processing and
- creation to their projects.
- </li>
- </ol>
- </section>
- <section title="2.2. User environment">
- <p>
- The users of this software shall be
- developers in a Java environment on any operating system, or power
- users who are capable of XML document generation/deployment.
- </p>
- </section>
- <section title="2.3. Key User Needs">
- <p>
- The HSSF library currently requires a
- full object representation to be created before reading values. This
- results in very high memory utilization. We need to reduce this
- substantially for reading. It would be preferable to do this for
- writing, but it may not be possible due to the constraints imposed by
- the file format itself. Memory utilization during read is our top
- user complaint.
- </p>
- <p>
- The POIFS library currently requires a
- full object representation to be created before reading values. This
- results in very high memory utilization. We need to reduce this
- substantially for reading.
- </p>
- <p>
- The HSSF library currently ignores
- formula cells and identifies them as &quot;UnknownRecord&quot; at the
- lower level of the API. We must provide a way to read and write
- formulas. This is now the top requested feature.
- </p>
- <p>
- The HSSF library currently does not support
- charts. This is a key requirement of some users who wish to use HSSF
- in a reporting engine.
- </p>
- <p>
- The HSSF Serializer currently does not
- provide serialization for cell styling. User's will want stylish
- spreadsheets to result from their XML.
- </p>
- <p>
- There is currently no way to generate
- the XML from an XLS that is consistent with the format used by the
- HSSF Serializer.
- </p>
- <p>
- There should be a way to read and write
- the DOC file format using pure Java.
- </p>
-
- </section>
- <section title="2.4. Alternatives and Competition">
- <p>
- Originally there weren't any decent <link href="../hssf/alternatives.html">alternatives</link> for reading or writing
- to Excel. This has changed somewhat.
- </p>
- </section>
- </section>
- <section title="3. Project Overview">
- <section title="3.1. Project Perspective">
- <p>
- The produced code shall be licensed by
- the Apache License as used by the Cocoon 2 project (APL 1.1) and
- maintained on at <link href="http://poi.sourceforge.net/">http://poi.sourceforge.net</link>
- and <link href="http://sourcefoge.net/projects/poi">http://sourcefoge.net/projects/poi</link>.
- It is our hope to at some point integrate with the various Apache
- projects (xml.apache.org and jakarta.apache.org), at which point we'd
- turn the copyright over to them.
- </p>
- </section>
- <section title="3.2. Project Position Statement">
- <p>
- For developers on a Java and/or XML
- environment this project will provide all the tools necessary for
- outputting XML data in the Microsoft Excel format. This project seeks
- to make the use of Microsoft Windows based servers unnecessary for
- file format considerations and to fully document the OLE 2 Compound
- Document format. The project aims not only to provide the tools for
- serializing XML to Excel and Word file formats and the tools for
- writing to those file formats from Java, but also to provide the
- tools for later projects to convert other OLE 2 Compound Document
- formats to pure Java APIs.
- </p>
- </section>
- <section title="3.3. Summary of Capabilities">
- <p>
- HSSF Serializer for Apache Cocoon 2
- </p>
- <table>
- <tr>
- <td>
- <b>Benefit</b>
- </td>
- <td>
- <b>Supporting Features</b>
- </td>
- </tr>
- <tr>
- <td>
- Ability to serialize styles from XML spreadsheets.
- </td>
- <td>
- HSSFSerialzier will support styles.
- </td>
- </tr>
- <tr>
- <td>
- Ability to read and write formulas in XLS files.
- </td>
- <td>
- HSSF will support reading/writing formulas.
- </td>
- </tr>
- <tr>
- <td>
- Ability to output in MS Word on any platform using Java.
- </td>
- <td>
- The project will develop an API that outputs in Word format
- using pure Java.
- </td>
- </tr>
- <tr>
- <td>
- Enhance performance for reading and writing XLS files.
- </td>
- <td>
- HSSF will undergo a number of performance enhancements. HSSF
- will include a new event-based API for reading XLS files. POIFS
- will support a new event-based API for reading OLE2 CDF files.
- </td>
- </tr>
- <tr>
- <td>
- Ability to generate XML from XLS files
- </td>
- <td>
- The project will develop an HSSF Generator.
- </td>
- </tr>
- <tr>
- <td>
- The ability to generate charts
- </td>
- <td>
- HSSF will provide low level support for chart records as well
- as high level API support for generating charts. The ability
- to read chart information will not initially be provided.
- </td>
- </tr>
-
- </table>
- </section>
- <section title="3.4. Assumptions and Dependencies">
- <ul>
- <li>
- The HSSF Serializer and Generator
- will support the Gnumeric 1.0 XML tag language.
- </li>
- <li>
- The HSSF Generator and HSSF
- Serializer will be mutually validating. It should be possible to
- have an XLS file created by the Serializer run through the Generator
- and the output back through the Serializer (via the Cocoon pipeline)
- and get the same file or a reasonable facimille (no one cares if it
- differs by the order of the binary records in some minor but
- non-visually recognizable manner).
- </li>
- <li>
- The HSSF Generator will run on any
- Java 2 supporting platform with Apache Cocoon 2 installed along with
- the HSSF and POIFS APIs.
- </li>
- <li>
- The HSSF Serializer will run on
- any Java 2 supporting platform with Apache Cocoon 2 installed along
- with the HSSF and POIFS APIs.
- </li>
- <li>
- The HDF API requires a Java 2
- implementation and the POIFS API.
- </li>
- <li>
- The HSSF API requires a Java 2
- implementation and the POIFS API.
- </li>
- <li>
- The POIFS API requires a Java 2
- implementation.
- </li>
-
- </ul>
- </section>
- </section>
- <section title="4. Project Features">
- <p>
- Enhancements to the POIFS API will
- include:
- </p>
- <ul>
- <li>
- An event driven API for reading
- POIFS Filesystems.
- </li>
- <li>
- A low-level API for
- creating/manipulating POI filesystems.
- </li>
- <li>
- Code improvements supporting
- greater separation between read and write structures.
- </li>
- </ul>
- <p>
- Enhancements to the HSSF API will
- include:
- </p>
- <ul>
- <li>
- An event driven API for reading
- XLS files.
- </li>
- <li>
- Performance improvements.
- </li>
- <li>
- Formula support (read/write)
- </li>
- <li>
- Support for user-defined data
- formats
- </li>
- <li>
- Better documentation of the file
- format and structure.
- </li>
- <li>
- An API for creation of charts.
- </li>
- </ul>
- <p>
- The HSSF Generator will include:
- </p>
- <ul>
- <li>
- A set of classes supporting the
- Cocoon 2 Generator interfaces providing a method for reading XLS
- files and outputting SAX events.
- </li>
- <li>
- The same tag format used by the
- HSSFSerializer in any given release.
- </li>
- </ul>
- <p>
- The HDF API will include:
- </p>
- <ul>
- <li>
- An event driven API for reading
- DOC files.
- </li>
- <li>
- A set of high and low level APIs
- for reading and writing DOC files.
- </li>
- <li>
- Documentation of the DOC file
- format or enhancements to existing documentation.
- </li>
- </ul>
- </section>
- <section title="5. Other Product Requirements">
- <section title="5.1. Applicable Standards">
- <p>
- All Java code will be 100% pure Java.
- </p>
- </section>
- <section title="5.2. System Requirements">
- <p>
- The minimum system requirements for the POIFS API are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- </ul>
- <p>
- The minimum system requirements for the the HSSF API are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- <li>POIFS API</li>
- </ul>
- <p>
- The minimum system requirements for the the HDF API are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- <li>POIFS API</li>
- </ul>
-
- <p>
- The minimum system requirements for the HSSF Serializer are:
- </p>
- <ul>
- <li>64 Mbytes memory</li>
- <li>Java 2 environment</li>
- <li>Pentium or better processor (or equivalent on other platforms)</li>
- <li>Cocoon 2</li>
- <li>HSSF API</li>
- <li>POI API</li>
- </ul>
- </section>
- <section title="5.3. Performance Requirements">
- <p>
- All components must perform well enough
- to be practical for use in a webserver environment (especially
- the "killer trio": Cocoon2/Tomcat/Apache combo)
- </p>
- </section>
- <section title="5.4. Environmental Requirements">
- <p>
- The software will run primarily in
- developer environments. We should make some allowances for
- not-highly-technical users to write XML documents for the HSSF
- Serializer. All other components will assume intermediate Java 2
- knowledge. No XML knowledge will be required except for using the
- HSSF Serializer. As much documentation as is practical shall be
- required for all components as XML is relatively new, and the
- concepts introduced for writing spreadsheets and to POI filesystems
- will be brand new to Java and many Java developers.
- </p>
- </section>
- </section>
- <section title="6. Documentation Requirements">
- <section title="6.1 POI Filesystem">
- <p>
- The filesystem as read and written by
- POI shall be fully documented and explained so that the average Java
- developer can understand it.
- </p>
- </section>
- <section title="6.2. POI API">
- <p>
- The POI API will be fully documented
- through Javadoc. A walkthrough of using the high level POI API shall
- be provided. No documentation outside of the Javadoc shall be
- provided for the low-level POI APIs.
- </p>
- </section>
- <section title="6.3. HSSF File Format">
- <p>
- The HSSF File Format as implemented by
- the HSSF API will be fully documented. No documentation will be
- provided for features that are not supported by HSSF API that are
- supported by the Excel 97 File Format. Care will be taken not to
- infringe on any &quot;legal stuff&quot;. Additionally, we are
- collaborating with the fine folks at OpenOffice.org on
- *free* documentation of the format.
- </p>
- </section>
- <section title="6.4. HSSF API">
- <p>
- The HSSF API will be documented by
- javadoc. A walkthrough of using the high level HSSF API shall be
- provided. No documentation outside of the Javadoc shall be provided
- for the low level HSSF APIs.
- </p>
- </section>
- <section title="6.5 HDF API">
- <p>
- The HDF API will be documented by
- javadoc. A walkthrough of using the high level HDF API shall be
- provided. No documentation outside of the Javadoc shall be provided
- for the low level HDF APIs.
- </p>
- </section>
- <section title="6.6 HSSF Serializer">
- <p>
- The HSSF Serializer will be documented
- by javadoc.
- </p>
- </section>
- <section title="6.7 HSSF Generator">
- <p>
- The HSSF Generator will be documented
- by javadoc.
- </p>
- </section>
- <section title="6.8 HSSF Serializer Tag language">
- <p>
- The XML tag language along with
- function and usage shall be fully documented. Examples will be
- provided as well.
- </p>
- </section>
- </section>
- <section title="7. Terminology">
- <section title="7.1 Filesystem">
- <p>
- filesystem shall refer only to the POI formatted archive.
- </p>
- </section>
- <section title="7.2 File">
- <p>
- file shall refer to the embedded data stream within a
- POI filesystem. This will be the actual embedded document.
- </p>
- </section>
- </section>
-</body>
-</document>
diff --git a/src/documentation/xdocs/plan/book.xml b/src/documentation/xdocs/plan/book.xml
deleted file mode 100644
index 12857f774f..0000000000
--- a/src/documentation/xdocs/plan/book.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "../dtd/book-cocoon-v10.dtd">
-
-<book software="Poi Project"
- title="Poi Project planning"
- copyright="@year@ Poi Project">
-
- <menu label="Navigation">
- <menu-item label="Main" href="../index.html"/>
- </menu>
-
- <menu label="Planning Documents">
- <menu-item label="1.0 Vision" href="POI10Vision.html"/>
- <menu-item label="2.0 Vision" href="POI20Vision.html"/>
- </menu>
-
-
-</book>
-
-
diff --git a/src/documentation/xdocs/plan/index.xml b/src/documentation/xdocs/plan/index.xml
deleted file mode 100644
index 74e44e3ada..0000000000
--- a/src/documentation/xdocs/plan/index.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
-
-<document>
- <header>
- <title>Planning Documentation</title>
- <subtitle>Overview</subtitle>
- <authors>
- <person name="David Crossley" email="crossley@apache.org"/>
- <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
- </authors>
- </header>
-
- <body>
- <section title="Overview">
-
- <p>This is a collection of notes to assist with long-term planning and
- development.
- </p>
-
- <p>There is much discussion of issues and research topics (RT) threads on
- the <code>dev</code> mailing list (and elsewhere). However, details
- get lost in the sheer volume. This is the place to document the summary of
- discussions on some key topics. Some new and complex capabilities will take
- lots of design and specification before they can be implemented.
- </p>
-
- <p>Another use for this collection of notes is as a place to quickly store
- a snippet from an email discussion or even a link to a discussion thread.
- The concepts can then be fleshed-out over time.
- </p>
-
- <p>Anyone can participate in this process. Please get involved in discussion
- on <code>dev</code> and contribute patches for these summary planning
- documents via the normal <link href="../contrib.html">contribution</link>
- process.
- </p>
-
- <p>These planning documents are intended to be concise notes only. They are
- also ever-evolving, because as issues are addressed these notes will be
- revised.
- </p>
- </section>
-
- <section title="Topics and Issues">
-
- <ul>
- <li><link href="release.html">Release Plan</link>
- - major things to do before the 2.0 release</li>
- <li><link href="doc.html">Documentation</link>
- - revisions and additions are required</li>
- <li>See the general <link href="../todo.html">To Do</link> list
- and the <code>dev</code> email archives for other issues</li>
- </ul>
- </section>
-
- </body>
-</document>
diff --git a/src/documentation/xdocs/plan/release.xml b/src/documentation/xdocs/plan/release.xml
deleted file mode 100644
index 0c660e0859..0000000000
--- a/src/documentation/xdocs/plan/release.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
-
-<document>
- <header>
- <title>Release Plan 2.0</title>
- <subtitle>Planning Documentation</subtitle>
- <authors>
- <person name="David Crossley" email="crossley@apache.org"/>
- <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
- </authors>
- </header>
-
- <body>
- <section title="Preparation for release of Poi">
- <p>Todo</p>
-<!-- NKB todo
- <p>The 2.0 final release is scheduled for the end of November 2001.
- </p>
-
- <p>
- The following is extracted from the thread
- [C2]: Release Candidate 2 ... 2001-10-29
- </p>
-
-<source><![CDATA[
-> The question is now, what has to be done until then?
->
-> 1) We have many open bugs in bugzilla. These must be reviewed
-> and then solved (or declared invalid etc).
->
-> 2) Documentation updates (this area lacks most)
-> We could move this to the final release.
-Documentation must be happening all the time, and not left
-until last.
-
-> 3) Decide what to backport from the 2.1 head.
-> I'm +1 on removing the CodeFactories completly in 2.0, too.
-> This would avoid any backcompatibility problems.
->
-> 4) Layout the distribution
-> This is a point we haven't discussed yet. Currently our
-> distribution is a mixture of a source and a binary one.
-> We deliver the source and a compiled version, but in order
-> to run Cocoon, the user has to build a war file.
-> I propose to split this: one source distribution which is
-> similar to the current one but without the precompiled
-> cocoon jar and a binary distribution containing only the
-> war file. This war file should work in most servlet engines,
-> perhaps not in all.
->
-> So anything missing here?
-
-5) Ensure that licensing requirements have been met.
- update jars.xml, ensure proper banner in *.java header,
- verify the current LICENSE* files, ensure that external
- components have suitable licensing requirements.
-]]></source>
--->
- </section>
-
- </body>
-</document>