Links for 05/04/2009

PHPPowerPoint 0.1.0 was released last week, as an open-source PHP API for generating PPTX files, much like the PHPExcel API for XLSX files.  Maarten Balliauw has a blog post with more information, download links, and sample code.

A new post at covers the Simple OOXML Library, a set of classes that sit on top of the Open XML SDK to help developers create word-processing documents and spreadsheets quickly with minimal programming required.  The abstractions of this library make it possible to be immediately productive with Open XML even if you haven’t studied the details of the spec yet.

Eric White has a guest post by Bob McClellan on how to use extension methods with Open XML SDK classes to manage changes to documents.  The technique Bob outlines – which is used in  the Open XML Power Tools – includes cached XDocument objects that are added to parts as annotations, and semaphores to track where changes have been made.  The end result is a great example of how “a very small amount of carefully designed code can create very powerful functionality.”

Jesper Lund Stocholm’s post last week on Extending OOXML presents some good advice for implementers about how to manage extensions that are created via MCE (Markup Compatibility and Extensibility, defined in Part 3 of IS29500), as well as some thoughts on the future evolution of IS29500.  It’s a good example of the types of debates we have in WG4, and not coincidentally a couple of other WG4 members have participated in the comment thread.

Version 3.0 of the ODF translator add-in project was released last week, just four months after Version 2.5.  This release is focused on ODF 1.1 conformance and interoperability with Office 2007 SP2.  The ODF translator team blog has all the details.

Alex Brown’s Notes on Document Conformance and Portability #1 covers how Open Office, Google Docs, and Office 2007 SP2 handle a mixture of left-to-right and right-to-left text.  All three applications handle his example correctly, and as he says “Where we have a solid spec and observable behaviour we can compare the two and make a judgement.”  Noting the #1 in the post title, I’m guessing we’ll see more of these sorts of tests from Alex.

If you’ve ever played around with Ruby, you know that it’s the coolest programming language to come along in years.  (#LanguageTrollBait)  I came across a post that Tomas Varsavsky wrote a month ago on how to generate DOCX files from a template that includes Ruby source code, using a technique that includes actual Ruby source code within fields.  Very cool.

Last week’s blog post on SP2’s ODF implementation is already my most-viewed post of 2009, so there is clearly much interest in this topic.  Oliver Bell has a good summary of that announcement and what it means going forward.

On a related note, I see that Rob Weir posted today regarding some ODF spreadsheet interoperability testing he’s been doing.  He raises a few interesting points, including some topics that could use further explanation and clarification, so I’m planning to respond in some detail in my next blog post later this week.  Stay tuned.