attachment

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">All,<div class=""><br class=""></div><div class="">As I've been going through the ippserver code, I've noticed that we apparently have two attributes that do (approximately) the same thing.  "job-pages-per-set" and "pages-per-subset" both allow the Client to tell the Printer how many (input) pages are bundled together in a set for finishing operations.  "job-pages-per-set" is scoped more narrowly for formats that don't support copy generation, while "pages-per-subset" allows a single Job to contain arbitrary groupings of pages.  AFAIK only "job-pages-per-set" has any implementations in the wild and CUPS only supports it over pages-per-subset...</div><div class=""><br class=""></div><div class="">Given the limited use case for both attributes, I would like to propose we deprecate the "pages-per-subset" attribute.</div><div class=""><br class=""></div><div class="">Thoughts?</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">PWG 5100.1-2017 (IPP Finishings 2.1) defines the "job-pages-per-set" attribute:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">5.3 job-pages-per-set (integer(1:MAX))</div><div class=""><br class=""></div><div class="">The RECOMMENDED "job-pages-per-set" Job Template attribute specifies the number of input pages that constitute a set for finishing processes. It is used when the Client generates the copies in the Document content because the Printer does not support the "copies" attribute [RFC8011] for the given Document format. If the Client includes the "job-pages-per-set" Job Template attribute in a Job Creation request:</div><div class=""><br class=""></div><div class="">• The Client SHOULD NOT include the "copies" Job Template attribute, or if included MUST use the value 1; and</div><div class=""><br class=""></div><div class="">• The Printer MUST ignore the value of the "copies-default" Printer Description attribute.</div><div class=""><br class=""></div><div class="">The value of "job-pages-per-set" MUST be evenly divisible with the number of Input Pages since it is being used to demarcate the length of a single copy or Set. See the sections on the "multiple-document-handling" Job Template attribute [RFC8011] for more information on using this attribute with multiple Document Jobs.</div><div class=""><br class=""></div><div class=""><img alt="page42image34862208" apple-inline="yes" id="471E2AED-E511-406A-9E64-BEBE38FE6BB3" src="cid:1930C7BB-6AAB-45E5-986F-722143B7378A" class=""></div><div class="">For example, if a Client submits a 14 page PWG Raster Format [PWG5102.4] Document for printing that contains two copies of four duplex pages each, the Client might specify a "job- pages-per-set" Job Template attribute with a value of 7, a "sides" attribute with a value of 'two-sided-long-edge', and a "finishings" attribute with a value of 4 (staple) to have the Printer staple two Sets of four sheets. Figure 4 shows a graphical representation of this example.</div></blockquote><div class=""><br class=""></div><div class="">PWG 5100.13-2012 (IPP Job and Printer Extensions - Set 3) defines the "pages-per-subset" attribute:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">5.2.2 pages-per-subset (1setOf integer(1:MAX))</div><div class=""><br class=""></div><div class="">The "pages-per-subset" Job Template attribute partitions one or more Input-Documents into contiguous subsets of Input-Pages. Each subset is defined to be an Output-Document and finishing options such as stapling are applied as if the Client had submitted the document as multiple jobs.</div><div class=""><br class=""></div><div class="">The value of the attribute is a set of one or more integers, where each integer specifies the number of Input-Pages in a subset, and the set is treated as a repeating sequence of integers. Thus, when the attribute contains a single integer, the integer specifies the number of Input-Pages in each subset, as a repeating sequence of the single integer. When the number of integers in this attribute exceeds 1, the first integer specifies the number of Input-Pages in the first subset, the second integer specifies the number of Input-Pages in the second subset and so on. If numbers in this attribute are exhausted before partitioning all of the Input-Pages, the Printer starts at the beginning of the sequence again and continues until all Input-Pages are partitioned.</div><div class=""><br class=""></div><div class="">If the job contains more than one Input-Document, the Input-Pages are treated as a single stream of Input-Pages which are partitioned into contiguous subsets with some subsets possibly belonging to more than one Input-Document. If the number of Input-Pages available for the last subset is less than the number specified by this attribute, the Printer MUST treat the last subset as an Output-Document.</div><div class=""><br class=""></div><div class="">If the “multiple-document-handling” attribute is present, the Printer MUST ignore the "pages-per-subset" attribute if the "multiple-document-handling" attribute has any value other than 'separate-documents-collated-copies' or 'separate-documents-uncollated- copies' and MUST return the "pages-per-subset" attribute in the unsupported attributes group of a Create-Job, Print-Job, Print-URI, or Validate-Job response with the successful- ok-ignored-or-substituted-attributes status code.</div><div class=""><br class=""></div><div class="">Printers that support this attribute MUST also support the "pages-per-subset-supported" Printer attribute (section 5.6.18).</div><div class=""><br class=""></div><div class="">There is no “pages-per-subset-default” attribute because there is no mechanism for a Client to specify that there are no Input-Page subsets except to omit this attribute, which would cause the Printer to use the “pages-per-subset-default” attribute and create the default subsets.</div></blockquote><div class=""><br class=""><div class="">_________________________________________________________<br class="">Michael Sweet, Senior Printing System Engineer<br class=""></div><br class=""></div></body></html>