[IPP] IPP INFRA job validation

[IPP] IPP INFRA job validation

Michael Sweet msweet at msweet.org
Wed May 8 00:40:56 UTC 2024


Michael,

> On May 7, 2024, at 5:20 PM, Michael Ziller via ipp <ipp at pwg.org> wrote:
> 
> IPP INFRA spec mentions the infra printer MUST support validate-job and the proxy printer MUST NOT, implying that the infra printer should not forward/save client validate-job requests to/for the proxy printer.

No, the operation table you are looking at refers to the operations each actor/role must (or must not) support.  Since the Proxy does not create Jobs on the Infrastructure (at least not in its Proxy role), it cannot use the Job Creation or Validate-Job operations.

An Infrastructure Printer processes a Validate-Job by validating the Job Template attributes against its "xxx-supported" attributes, which in turn are derived from both the Output Device attributes and any capabilities the Infrastructure Printer adds.  For example, an Infrastructure Printer might support additional Job Template attributes ("number-up") that are not supported by the Output Device, or it might support additional Document formats so that the list of valid formats is the union of those natively supported by the Output Device(s) and Infrastructure Printer.

> However, it seems the infra printer can’t always do as full validation as the proxy printer as part of validate-job requests sent to the infra printer. Is the intent for the proxy printer to do fetch-job, and since it now has the job template attributes, to do the same sort of validation it would be doing for local IPP print validate-job, and then returning any validation failures (or successful-ok-ignored-or-substituted-attributes) in acknowledge-job fetch-status-code?

IPP (independently of the INFRA spec) allows Printers to report post-submission failures during Job processing via the "job-state-reasons" attribute - 'conflicting-attributes' if a conflict is seen, 'unsupported-attributes-or-values' if an attribute or value isn't supported, etc.  If the issue cannot be resolved by the Printer, the Job is aborted - "job-state" = '8' (aborted) - and the Client can see why the Job was aborted.

________________________
Michael Sweet



More information about the ipp mailing list