[Printing-architecture] Some suggestions for the DNS-SD (Bonjour) printer support in the dialog
msweet at apple.com
Thu Jun 13 11:39:03 UTC 2013
On 2013-06-13, at 6:11 AM, Till Kamppeter <till.kamppeter at gmail.com> wrote:
> During the discussion I asked this:
> On 05/18/2013 08:29 AM, Michael Sweet wrote:
>>> If I create a raw CUPS queue, can I send a job to it with special IPP
>>> attributes so that CUPS applies a filter chain? This way I could make
>>> cups-browsed only create raw queues to avoit IPP polling and the dialog
>>> then could poll the printer's capabilities when the User selects the
>>> printer, create the option panel PPD-less and send the job with IPP
>>> attributes for the options and for making CUPS applying filters to get
>>> the output into the format needed by the printer.
> Is this possible with CUPS?
The issue here is that the other end will need to support the file formats and options you are passing. If you supply a local PPD then cupsd will convert into a format that the other end can handle.
I have some thoughts about how we can support transient queues in cupsd, e.g. send a print request to the local cupsd with the printer-uri of the remote IPP printer, which then causes the creation of a temporary queue and subsequent query of the remote printer's capabilities, etc. This might be exposed as a persistent "transient" printer ("ipp://localhost/printers/_transient"?) with the client supplying the output-device and output-device-uri in the print request (output-device is already part of IPP, output-device-uri would be an extension) which would automatically "add" the corresponding output device.
I might also bring back "discovered" queues in cupsd, just implemented differently so that we don't wake the printer up until somebody asks for the specific attributes or PPD for a given queue. That would have the nice side-benefit of existing cupsGetDests clients getting the Bonjour queues as well as offering integrated IPP Everywhere support.
Michael Sweet, Senior Printing System Engineer, PWG Chair
More information about the Printing-architecture