Chapter 7. Converting PIM data with Perl

Limitations of XSL. XSL can only do so much. Converting to file formats of a similar structure and layout is relatively simple and problem-free. Converting to file formats or objects that require multiple calculations or associating data within objects of different types is less reliable. An example is the invoice XSL: It works OK for simple invoices (one client per day, one expense, one mileage claim per invoice) but fails with more complex invoices.

Modules. Data Freedom perl scripts use these Perl modules which might not be installed on your system:

These modules are dependencies of datafreedom-perl.

Currently, the perl scripts are not as complete as the XSL but work is progressing. Feel free to contribute any improvements via the QOF-devel mailing list.

http://lists.sourceforge.net/lists/listinfo/qof-devel

datafreedom-perl includes a variety of scripts to summarise or report on various types of supported data, including mileage claims (via gpe-expenses or pilot-qof) and invoices (pilot-qof). These scripts developed from the 'pilot-qof' package but now include support for other packages and formats and will continue to be extended along the lines of http://www.data-freedom.org/ - liberating user data from the application. Therefore, the datafreedom scripts use a 'df' prefix.

The scripts continue to be developed within the pilot-qof CVS until such time as the scripts are sufficiently cohesive to form a new source package. The scripts are part of the datafreedom-perl package in Debian/Ubuntu and are installed in your main system path. Please refer to the manpage for each script for full information.

Example scripts in /usr/share/doc/. To reduce dependencies, some scripts are provided as examples and are not installed to privileged system folders within your PATH.

Subsequent scripts are planned to include methods to convert standard PIM formats into QSF XML for further processing.