IPP Mail Archive: IPP> MOD - ISSUE 34: Multiple-document handling and Create-Job

IPP Mail Archive: IPP> MOD - ISSUE 34: Multiple-document handling and Create-Job

IPP> MOD - ISSUE 34: Multiple-document handling and Create-Job

Hastings, Tom N (hastings@cp10.es.xerox.com)
Fri, 30 Apr 1999 14:33:20 -0700

At the Wednesday, 4/28, IPP telecon, with a good participation, we agreed to
the following resolution to Issue 34 for IPP/1.1. It is being sent to the
mailing list for discussion and approval. I have included the recommended
text changes as the end, as well as summarized the agreements.

Please send any comments to the mailing list. Silence will be interpreted
as agreement.

Tom

34) OPEN - ISSUE: Ok to REQUIRE "multiple-document-handling if Create-Job
is supported?

The IPP/1.0 Implementer's Guide contains the following issue:

2.16 Support of multiple document jobs

IPP/1.0 is silent on which of the four effects an implementation would
perform if it supports Create-Job, but does not support
"multiple-document-handling".

A fix to IPP/1.0 would be to require implementing all four values of
"multiple-document-handling" if Create-Job is supported at all. Or at least
'single-document-new-sheet' and 'separate-documents-uncollated-copies'. In
any case, an implementation that supports Create-Job SHOULD also support
"multiple-document-handling". Support for all four values is RECOMMENDED,
but at least the 'single-document-new-sheet' and
'separate-documents-uncollated-copies' values, along with the
"multiple-document-handling-default" indicating the default behavior and
"multiple-document-handling-supported" values. If an implementation spools
the data, it should also support the 'separate-documents-collated-copies'
value as well.

There is a need to allow Create-Job and Send-Document to be supported while
making it OPTIONAL to support multiple documents per job. A client that
wants to monitoring a job while it is sending data can do so with Create-Job
and Send-Document. A Printer that wants to support "long documents",
namely, when the document data is indefinitely long (so long it can't be
spooled) but does not want to support multiple documents.

Suggested solution:

Instead of requiring "multiple-document-handling" if Create-Job and
Send-Document are supported as proposed in the solution for Issue 34, lets:

1. Clarify that a conforming implementation NEED NOT support multiple
documents when it supports the Create-Job and Send-Document operations.
(There currently is no conformance sentence that requires support of
multiple document jobs when Create-Job and Send-Document are supported,
though that was certainly our intent which this clarification would
countermand).

2. If the Printer does support the Create-Job and Send-Document operations,
then it MUST support the (new) "multiple-document-jobs-supported (boolean)"
Printer Description attribute. A 'true' value indicates that multiple
documents are supported in a job.

3. If the Printer does support multiple documents in a job, then it MUST
support the "multiple-document-handling" Job Template attribute with at
least one value and the associated "multiple-document-handling-default" and
"multiple-document-handling-supported" Job Template Printer attributes.

4. Add a new status code:
'server-error-multiple-document-jobs-not-supported'

5. In the table in section 14.2 indicate that
'server-error-multiple-document-jobs-not-supported' can be used only with
the Send-Document and Send-URI operations.

Suggested text for section 3.2.4 Create-Job:

If the Printer object supports this operation, then it MUST support the
"multiple-document-jobs-supported" Printer Description attribute and
indicate whether or not it supports multiple-document jobs.

If the Printer object supports this operation and supports multiple
documents in a job, then it MUST support the "multiple-document-handling"
Job Template job attribute with at least one value (see section 4.2.4) and
the associated "multiple-document-handling-default" and
"multiple-document-handling-supported" Job Template Printer attributes.

Suggested text for section 3.3.1 Send-Document operation:

If the Printer supports this operation but does not support multiple
documents per job, the Printer MUST reject subsequent Send-Document
operations supplied with data and return the
'server-error-multiple-document-jobs-not-supported'. However, the Printer
MUST accept the first document with a 'true' or 'false' value for the
"last-document" operation attribute, so that clients MAY always submit one
document jobs with a 'false' value for "last-document" in the first
Send-Document and a 'true' for "last-document" in the second Send-Document
(with no data).

Suggested text for section 4.2.4 multiple-document-handling

After the first sentence which says:

This attribute is relevant only if a job consists of two or more documents.
add:

This attribute MUST be supported if the Printer supports multiple documents
per job (see sections 3.2.4 and 3.3.1).

Suggested text for new section 4.4.28 multiple-document-jobs-supported:

4.4.28 multiple-document-jobs-supported (boolean)

This attribute indicates whether or not the Printer supports more than one
document per job, i.e., more than one Send-Document or Send-Data operation
with data. If the Printer supports the Create-Job and Send-Document
operations, it MUST support this attribute.

Suggested text for new section 14.1.5.10:

14.1.5.10 server-error-multiple-document-jobs-not-supported (0x0509)

The IPP object does not support multiple documents per job and a client
attempted to supply document data with a second Send-Document or Send-URI
operation.