IPP> Misplaced attributes

IPP> Misplaced attributes

McDonald, Ira imcdonald at sharplabs.com
Mon Mar 12 18:17:57 EST 2001


Hi Pete,

I like your choice of answer C (most forgiving) below.

But I see some problems of implementation for the IPP Printer.
When the end of the Operation Attributes Group is encountered,
an implementation might (perhaps should?) validate that all of
the required operation attributes are present for the given
operation request.  In which case, the 'misplaced' operation
attribute down in the Job Attributes Group might not be seen,
because the operation would fail immediately.  (I do realize
that fidelity isn't one of these required operation attributes).

Also, the silent treatment of a 'misplaced' attribute (in the
wrong group in the operation request) as absent and therefore
defaulted seems pretty convoluted, for debugging purposes.

But I still like your 'forgive and print' philosopy.  And I
agree that the Implementors Guide (and a future update to the
Model?) should address 'misplaced' attributes.

Cheers,
- Ira McDonald, consulting architect at Sharp and Xerox
  High North Inc

-----Original Message-----
From: Zehler, Peter [mailto:PZehler at crt.xerox.com]
Sent: Monday, March 12, 2001 3:05 PM
To: IPP Discussion List (E-mail)
Subject: IPP> Misplaced attributes


All,
I have had some internal discussions around an issue I would like to resolve
across the IPP WG.

ISSUE:  An IPP Client sends a print request with the
"ipp-attribute-fidelity" attribute containing a value of 'true'.  The client
also supplies the job template attribute "sides" with a value of
'two-sided-long-edge'.  The IPP Printer does not support two sided printing.
The IPP Client software generates the request but put the
"ipp-attribute-fidelity" in the job attributes group instead of the
operational attributes group.  What should the Printer do?

   A) Reject the request with 'client-error-bad-request' since
"ipp-attribute-fidelity" is in the wrong group.

   B) Reject the job because the printer does not support two sided
printing.  The IPP Printer would accept "ipp-attribute-fidelity" even though
it is in the wrong group.  The printer would return a
"client-error-attributes-or-values-not-supported' error and return the
"side" attribute and value in the unsupported attribute group.

   C) Accept the job and print it substituting 'one-sided'.  The IPP Printer
uses the defaulted value (i.e. 'false' ) for "ipp-attribute-fidelity" since
it was not an operational attribute.  The return code would be
'successful-ok-ignored-or-substituted-attributes' and the "sides" and
"ipp-attribute-fidelity" would be returned as unsupported attributes. (i.e.
"ipp-attribute-fidelity" is not a supported job template attribute)


As an IPP Printer implementer I would chose C.  The response informs the
client that it is in error.  The Printer is forgiving and the job is
printed.  The extensibility of IPP is maintained.

The Implementer's guide with need to be updated to provide a recommendation
on how to handle "misplaced" attributes.  There is currently a clause that
lumps "misplaced" attributes with missing or duplicate attributes. (section
3.1.2.1.4.3)

Pete

By the way my email address has changed from Peter.Zehler at usa.xerox.com to
pzehler at crt.xerox.com

				Peter Zehler
				XEROX
				Xerox Architecture Center
				Email: PZehler at crt.xerox.com
				Voice:    (716) 265-8755
				FAX:      (716) 265-8792 
				US Mail: Peter Zehler
				        Xerox Corp.
				        800 Phillips Rd.
				        M/S 139-05A
				        Webster NY, 14580-9701





More information about the Ipp mailing list