[IPP] RFC: pages-per-subset (1setOf integer(1:MAX)) vs. job-pages-per-set (integer(1:MAX))

Michael Sweet via ipp <ipp@pwg.org> Mon, 06 May 2019 18:17 UTC

Return-Path: <ipp-bounces@pwg.org>
X-Original-To: ietfarch-ipp-archive@ietfa.amsl.com
Delivered-To: ietfarch-ipp-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B4BD120049 for <ietfarch-ipp-archive@ietfa.amsl.com>; Mon, 6 May 2019 11:17:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (2048-bit key) reason="fail (message has been altered)" header.d=apple.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FCX7w1FVe41m for <ietfarch-ipp-archive@ietfa.amsl.com>; Mon, 6 May 2019 11:17:42 -0700 (PDT)
Received: from www.pwg.org (mail.pwg.org [50.116.7.199]) by ietfa.amsl.com (Postfix) with ESMTP id 1114A120047 for <ipp-archive2@ietf.org>; Mon, 6 May 2019 11:17:41 -0700 (PDT)
Received: by www.pwg.org (Postfix, from userid 1002) id 1B9953F51; Mon, 6 May 2019 18:17:41 +0000 (UTC)
Received: from www.pwg.org (localhost [IPv6:::1]) by www.pwg.org (Postfix) with ESMTP id 516F33432; Mon, 6 May 2019 18:17:34 +0000 (UTC)
X-Original-To: ipp@pwg.org
Delivered-To: ipp@pwg.org
Received: by www.pwg.org (Postfix, from userid 1002) id 5959E3BEE; Mon, 6 May 2019 18:17:33 +0000 (UTC)
Received: from nwk-aaemail-lapp01.apple.com (nwk-aaemail-lapp01.apple.com [17.151.62.66]) by www.pwg.org (Postfix) with ESMTPS id 744181CF7 for <ipp@pwg.org>; Mon, 6 May 2019 18:17:32 +0000 (UTC)
Received: from pps.filterd (nwk-aaemail-lapp01.apple.com [127.0.0.1]) by nwk-aaemail-lapp01.apple.com (8.16.0.27/8.16.0.27) with SMTP id x46IH4Dv050313 for <ipp@pwg.org>; Mon, 6 May 2019 11:17:31 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : content-type : sender : from : date : subject : message-id : to; s=20180706; bh=9l+j9E/396RrhggPnPXGYEF0ih+gSdiIOlbpRivw8TU=; b=eob05AlX8wdW3ehNX5cD7/hgdfWdMPaxTsosMOnzDICmNAll3BN2bd0JztKb15dBT21F Gy39OXNzcVohQ1bCwhcSgiJTLipOuFyiODmRUshf4qbEwKSmCvYtsJSzrFg7izVMfnsn ayBvWsoPPSZULrlHWVumakyVtIAgMcZl5P7zbfpGiav0v6vw3ie2O/RBe6u0R+YOk3A0 P0x/lcRL23wwLe+cEk3nuT+tAzsgSEEH89sulDFHvTHbRiwaMv6pcHnC5xyATHknsdqH vFtqrC9JeRu/PkTrqoVqtvR16NQ/Xb1PElxLdMrGtPRAh3m8pGP31kdLpK2wR4JdAGUl Fw==
Received: from ma1-mtap-s01.corp.apple.com (ma1-mtap-s01.corp.apple.com [17.40.76.5]) by nwk-aaemail-lapp01.apple.com with ESMTP id 2s99ny02kg-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for <ipp@pwg.org>; Mon, 06 May 2019 11:17:31 -0700
MIME-version: 1.0
Received: from nwk-mmpp-sz09.apple.com (nwk-mmpp-sz09.apple.com [17.128.115.80]) by ma1-mtap-s01.corp.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) with ESMTPS id <0PR300BRXHH2NO70@ma1-mtap-s01.corp.apple.com> for ipp@pwg.org; Mon, 06 May 2019 11:17:31 -0700 (PDT)
Received: from process_milters-daemon.nwk-mmpp-sz09.apple.com by nwk-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) id <0PR300G00HEU4D00@nwk-mmpp-sz09.apple.com>; Mon, 06 May 2019 11:17:30 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 36faa17af2f4ed37308c61fb93ff57b8
X-Va-E-CD: 87b14fcf775713ed6b5a93aaabf6d5ff
X-Va-R-CD: 874924abe093ff3214a48945aa188bb4
X-Va-CD: 0
X-Va-ID: c1c88e6a-2b6d-495a-acb7-6a85567585dd
X-V-A:
X-V-T-CD: 36faa17af2f4ed37308c61fb93ff57b8
X-V-E-CD: 87b14fcf775713ed6b5a93aaabf6d5ff
X-V-R-CD: 874924abe093ff3214a48945aa188bb4
X-V-CD: 0
X-V-ID: aba8f7cd-7a61-4fc5-8ac7-25314c53598e
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-06_10:,, signatures=0
Received: from [17.235.55.52] by nwk-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.3.20181024 64bit (built Oct 24 2018)) with ESMTPSA id <0PR300DLHHH29970@nwk-mmpp-sz09.apple.com>; Mon, 06 May 2019 11:17:30 -0700 (PDT)
Date: Mon, 06 May 2019 14:17:26 -0400
Message-id: <98A16010-A0AC-4013-A773-0662CEB95B5C@apple.com>
To: PWG IPP Workgroup <ipp@pwg.org>
X-Mailer: Apple Mail (2.3445.104.11)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-06_10:, , signatures=0
Subject: [IPP] RFC: pages-per-subset (1setOf integer(1:MAX)) vs. job-pages-per-set (integer(1:MAX))
X-BeenThere: ipp@pwg.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: ISTO-PWG Internet Printing Protocol workgroup discussion forum <ipp.pwg.org>
List-Unsubscribe: <https://www.pwg.org/mailman/options/ipp>, <mailto:ipp-request@pwg.org?subject=unsubscribe>
List-Archive: <http://www.pwg.org/pipermail/ipp/>
List-Post: <mailto:ipp@pwg.org>
List-Help: <mailto:ipp-request@pwg.org?subject=help>
List-Subscribe: <https://www.pwg.org/mailman/listinfo/ipp>, <mailto:ipp-request@pwg.org?subject=subscribe>
From: Michael Sweet via ipp <ipp@pwg.org>
Reply-To: Michael Sweet <msweet@apple.com>
Content-Type: multipart/mixed; boundary="===============8283306916792709657=="
Errors-To: ipp-bounces@pwg.org
Sender: ipp <ipp-bounces@pwg.org>

All,

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...

Given the limited use case for both attributes, I would like to propose we deprecate the "pages-per-subset" attribute.

Thoughts?



PWG 5100.1-2017 (IPP Finishings 2.1) defines the "job-pages-per-set" attribute:

5.3 job-pages-per-set (integer(1:MAX))

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:

• The Client SHOULD NOT include the "copies" Job Template attribute, or if included MUST use the value 1; and

• The Printer MUST ignore the value of the "copies-default" Printer Description attribute.

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.


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.

PWG 5100.13-2012 (IPP Job and Printer Extensions - Set 3) defines the "pages-per-subset" attribute:

5.2.2 pages-per-subset (1setOf integer(1:MAX))

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.

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.

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.

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.

Printers that support this attribute MUST also support the "pages-per-subset-supported" Printer attribute (section 5.6.18).

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.

_________________________________________________________
Michael Sweet, Senior Printing System Engineer

_______________________________________________
ipp mailing list
ipp@pwg.org
https://www.pwg.org/mailman/listinfo/ipp