RDIViewer source released

I've just released my first open source application RDIViewer. Well actually I made the code available online under the GPLv2, the first build will follow. It's not web based and doesn't do anything cool. It's there to help me get my work done without going mad. It's an application to view RDI spool files from SAP systems.

I work in the SAP world and most of the work I've been doing is output management in the utilities sector here in Germany. Since the volume of documents printed is pretty high in this sector, one of my customers prints approximately 1.6 million documents a year, most companies don't use the traditional SAP technology SAPScript and ODF, they use RDI. RDI is used to spool only the raw data of a SAPScript form ignoring all layout information to an external OMS (output management system). It's the OMS job to turn the data into printable documents, manage the spooling of the print jobs to the printers and usually to archive them. RDI basically, this is a simplification, contains a list of key value pairs, logically grouped by SAPScript text includes and text elements.

During development I frequently have to analyse a spool file, checking wether the data exported correctly and in the right order. I also need the keys in the output designer application and a few other bits and pieces. Every once in while I need to open a big spool file containing hundreds of document and which can be a few hundred MB in size, at which point most editors die a horrible death and/or the workstation as well since all memory has been eaten up.

To scratch this itch I created RDIViewer.

When opening a RDI spool file it'll scan it and build a list of documents contained in the file and display those documents. This doesn't take up much memory even if the spool file contains thousands of documents. When you select a document, a tree of the document structure is displayed and you can view the raw contents. It's also possible to switch a single document from preview to print mode and enqueue individual documents by copying them to a specified directory.

RDIViewer is written in Python (2.5) using wxPython (2.8) to create the GUI. I have run it under Mac OS X and Windows XP, it should also run fine on Vista, although I haven't tested that since I don't own Vista. As a plus. No installation is necessary just create a directory somewhere, unzip, finished. This let's me use it in almost all situations. Even with a totally restricted workstation.

« Book Meme footnote sorting in python »