[Printing-architecture] Automatic printer setup with Printer Applications

Michael Sweet msweet at msweet.org
Thu Feb 25 13:53:54 UTC 2021


Johannes,

> On Feb 25, 2021, at 5:30 AM, Johannes Meixner <jsmeix at suse.de> wrote:
> ...
> What I do not understand is how a Printer Application
> detects and communicates with its associated
> actual printer device

So in PAPPL I've essentially created the CUPS backend interface (renamed to "device") so that a Printer Application can discover USB and network (AppSocket) printers out-of-the-box, with hooks to support other protocols/technologies as needed.

> For example printers that have both a USB interface
> and a network interface with several network protocols
> like TCP socket, LPD, (dumb) IPP (no IPP Everywhere).
> 
> How does a Printer Application implement
> detection and communication with such devices?
> 
> Does each and every Printer Application implement
> it for each and every combination of methods?

PAPPL provides a common implementation for Printer Applications, and for network printing it only supports AppSocket due to IPP and LPD variability in older printers (i.e. AppSocket is the most reliable choice for old printers because the vendors couldn't screw it up...)

> Or in other words:
> In traditional CUPS device detection and communication
> was separated from the "driver" functionality by having
> separated CUPS backends for different access methods
> that are also separated from the other CUPS filters.
> How is that done with Printer Applications?

Printer Applications are "vertically integrated" 🤪

Basically, the goal is for a Printer Application to be a self-contained piece of software that doesn't depend on CUPS backends or filters.  Rather, since those things will eventually be going away it needs to expose a platform-agnostic interface (IPP Everywhere).

Whether an OS provides further isolation (Printer Application X can only access USB printer Y) is beyond the scope of what I've done for PAPPL, although if a method were provided to get explicit consent from the user per device I could add support for it.

________________________
Michael Sweet



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 874 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.linuxfoundation.org/pipermail/printing-architecture/attachments/20210225/1ae9ab27/attachment.sig>


More information about the Printing-architecture mailing list