IPP Mail Archive: IPP> OPS - Proposal to go back to precludi

IPP> OPS - Proposal to go back to precluding 'out-of-band' values with values

From: Hastings, Tom N (hastings@cp10.es.xerox.com)
Date: Tue Mar 21 2000 - 20:24:22 EST

  • Next message: Ron Bergman: "Re: IPP> OPS - Proposal to go back to precluding 'out-of-band' values withvalues"

    After hearing the problems with existing parsers on extending IPP to allow
    new out-of-band values to have a non-zero value, it appears prudent to
    abandon such an extension. Please send comments to the mailing list. We
    will also discuss, tomorrow, Wednesday, 3/22, on the IPP telecon.

    Instead, lets replace the proposed 'any-value' out-of-band value which had
    an attribute syntax value with a simpler 'custom' out-of-band value which
    MUST have a zero length. The 'custom' out-of-band value (as with the
    'any-value') is used in a Get-Printer-Supported-Values response for as one
    of the values of a requested "xxx-supported" attribute to indicate that the
    System Administrator can set custom values using the
    "Set-Printer-Attributes" operation.

    Here is the suggested updates to the "Job and Printer Set Operations"
    document:

    15.1 Changes to the March 8, 2000 version to make the March 21, 2000
    version
    The following changes have been made to the March 8, 2000 version to make
    the March 21, 2000 version as a result of the IPP WG telecons and mailing
    list discussion:
    1. Changed the name of the 'any-value' out-of-band value to 'custom'.
    Removed the idea of encoding the attribute syntax that the 'custom'
    out-of-band value goes with. Instead, the spec for the attribute defines
    whether or not the 'custom' out-of-band value can be used.
    2. Clarified that the 'custom' out-of-band value can be used in
    combination with other values of an "xxx-supported" Printer attribute.
    3. Clarified that an implementation is not prevented from supporting
    some 'name' attribute values for "xxx-supported" out-of-the-box, if desired.
    But these values would be returned in a Get-Printer-Supported-Values
    response, such like keywords are.
      

    8.3 'custom' out-of-band attribute value
    The 'custom' out-of-band attribute value MAY be used as one of the values of
    an "xxx-supported" Printer attribute to indicate that the client can supply
    custom values in a request. The client MUST supply any such values in the
    particular attribute syntax explicitly defined for that attribute.
    See section 4.3 in this document for an example definition of the usage of
    the 'custom' out-of-band attribute value in any "xxx-supported" attribute
    returned in a Get-Printer-Supported-Values response.

    8.3.1 Encoding of the 'custom' out-of-band attribute value
    The encoding of the 'custom' out-of-band attribute value is 0x17 (see
    [ipp-pro]). The value-length MUST be 0 and the value empty.

    1.1 Get-Printer-Supported-Values Operation
    This OPTIONAL operation allows a client to request the values that the
    Printer allows in the Set-Printer-Attributes operation for "xxx-supported"
    attributes. If the Printer supports the Set-Printer-Attributes operation
    AND some of its "xxx-supported" Printer attributes are settable, then the
    Printer MUST also support this operation. This operation has identical
    request/response attributes to the Get-Printer-Attributes operation in
    IPP/1.1 [ipp-mod]. The operation also behaves identically to the
    Get-Printer-Attributes operation in IPP/1.1 [ipp-mod] with the following
    exceptions:
    1. The Get-Printer-Supported-Values operation supports only
    "xxx-supported" attributes.
    2. The Get-Printer-Attributes operation returns the current value of
    specified attributes while the Get-Printer-Supported-Values operation
    returns values that permit a client to determine what values of
    "xxx-supported" attributes the Printer supports in the
    Set-Printer-Attributes operation.
    3. If an implementation does not support setting an attribute that is
    requested, it MUST NOT return that attribute in the Printer Attributes Group
    of the Get-Printer-Supported-Values response. Furthermore, in such a case,
    as in the Get-Printer-Attributes response, the Unsupported Attributes Group
    of the response NEED NOT contain the "requested-attributes" operation
    attribute with any supplied values (attribute keywords) that were requested
    by the client but are not supported or are not settable by the IPP Printer.
    4. The Get-Printer-Supported-Values operation does not return any
    values for any "xxx-supported" attributes that were configured by the System
    Administrator using the Set-Printer-Attributes operation. Instead, if the
    Set-Printer-Attributes operation allows the System Administrator to
    customize the Printer's "xxx-supported" attribute by adding arbitrary values
    of a specified attribute syntax, then the Get-Printer-Supported-Values
    operation MUST return the 'custom' out-of-band attribute value (see section
    8.3) as one of the values of the "xxx-supported" attribute. In other words,
    the 'custom' out-of-band attribute value indicates that the Printer
    implementation supports clients setting arbitrary values for that
    "xxx-supported" attribute as long as the value is of the attribute syntax
    defined for that attribute.
    For example, if the Get-Printer-Supported-Values operation returns several
    keywords as the value of the "media-supported" attribute, then the
    Set-Printer-Attributes operation MUST accept any of these keywords as values
    for the "media-supported" attribute. If the Get-Printer-Supported-Values
    operation returns a 'custom' out-of-band attribute value as one of the
    values of the "media-supported" attribute, then the Set-Printer-Attributes
    operation MUST accept any value whose attribute syntax is 'name' as values
    for the "media-supported" attribute.
    The Get-Printer-Supported-Values MAY return the 'custom' out-of-band
    attribute value for any IPP/1.1 or extension Job Template attribute if the
    implementation supports allowing the System Administrator to add values to
    the "xxx-supported" attribute using the Set-Printer-Attributes operation.
    In this case, the Printer MUST accept any value of the correct attribute
    syntax in a Set-Printer-Attributes operation that is setting that attribute.
    For "xxx-supported" attributes that are defined with a choice of attribute
    syntaxes, such as 'keyword | name', it is the 'name' attribute syntax that
    the System Administrator can use to add new values, not the 'keyword'
    attribute syntax. For IPP/1.1 this requirement includes the following Job
    Template attributes:
                    media-supported
                    job-hold-until-supported
                    job-sheets-supported
    For "xxx-supported" attributes that are defined to have only a single
    attribute syntax, the 'custom' out-of-band value indicates that the Printer
    will accept any value of that attribute syntax in a Set-Printer-Attributes
    request for that "xxx-supported" attribute.
    If the 'custom' out-of-band attribute value is not one of the values of an
    "xxx-supported" attribute returned in a Get-Printer-Supported-Values
    response, then the Printer MUST NOT allow the Set-Printer-Attributes
    operation for that attribute to contain a value that is not one of the
    explicit values returned in a Get-Printer-Supported-Values response.
    See Appendix B for a full list of values returned by this operation.

    Send any comments to the mailing list.
    Thanks,
    Tom



    This archive was generated by hypermail 2b29 : Tue Mar 21 2000 - 20:30:48 EST