Context

OnData contacted Triveos in needed of a way to integrate their printing management and billing system (called PrintSystem) to CUPS.
PrintSystem exposes a SOAP webservice that requires print job information (number of pages, username, etc), while returning whether the job is to be allowed or not.
The Solution
Initially, the Tea4CUPS backend was used, having our module as a Te4CUPS preprocessing hook, allowing all document data to be processed before being sent to the printer. However, this was not enough to meet project requirements. Hence, the solution was changed to behave as a CUPS filter as well.
The entire solution was developed in Python.
Customization
After the main project finished, OnData contacted us again to customize the solution for one of their customers. This involved adding business rules and integrating with Novell eDirectoryTM authentication.