Skip to content

cups-filters 1.24.0

Compare
Choose a tag to compare
@tillkamppeter tillkamppeter released this 03 Jun 21:04
· 1030 commits to master since this release

Integration of Deepak Patankar's Google Summer of Code 2018 project with the main goal of clustering different printers with cups-browsed and automatically selecting the destination printers by job content and option/attribute settings. To achieve this, several other features got added to cups-browsed, especially support for mixed clusters of remote CUPS queues and native IPP printers and not downloading PPDs from remote CUPS servers any more. All changes of this release are done by Deepak as parts of his project.

  • cups-browsed, implicitclass: Support for mixed clusters of remote CUPS queues and IPP network printers. For this PPD files of remote CUPS queues are generated by cups-browsed based on IPP queries, as for native IPP printers, the number of jobs for load balancing is polled in a way that it works also with native IPP printers, the implicitclass backend sends jobs directky to the printer instead of re-queueing them via CUPS.
  • cups-browsed: Merge IPP attributes of several printers to combined attributes for the cluster to generate the cluster's PPD file, including PPD constraints for option combinations not fulfillable by any of the member printers, and finding reasonable, non-conflicting default settings,
  • cups-browsed: Selection algorithm for the destination printer for a job sent to the cluster. Based on the job settings requested such as page size, media type, print quality, ... the best most suitable printer in the cluster for the job will be selected.
  • cups-browsed, implicitclass: Filter jobs to clusters already locally. Due to the fact that a cluster's member printers are not exclusively non-raw CUPS queues with the complete filtering framework on the remote server, but also native IPP printers, we need to support generic driverless printers as destination. So we cannot pass on the input data unfiltered but need to filter locally. We let the cluster's PPD file emulate a PDF printer, letting the local CUPS queue of the cluster run pdftopdf and any pre-filters to turn the input into PDF and we let the implicitclass backend turn PDF into a format understood by the destination printer, supporting the 4 formats of driverless IPP printing: PDF, PWG Raster, Apple Raster, PCLm.