incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Burch <>
Subject Microsoft BFF finally available publically! (fwd)
Date Mon, 18 Jul 2011 22:20:58 GMT
Hi All

I'm not sure if you'll all have heard of the Microsoft BFF Validator 
before, but in case not... It's a rather nifty tool from the interop team 
at Microsoft who write all the file format documentation. The BFF (Binary 
File Format) Validator exists to help people writing the binary office 
formats (.doc, .xls and .ppt) check that the files their software produces 
follows the spec.

We've had a play with it already for Apache POI, and we're hoping to make 
use of it some more, especially with some of those trickier bugs with the 
binary formats... As you guys work with .xls, .doc and .ppt too, I figured 
it could well be relevant to you too. See my email below if you're 
interested in why we think it's handy for Apache POI, and how to grab a 
copy if you think it might help you too!


---------- Forwarded message ----------
Date: Mon, 18 Jul 2011 20:48:50 +0100 (BST)
Subject: Microsoft BFF finally available publically!

Hi All

Those of you at ApacheCon last year will have seen me demo the then closed-beta 
BFF tool from Microsoft. It's taken a bit longer than planned to get it to GA, 
but the good news is that everyone can now get a copy!

For those of you who weren't at ApacheCon, and who are wondering what this tool 
is and why you should care, I'll explain!

The BFF Validator, Binary File Format Validator, is a tool that the Microsoft 
Office Interoperability Team has been working on for about a year now. The idea 
of the tool is to help people developing third party implementations (eg POI, 
OpenOffice or xlwt) of the binary file formats (.xls, .ppt and .doc)  to check 
that they're correctly implementing the specs. You can run the BFF Validator 
against a file, and it'll tell you if anything in it isn't correct according to 
the spec (in as far as it has checks for things). In most cases, it'll also try 
to point you at the bit of the spec that explains what's wrong.

It should be pointed out that not all files that pass the validator are correct 
(it may not check everything), and not all files that fail are incorrect (it's 
a very very strict check, and many applications including Office are more lax), 
but it's a good start! It may even fail on checking, in which case let the 
guys'n'gals in Redmond know so they can improve the tool for the next release 

For POI in the short term, it could be very handy for bug reports where the 
user isn't able to share the file. Instead they'll be able to run the BFF 
validator and ensure their source file is actually correct (handy if POI's 
barfing on reading), and then report back what's wrong on output. With any 
luck, we'll be able to turn those pesky "my POI generated file gives an error 
in excel, but I can't share the file" bug reports into "on page 257 you're 
supposed to set the options flag to 5 if you have over 32 children, but POI is 
incorrectly setting 3 in all cases". Well, we can dream..!

Longer term, it'd be great to run the BFF validator against all of our test 
output files and fix up any issues reported, but that's a much longer term 


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message