Reviewing Microsoft Office Documents
(This blog entry is part of a series of entries describing some of the new features in Code Collaborator v6.0. The series content is listed in this entry.)
We've had a feature for quite a while now in our code review tool that allows you to review a PDF file. When I show this feature to a prospective customer, a question frequently comes up: "That's cool, but what about Microsoft Office files? We don't always want to convert to PDF."
A key feature of Code Collaborator v6.0 is support for Microsoft Office files! As Jason described a while back, implementing this functionality is not trivial. The essential problem is that, unlike PDF, there is no cross-platform library available that will render a Microsoft Office file. Since many of our customers run their Code Collaborator server on a Linux or Unix box, that becomes a real problem.
So Eric wrote a Windows printer driver. After you do the regular install of the Code Collaborator v6.0 client, you'll be able to download and install a separate .msi file.
From within a Microsoft Office application, choose Print and then for the printer, select Print to Review:
After you click OK, a dialog will display:
Type in the name that you want Code Collaborator to use for this document (unfortunately, Windows does not pass that information to a printer driver :-/ ). Then you have to make a choice: either enter a title in order to have Code Collaborator create a new review, or type in the review number of an existing review to have Code Collaborator add the document to that review.
Head on over to your web browser and you'll see an entry in the Review Materials section for your document. Clicking the link will display it in the standard diff window:
You'll notice that the text looks a bit "block-y." That's because printer drivers render for printers, instead of for a video display (where you would get different anti-aliasing, etc.). We might be able to adjust the driver a bit to make things better - stay tuned for future developments on that front.
You might be wondering: But how does the printer driver know which Code Collaborator server to upload to? As mentioned above, you have to have the regular Code Collaborator client installed for this to work - the install program for the client prompts you for the name of the server, your user name, and your password. The printer driver is dependent on the Code Collaborator command line utility that is included as part of the Code Collaborator client.
Meanwhile, you may have noticed that there is nothing here specific to Microsoft Office. After all, it's a Windows printer driver, so it can be used as the target of printer output from any Windows application. Which means that the output of any Windows application can now be added to a review in Code Collaborator. :-)