PEAR's OpenDocument: Status and plans
| From: | Christian Weiske | Date: | Sun, 28 Jun 2009 06:28:49 +0000 |
| Subject: | PEAR's OpenDocument: Status and plans | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-52248@lists.php.net to get a copy of this message | ||
Hi all,
Just a quick mail to inform you what's going on with our OpenDocument
package.
In the last weeks I've been reading the ODF specification to understand
which capabilities are to be expected from a full-featured package.
I learned some interesting things, among others that there are two
OpenDocument serialization formats: the well-known zip-based
multiple-files-in-one-archive format, and one-single-big-xml-file.
Since having that single XML file would help debugging a great deal
(because one doesn't have to unzip before looking what's wrong), I
decided to begin with implementing a generic storage interface and plug
the zip and bigxml drivers into that.
So far the interface is defined and the zip storage driver is
implemented. I've yet to plug it into the actual document generation
code. My next step is writing the bigxml driver and finish their
integration.
Apart from that, I have fixed one bug regarding styles (which didn't
work at all for non-paragraph elements) and by finishing the storage,
another bug will be squashed.
Before releasing a new version - to show progress - the creation of
OpenDocument files will need to be brought to a new API, similar to the
one we discussed in [1]. Even if there is no actual second document
type yet, I am trying to make BC breaks as early as possible. Waiting
with that for the next version is - in my eyes - too long, and
frustrating for users that use our package after the coming new version.
I also found out about alternative PHP implementations:
- http://opendocumentfellowship.com/projects/odfphp
http://opendocumentphp.org/
This project seems to be dead since 18 months, but has a working
implementation for text documents. Personally, I don't like their
code structure, plus they don't have e.g. our storage abstraction :)
- http://sourceforge.net/projects/ods-php/
This one is a quick-and-dirty hack to generate spreadsheets. Dead as
well.
That's all. Currently there is no actively maintained package that
helps you generating OpenDocument files with PHP. That's what I try to
fix.
On IRC, I also brought up the question of the common use case. The
probably most common use case is generating a document in a serial
matter - add first heading, add following paragraph, add another
paragraph below that one, add next heading. Most people will never go
back and change something. This leads to the question if we really need
a DOM-based package, or if e.g. XMLWriter suffices - which would be a
huge boost for extremely large files > than RAM. I nevertheless will
continue the current DOM-based implementation, because it also offers
us read-support.
So long.
[1] [PEAR-DEV] OpenDocument status / support for multiple document types
http://marc.info/?l=pear-dev&m=124452536114633&w=2
--
Regards/Mit freundlichen Grüßen
Christian Weiske
-= Geeking around in the name of science since 1982 =-
Attachment: [application/pgp-signature] signature.asc
Attachment: [application/pgp-signature] signature.asc