[Printing-architecture] First beta of the second generation of the Common Print Dialog Backends released!

Till Kamppeter <[email protected]> Tue, 13 Dec 2022 23:31:28 -0300
Newsgroups dev.linux.lists.printing-architecture
Message-ID <[email protected]>
Hi,

We are now releasing the first beta of the second generation of the 
Common Print Dialog Backends (CPDB).

As part of making everything ready for the New Architecture of printing 
we have finally added CPDB support to the print dialogs of the major 
desktop environments/GUI toolkits, GNOME/GTK and KDE/Qt. This was done 
in Gaurav Guleria's GSoC project and in the course of his work on the 
print dialogs he also did a lot of improvements on the CPDB framework, 
mainly due to missing features but also to work well in a PPD-less world.

The components we are currently maintaining got all updated and released 
as version 2.0b1:

- **cpdb-libs:** The central library package implementing both ends of 
the D-Bus interface (backend = server, frontend = client) and the APIs 
for frontends and backends.
- **cpdb-backend-cups:** The CUPS backend. It allows the print dialogs 
(frontends) to print with CUPS. It polls the list of available printers 
(queues) from CUPS and also the option/setting list for a selected 
printer, and it passes on jobs with option settings to CUPS. It uses the 
current APIs of libcups for that and does not interact with PPD files at 
all, so that porting the backend to CUPS 3.x will be easy.
- **cpdb-backend-file:** This backend allows the print dialogs to print 
into a file. As most print dialogs have already their own functionality 
for that, this backend will probably not be needed in production. We 
have it at least for sake of completeness, but it is also useful as code 
example for backend developers.

We especially added support for human-readable (user interface) strings 
for option and setting names, better support for media sizes, especially 
also supporting more than one margin variant for the same page size. 
asynchronous functions to query printer details, cpdb-libs completely 
inependent of libcups, ... and many bug fixes.

Here we go:

https://openprinting.github.io/Common-Print-Dialog-Backends-Second-Generation-First-Beta-Release/

There are also GitHub discussions set up for each release now.

    Till