Adding support for the Common Print Dialog Backends (CPDB)

Till Kamppeter till.kamppeter at gmail.com
Tue Mar 26 17:26:15 UTC 2024


On 26/03/2024 15:22, Michael Weghorn wrote:
> 
> Do I understand correctly that the idea is that the new CPDB-based approach 
> would remain optional (for now at least), i.e. replace the previous CPDB 
> implementation and co-exist with the existing code directly using CUPS/PPD API, 
> rather than making it mandatory to use the new approach unconditionally once 
> it's implemented?
>

This is no problem to keep it optional, so that the packager/admin/user can 
choose, at least at build time, perhaps even at run time.

But note that PPD files and classic CUPS drivers are deprecated. CUPS 3.x, 
getting completeky released near the end of this year will not support PPD files 
and addable driver filters any more, but exclusively support driverless IPP 
printers. For legacy (non-driverless) we have introduced the concept of Printer 
Applications, software emulations of driverless IPP printers.

This requires changes on the print dialog:

- List IPP print destinations, independent whether there is a CUPS queue for 
them or not (if not, CUPS would create a temporary queue)
- Obtain printer capabilities and options via IPP, do not try to download the 
PPD file via CUPS or even try to directly access it in the file system.

This can be principally obtained by using the current CUPS APIs (the "Dest" 
ones, already available in libcups2 for several years). Also all PPD-related 
APIs will go away in libcups3.

The CPDB backend for CUPS is already completely updated to the new CUPS 3.x 
realm and can actually be built with libcups3. This means with a CPDB-supporting 
print dialog we can smoothly transition from CUPS 2.x to CUPS 3.x without loss 
of functionality and without loss of access to any of the available print 
destinations.

Also the CPDB backend for CUPS is maintained by OpenPrinting, the maintainer of 
CUPS and is updated along with any future change on CUPS. So CPDB-supporting 
print dialogs will keep working in case of such a change, so the maintainers of 
the print dialogs do not have to keep pace with that.

So the CPDB option for the LibreOffice dialog will work with CUPS 3.x and future 
versions, the CUPS/PPD option requires updating by the maintainers of the 
LibreOffice dialog.

> I'm generally willing to support/mentor this project from the LibreOffice side.
>

Michael, Thanks for stepping up.

So I am inviting you as GSoC mentor officially. To get access to all resources I 
do an invitation to the GSoC dashboard. Please watch out for an e-mail from 
Google and follow the instructions in it. If you do not feel comfortable to use 
these facilities, please tell me and I will do the official part.

    Till




More information about the LibreOffice mailing list