IPP> OPS - Xerox comments on Set-Printer-Attributes and Set- Job-Attributes spec

IPP> OPS - Xerox comments on Set-Printer-Attributes and Set- Job-Attributes spec

Hastings, Tom N hastings at cp10.es.xerox.com
Wed Jan 12 17:44:40 EST 2000


Ron,

>From our IPP WG telecon today, we agreed to drop the term Interpreter and
Interpreter object and just refer to "document-format-varying" attributes.

Based on our discussion today on the telecon, your idea to name the
Set-Printer-Operation attribute with respect to the document-format-varying
attributes seems like a good idea.

So how about changing the name of the Set-Printer-Attributes operation
attribute from:


     "attribute-scope" to "document-format-varying-scope"


Similarly, how about changing the name of the Printer Description attribute
that lists which document-format-varying attributes the Printer supports
from:

     "interpreter-unique-attributes" to "document-format-varying-attributes"

Then the names are parallel and clearly only refer to the
document-format-varying attributes (if the implementation has any).

Tom

-----Original Message-----
From: Ron Bergman [mailto:rbergma at hitachi-hkis.com]
Sent: Tuesday, January 11, 2000 15:00
To: Hastings, Tom N
Subject: Re: IPP> OPS - Xerox comments on Set-Printer-Attributes and
Set-Job-Attributes spec


Tom,

It was my understanding that the "attribute-scope" only applied to
those attributes covered by "interpreter-unique-attributes".  It makes
no sense for this to apply to all attributes.  Why have to enumerate
that there are attributes that don't apply, when they can't apply
under any circumstances.

Maybe a better name would be "interpreter-unique-attribute-scope"

This certainly does not add any additional logic to either the client
or the server, since each must know which are "interpreter-unique"
before the "attribute-scope" can be transmitted.  So, what additional
benefit can be gained from this third keyword?

Alterntively, requiring separate set operations is not all that bad either.
I would not anticipate this operation to occur at a very high frequency.

    Ron

"Hastings, Tom N" wrote:

> Ron,
>
> I agree that removing one of the three keywords choices for
> "attribute-scope" is a good idea if we don't need all three.
>
> However, the need for the third value ('single-interpreter-and-printer')
is
> so that a client can set some interpreter unique attributes for a
particular
> interpreter AND some printer attributes in one Set operation.  Being able
to
> set one interpreter's attributes and some Printer attributes in one Set
> operation avoids an intermediate race condition when the Printer object is
> not set in a consistent state.
>
> Admittedly, a client can't set the unique attributes for two of three
> interpreters in a single Set, so we aren't completely solving the "one Set
> can do all", so maybe having to set each interpreter separately that needs
> to be changed and then set the printer separately is sufficient (when the
> usual case of setting ALL interpreters and the printer in one Set isn't
> sufficient).
>
> Comments?
>
> Tom
>
> -----Original Message-----
> From: Ron Bergman [mailto:rbergma at hitachi-hkis.com]
> Sent: Tuesday, January 11, 2000 09:14
> To: Hastings, Tom N
> Cc: ipp
> Subject: Re: IPP> OPS - Xerox comments on Set-Printer-Attributes and
> Set-Job-Attributes spec
>
> Tom,
>
> This is a  good discussion and looks like a possible solution to what has
> the potential of being a real "rat hole".
>
> I see one minor flaw.  For the attribute "attribute-scope" there are three
> keywords defined.  I propose there only be two;
>     "all-interpreters" which implies it is also a global Printer
>        Description attribute.
>     "single-interpreter" which applies only to the specified
>        'document-format'.
>
> An attribute is either interpreter unique or not.  The third state that
> is defined is not valid.  Even in your examples, there are no unique
> conditions for the third state.
>
>     Ron Bergman
>     Hitachi Koki Imaging Solutions
>
> "Hastings, Tom N" wrote:
>
> > A number of us at Xerox considered the issue 01 in the Set spec and have
> the
> > following suggestions:
> >
> > ISSUE 01 - Is there a better way to model the Printer attributes that
> depend
> > on the interpreter (that is still compatible with IPP/1.1)?  It should
be
> > clear to the operator whether the Set-Printer-Attributes operation is
> > affecting all interpreters or just the one specified by the
> > "document-format" operation attribute (or its default)?  There have been
> > suggestions to have "xxx-exceptions" (collection) Printer Description
> > attributes where "xxx" is the document-format that indicate for each
> > interpreter explicitly which Printer attributes are specialized for it.
> For
> > example:  "application-postscript-exceptions" (collection) and
> > "application-vnd-hp-pcl-exceptions (collection).  Or have a
> > "set-all-interpreters" (boolean) Set-Printer-Attributes operation
> attribute
> > that sets all interpreters.
> >
> > We think that the Interpreter object is a fine way to model those
> > implementations that have some Printer attributes whose values depend on
> the
> > interpreter.  However, we have the following comments about completing
the
> > mechanism.
> >
> > 0. REQUIREMENT:  It must be clear that the concept of the Interpreter
> object
> > is just a way of talking about the semantics at the interface between
the
> > client and the Printer object, i.e., the semantics of the IPP protocol,
> and
> > is not placing any requirement on the internal implementation to have an
> > Interpreter object or not.  So add to the Notes that the introduction of
> the
> > Interpreter object is not specifying internal implementation of an IPP
> > Printer.
> >
> > 1. REQUIREMENT:  It must be clear to the client whether the
> > Set-Printer-Attributes operation is going to affect an attribute for all
> > interpreters or just the target interpreter.
> >
> > 2. REQUIREMENT:  A client must be able to set the attributes for one
> > interpreter or for all interpreters.
> >
> > 3. REQUIREMENT:  If an implementation doesn't support unique attributes
> for
> > different interpreters, then there is no added complexity than in the
> > current Set spec.
> >
> >         4. To meet requirement 1, there needs to be added a Printer
> > Description attribute that contains the names of the Printer attributes
> > whose values returned differ among interpreters or could differ among
> > interpreters.  Such a difference of values includes the case when an
> > attribute is supported by one interpreter and not by another, i.e., when
a
> > value is returned by one interpreter and an attribute is not returned by
> > another interpreter.  Such a Printer attribute returns different values,
> > depending on the Interpreter, and so is said to be an Interpreter object
> > attribute.  Here is the suggested definition for such a Printer
> Description
> > attribute:
> >
> > interpreter-unique-attributes (1setOf type2 keyword)
> >
> > This READ-ONLY attribute indicates which Printer attributes are
> represented
> > as Interpreter object attributes, i.e., potentially return different
> values
> > depending on the value of the "document-format" operation attribute
> supplied
> > by the client in the Get-Printer-Attributes request (see the
> > Get-Printer-Attributes "document-format" operation attribute description
> in
> > [ipp-mod] section 3.2.5.1).  Any Printer attributes not identified by
this
> > attribute MUST be shared by all interpreters, i.e., always return the
same
> > values no matter what "document-format" is supplied in the
> > Get-Printer-Attributes request.  If a Printer attribute is not supported
> by
> > all interpreters, then such an attribute is considered an Interpreter
> object
> > attribute by definition.  For implementations that support the
> > Set-Printer-Attributes operation, the Printer attributes so identified
by
> > this attribute MAY include attributes that are settable as indicated in
> the
> > Printer's "printer-settable-attributes".
> >
> > This attribute MUST be supported by an implementation that supports
> Printer
> > attributes whose values can be returned with different values in a
> > Get-Printer-Attributes request depending on the value of the
> > "document-format" operation attribute supplied by the client.  This
> > attribute, itself, MUST NOT be an Interpreter object attribute, i.e.,
its
> > values MUST be the same for all document formats.
> >
> > Example:  Suppose a Printer supports PostScript, PCL, and text/plain
with
> > the following "xxx-supported" values where "copies" is the shared by all
> > interpreters, "number-up" is supported by all interpreters but has
> different
> > values, and "orientation-requested" is supported only for 'text/plain':
> >
> > PDL         number-up-supported  copies-supported
> > orientation-requested-supported
> > ---         -------------------  ------
> > -------------------------------
> > PostScript  1                    1-10              <not supported>
> > PCL         1                    1-10              <not supported>
> > text/plain  1,2,4                1-10              'portrait',
'landscape'
> >
> > The implementation MUST support the "interpreter-unique-attributes"
> > attribute because several Printer attributes return differing values.
> Such
> > an implementation returns the "interpreter-unique-attributes" attribute
> > values: 'number-up-supported' and 'orientation-requested-supported' (no
> > matter what "document-format" is supplied in the Get-Printer-Attributes
> > request).
> >
> > The following responses are returned for a request that requests all
three
> > attributes:
> >
> > "document-format"        Response
> > -----------------        --------
> > application/postscript   number-up-supported=1, copies-supported=1-10
> > application/vnd.hp-PCL   number-up-supported=1, copies-supported=1-10
> > text/plain               number-up-supported=1,2,4,
copies-supported=1-10,
> >                          orientation-requested-supported='portrait',
> > 'landscape'
> >
> > 5. To meet requirement 2, there needs to be an operation attribute added
> to
> > the Set-Printer-Attributes operation that the client uses to indicate
> > whether the intent is to set (1) all Interpreter objects and the Printer
> > object, (2) a single Interpreter object and the Printer object, or (3)
> just
> > the Interpreter object.  Here is the description of the
> > Set-Printer-Attributes operation attribute:
> >
> > "attribute-scope" (type2 keyword)
> >
> > The client MAY supply this attribute.  The Printer MUST support this
> > attribute if it returns Printer attributes with different values in a
> > Get-Printer-Attributes request depending on the value of the
> > "document-format" operation attribute supplied by the client.  This
value
> of
> > this attribute indicates the client's intention with respect to Printer
> > attributes that are common to all interpreters, i.e., are Printer object
> > attributes, or are specific to an Interpreter, i.e., are Interpreter
> object
> > attributes.
> >
> > Standard keyword values are:
> >
> >     'all-interpreters-and-printer' - all attributes supplied either set
> all
> > Interpreter object attributes that support the attribute or set the
single
> > Printer object attribute
> >
> >     'single-interpreter-and-printer' - all attributes supplied either
set
> > the single interpreter or set the single Printer object attribute.  An
> error
> > is returned if the attribute supplied isn't either the specified
> Interpreter
> > object attribute or a Printer object attribute.
> >
> >     'single-interpreter-only' - all supplied attributes set the single
> > Interpreter object only.  An error is returned if the attributes isn't
the
> > specified Interpreter object attribute doesn't support the supplied
> > attribute or the attribute is a Printer attribute.
> >
> > Example:  Suppose that the "number-up-supported" attribute could be
> settable
> > for the PCL and text/plain interpreters, but not the PostScript
> interpreter,
> > the 'copies-supported' attribute could be settable for all interpreters,
> but
> > the 'orientation-requested-supported' could not be set for any
> interpreters.
> > Then the value of the "printer-settable-attributes" MUST be
> > 'copies-supported' and 'number-up-supported' when the document-format is
> PCL
> > and 'text/plain' and 'copies-supported' when the document-format is
> > 'application/postscript'.  Also, since the value of
"number-up-supported"
> > could be different after being set, the "number-up-supported" MUST be a
> > value in the "interpreter-unique-attributes" attribute (for all
> > document-formats).
> >
> > Pictorially, the Printer object and the Interpreter objects can be drawn
> as
> > follows:
> >
> > Printer object
> > +---------------------------------+
> > |"copies-supported"=1-10(settable)|
> > +---------------------------------+
> >
> > PostScript Interpreter object
> > +-------------------------------------+
> > |"number-up-supported"=1(not-settable)|
> > +-------------------------------------+
> >
> > PCL Interpreter object
> > +---------------------------------+
> > |"number-up-supported"=1(settable)|
> > +---------------------------------+
> >
> > text/plain Interpreter object
> >
+-----------------------------------------------------------------------+
> > |"number-up-supported"=1(settable)
|
> > |"orientation-requested-supported"='portrait',
'landscape'(not-settable)|
> >
+-----------------------------------------------------------------------+
> >
> > Set-Printer-Attributes
> > ----------------------
> > Attempt to set "copies-supported"
> >
> > - "attribute-scope"='all-interpreters-and-printer'
> > Sets the "copies-supported" Printer object attribute for all
> > "document-format" values
> >
> > - "attribute-scope"='single-interpreter-and-printer'
> > Sets the "copies-supported" Printer object attribute for all
> > "document-format" values
> >
> > - "attribute-scope"='single-interpreter-only'
> > Returns an error and does not change the "copies-supported" Printer
object
> > attribute
> >
> > Attempt to set "number-up-supported"
> >
> > - "attribute-scope"='all-interpreters-and-printer'
> > Fails for each "document-format" values because not all Interpreter
> objects
> > have this attribute as settable.
> >
> > - "attribute-scope"='single-interpreter-and-printer'
> > Succeeds for "document-format" = PCL and text/plain, fails for
PostScript
> >
> > - "attribute-scope"='single-interpreter-only'
> > Succeeds for "document-format" = PCL and text/plain, fails for
PostScript
> >
> > Attempt to set "orientation-requested-supported"
> >
> > - "attribute-scope"='all-interpreters-and-printer'
> > Fails for each "document-format" values because all Interpreter objects
> > either have this attribute as not-settable or do not support the
> attribute.
> >
> > - "attribute-scope"='single-interpreter-and-printer'
> > Fails for each "document-format" values because all Interpreter objects
> > either have this attribute as not-settable or do not support the
> attribute.
> >
> > - "attribute-scope"='single-interpreter-only'
> > Fails for each "document-format" values because all Interpreter objects
> > either have this attribute as not-settable or do not support the
> attribute.



More information about the Ipp mailing list
Our website uses cookies on your device to give you the best user experience. By using our website, you agree to the placement of these cookies. To learn more, read our privacy policy. Read Privacy Policy