Monday, October 23, 2006

Open XML

Erwin, it does not necessarily have to be a big problem for OpenOffice.org or other FOSS wordprocessing/spreadsheet/presentation software to support the Open XML document format. I do not say, it will be trivial (over 4000 pages of specifications is quite a long reading for sure), but the fact that M'soft is dumping into the format their internal data representation means that one would not start from scratch implementing it. The binary MS Office formats -- that FOSS applications support quite well -- are also in a big extent the dump of the Office's internal data representation and it is quite unlikely that M'soft is undertaking any significant rewriting of the MS Office's internals.

So, IMHO, the solution is to fight successfully the temptation that people have to speak without thinking about XSLT when they hear about XML to XML conversion, to look beyond the container at the content and realize that the code in the WW8 filters might be to a big extent reusable for supporting the Open XML .docx file-format at least.

Monday, October 09, 2006

Cleaning up my mess

When I was a child, my mother would really try to teach me to clean up my mess before I leave a place. Not saying that she managed to train me to do it always, but I try to do the things right and, surprisingly, sometimes I even manage. So, here are the things that I really did not want to leave unfinished:

WordPerfect Graphics Import filter

That is the Google Summer of Code project that I mentored. Our contract with Ariya was that he does the hard part of implementing the library that actually reads the WPG files and converts them and that I will get all the glory by wrapping it into an import filter for OpenOffice.org.

The glory was quite costly though. Quite a hacking during the OOoCon2006 in Lyon to extract from the command-line wpg2odg the converter itself and make it produce SAX messages instead of directly writing an XML in odg format.

For those that followed my presentation in Lyon, and thus they know that there was still a little hick in the filter at that time, this is the explanation: If you have an XML based filter in OOo that produces SAX messages in OpenDocument format, the service that should receive the messages should be com.sun.star.comp.<Application>.XMLOasisImporter, where Application can be Writer, Draw,... If you try to push those messages into com.sun.star.comp.<Application>.XMLImporter, designed to receive SAX messages in OpenOffice.org 1.x file-format, it will not shout loudly, but the resulting document will be empty. I know, I should have been aware of it, but as a TrainedMonkeyTM, I am designed to have some error rate in my functioning :-)

For those that want to try it, you can fetch modules libwpg and wpg2odg from the libwpg CVS repository. Build the libwpg and install it, then configure your OpenOffice.org SDK and build the package inside the SDK shell using the Makefile.ooo-external. Your WPGImportFilter.uno.zip package will be found in LINUX.out/bin directory (yeah, I tested it on GNU/Linux, but it should be trivial to make it work on win32 and/or Solaris too). You can just install it using the Package manager and here you go with a WPG Import and a proper type-detection as a bonus.

Inspired by kendy's post about the svg import filter that he writes, I think that eventually rewriting the importer to use the UNO Drawing API would be not a bad idea. So if someone has some idle cycles and wants to change the horse that is winning, feel free to do it :-)

libwpd 0.8.7

A big thanks to William that was so nice and did the legwork for the 0.8.7 release of libwpd. He named the release "Big Apple". Thank God, we did not release it on 10/9 and not on 9/11. Given the latent paranoia everywhere, we might have a problem and my wife could eventually discover what is on my hard-disk :-)

The big feature is that now libwpd supports all existing WordPerfect file-formats. To a certain extent, naturally. The set of converted features is bigger for those file-formats where we own the underlying implementations. Because writing file-filter only using the documentation is harder that writing it not having the docs, but having the implementation. See the difference in feature-set between the WordPerfect 4.x file-format (we do not have WP 4.2, but we have the documentation) and the WordPerfect for Mac 1.x file-format (we do not have the documentation, but we have a working copy of the application).

Writely

Last week I had a quick glance at Writely, the Google web-based text editor, that allows collaborative editing. As a filter writer and libwpd developer, I am a bit puzzled that the document upload allows only .doc, .sxw and .odt files. Given that there is a nice library for reading WordPerfectTM documents and that this library is licensed under LGPL, it should not be really difficult to add .wpd files to supported documents. If you are interested, guys, I know someone who would be able to do it :-)

Wednesday, October 04, 2006

Frustrations

It is some months today that I am desperately looking for a job that would allow me to feed my family and provide for them a more or less decent life. The task can make one feel frustrated until the point of asking oneself about one's own value and about the value of FOSS involvement.

One of the frustrating things is that some of the most hip companies in the market, after they screen you on the phone and/or after they make you come some hundreds of kilometres during your holiday for an interview, and after even promising you that you will have their news in some days, keep silence for sometimes as long as one year. Yes, it might be that your servant is not good at all and that the interview/telephone screen showed it clearly. The point is that the courtesy of saying: "Sorry, we chose other candidate" or "Sorry, you profile is not corresponding to our needs" would be at least a feed-back.

The impression is that my FOSS involvement is welcome and appreciated when it is a free work given (I do not say I did not do it gladly and that it did not bring me joy at certain point of time), but as soon as I put a price-tag on my competences, it stops being so interesting for many. Quite frustrating discovery

OK, just trying to ventilate some of my frustrations. Sorry for eating up of your reading time.