[IPP] Re: ABNF for printer-[input/output]-tray

[IPP] Re: ABNF for printer-[input/output]-tray

Ira McDonald blueroofmusic at gmail.com
Fri Nov 11 20:28:25 UTC 2011


Hi Mike,

Needs discussion at IPP WG meeting and probably at PWG F2F.

Pete Zehler is understandably not in favor of moving away from the
Printer MIB model of subunit elements - I agree with him.

Bear in mind that the value of "output-bin" is simply the value of
the "prtOutputName" element in Printer MIB - there's no obscurity
about correlation.

And "output-bin" as a sticky Job attribute was a late IPP addition
and is poorly supported (in my experience).  "output-bin-default"
has the same value as "prtOutputDefaultIndex->prtOutputName".

Cheers,
- Ira


Ira McDonald (Musician / Software Architect)
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG IPP WG
Co-Chair - TCG Trusted Mobility Solutions WG
Chair - TCG Embedded Systems Hardcopy SG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music/High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto:blueroofmusic at gmail.com
Winter  579 Park Place  Saline, MI  48176  734-944-0094
Summer  PO Box 221  Grand Marais, MI 49839  906-494-2434



On Fri, Nov 11, 2011 at 2:35 AM, Michael Sweet <msweet at apple.com> wrote:

> On Nov 6, 2011, at 2:31 PM, Ira McDonald wrote:
>
>
> Hi Mike,                                       Sunday (6 November 2011)
>
> Below is ABNF for new "printer-input-tray" and "printer-output-tray"
> string attributes (i.e., 1setOf (octetString) since they're fixed in
> UTF-8 only and not variable charset).
>
> They are based on Printer MIB v2 conformance requirements, media source
> key properties, and DMTF CIM ranking activity by WIMS WG in 2006.  The
> reference for that activity (I think we should add as an Informative
> reference) is:
>
> DMTF CIM Ranking of Printer MIB v2 Objects, WIMS WG, September 2006,
> ftp://ftp.pwg.org/pub/pwg/wims/cim/
>     PrinterMibObjectsToAdd_conclusions_20060921_F.pdf
>
> Mike - note the attribute conformance tables have been included.  Also
> note I fixed the table headers to more accurate "Printer MIB Object".
>
> Comments?
>
>
> OK, so I am concerned that we are providing input tray information in two
> different places.  The current media-col-ready attribute provides most of
> the information in printer-input-tray - as of JPS3 the only missing
> information is the current level, max capacity, capacity unit, and status.
>  Seems like we could simply add those to the media-source-properties (or a
> new media-status) collection member attribute instead?
>
> As for printer-output-tray, I'm not sure how a Client could correlate the
> values with output-bin/output-bin-default/output-bin-supported?  I almost
> think we want an output-bin-ready or output-bin-status 1setOf collection
> attribute instead that correlates the output tray information to output-bin
> values.
>
> Cheers,
> - Ira
>
> ------------------------------------------------------------------------
>
> Notes:
>
> (1) prtInputIndex is OPTIONAL in "printer-input-tray", because
> correlation with the original MIB order is considered unimportant.
>
> (2) prtInputMediaName, prtInputMediaType, and prtInputMediaColor are
> RECOMMENDED in "printer-input-tray", because they are important but
> often unknown to the printer (while loaded media dimensions are usually
> known).
>
> (3) prtInputMediaWeight is OPTIONAL in "printer-input-tray", because
> because most Printers can't sense loaded media weight.
>
> (4) Printer MIB objects without corresponding IPP keywords are *not*
> mapped, per DMTF CIM ranking activity in WIMS WG in 2006.
>
>             Table X - Keywords for printer-input-tray
>
> Printer MIB Object      IPP Datatype    IPP Keyword         Conformance
> ------------------      ------------    -----------         -----------
> prtInput...
> Index (note 1)          Integer         index               OPTIONAL
> Type                    String          type                REQUIRED
> DimUnit                 String          dimunit             RECOMMENDED
> MediaDimFeedDirDeclared Integer         mediafeed           REQUIRED
> MediaDimXFeedDirDeclared Integer        mediaxfeed          REQUIRED
> MediaDimFeedDirChosen   ---             ---                 ---
> MediaDimXFeedDirChosen  ---             ---                 ---
> CapacityUnit            String          unit                RECOMMENDED
> MaxCapacity             Integer         maxcapacity         REQUIRED
> CurrentLevel            Integer         level               REQUIRED
> Status                  Integer         status              REQUIRED
> MediaName (note 2)      String          medianame           RECOMMENDED
> Name                    String          name                REQUIRED
> VendorName              ---             ---                 ---
> Model                   ---             ---                 ---
> Version                 ---             ---                 ---
> SerialNumber            ---             ---                 ---
> Security                ---             ---                 ---
> MediaWeight (note 3)    Integer         mediaweight         OPTIONAL
> MediaType (note 2)      String          mediatype           RECOMMENDED
> MediaColor (note 2)     String          mediacolor          RECOMMENDED
> MediaFormParts          ---             ---                 ---
> MediaLoadTimeout        ---             ---                 ---
> NextIndex               ---             ---                 ---
>
>
>                     Examples of printer-input-tray
>
> printer-input-tray[1] =
>     type=sheetFeedAutoRemovableTray;
>     mediafeed=110000;mediaxfeed=85000;
>     maxcapacity=500;level=100;status=8;name=Tray1;
>     index=1;dimunit=tenThousandthsOfInches;unit=sheets;
>     medianame=na-letter;mediaweight=-2;
>     mediatype=stationery;mediacolor=blue;
>
> printer-input-tray[2] =
>     type=sheetFeedAutoRemovableTray;
>     mediafeed=110000;mediaxfeed=85000;
>     maxcapacity=100;level=20;status=8;name=Tray2;
>     index=2;dimunit=tenThousandthsOfInches;unit=sheets;
>     medianame=na-letter;mediaweight=-2;
>     mediatype=photographic;mediacolor=white;
>
>
>             Figure X - ABNF for "printer-input-tray" values
>
> printer-input-tray  = *input-required *[input-optional]
>     ; set of input elements encoded into one value
>
> input-required      = input-req ";"
> input-req           = input-type /
>                       input-media-feed /
>                       input-media-xfeed /
>                       input-max-capacity /
>                       input-level /
>                       input-status /
>                       input-name
>
> input-optional      = input-opt ";"
> input-opt           = input-index /
>                       input-dim-unit /
>                       input-unit /
>                       input-media-name /
>                       input-media-weight /
>                       input-media-type /
>                       input-media-color
>
> input-type          = "type" "=" 1*ALPHA
>     ; enumerated value as an alpha string
>     ; (e.g., 'sheetFeedAutoRemovableTray') of prtInputType
>     ; in [RFC3805] mapped indirectly from
>     ; the *label* in PrtInputTypeTC in [IANAPRT]
>
> input-media-feed    = "mediafeed" "="  1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtInputMediaDimFeedDirDeclared in [RFC3805]
>
> input-media-xfeed   = "mediaxfeed" "="  1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtInputMediaDimXFeedDirDeclared in [RFC3805]
>
> input-max-capacity  = "maxcapacity" "=" 1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtInputMaxCapacity in [RFC3805]
>
> input-level         = "level" "=" 1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtInputCurrentLevel in [RFC3805]
>
> input-status        = "status" "=" 1*DIGIT
>     ; integer value as a numeric string mapped directly from
>     ; prtInputStatus in [RFC3805]
>
> input-name          = "name" "=" 1*ALPHA
>     ; string value as an alpha string mapped directly from
>     ; prtInputName in [RFC3805]
>
>
> input-index         = "index" "=" 1*DIGIT
>     ; integer value as a numeric string mapped directly from
>     ; prtInputIndex in [RFC3805]
>
> input-dim-unit      = "dimunit" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'other') of
>     ; prtInputDimUnit in [RFC3805] mapped indirectly from
>     ; the *label* in PrtMediaUnitTC in [RFC3805]
>
> input-unit          = "unit" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'other') of
>     ; prtInputCapacityUnit in [RFC3805] mapped indirectly from
>     ; the *label* in PrtCapacityUnitTC in [RFC3805]
>
> input-media-name    = "medianame" "=" 1*ALPHA
>     ; string value as an alpha string mapped directly from
>     ; prtInputMediaName in [RFC3805]
>
> input-media-weight  = "mediaweight" "=" 1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtInputMediaWeight in [RFC3805]
>
> input-media-type    = "mediatype" "=" 1*ALPHA
>     ; string value as an alpha string mapped directly from
>     ; prtInputMediaType in [RFC3805]
>
> input-media-color   = "mediacolor" "=" 1*ALPHA
>     ; string value as an alpha string mapped directly from
>     ; prtInputMediaColor in [RFC3805]
>
> ------------------------------------------------------------------------
>
> Notes:
>
> (1) prtOutputIndex is OPTIONAL in "printer-output-tray", because
> correlation with the original MIB order is considered unimportant.
>
> (2) prtOutputDimUnit, prtOutputMaxDimFeedDir, prtOutputMaxDimXFeedDir,
> prtOutputMinDimFeedDir, and prtOutputMinDimXFeedDir are *not* mapped,
> because they were rated "C" (low priority) in the DMTF CIM ranking
> activity in WIMS WG in 2006.
>
> (3) prtOutputStackingOrder, prtOututPageDeliveryOrientation, and
> prtOutputOffsetStacking are OPTIONAL in "printer-output-tray", because
> they were rated "B" (medium priority) in the DMTF CIM ranking activity
> in WIMS WG in 2006.
>
> (4) Printer MIB objects without corresponding IPP keywords are *not*
> mapped, per DMTF CIM ranking activity in WIMS WG in 2006.
>
>             Table Y - Keywords for printer-output-tray
>
> Printer MIB Object      IPP Datatype    IPP Keyword         Conformance
> ------------------      ------------    -----------         -----------
> prtOutput...
> Index (note 1)          Integer         index               OPTIONAL
> Type                    String          type                REQUIRED
> CapacityUnit            String          unit                RECOMMENDED
> MaxCapacity             Integer         maxcapacity         REQUIRED
> RemainingCapacity       Integer         remaining           REQUIRED
> Status                  Integer         status              REQUIRED
> Name                    String          name                REQUIRED
> VendorName              ---             ---                 ---
> Model                   ---             ---                 ---
> Version                 ---             ---                 ---
> SerialNumber            ---             ---                 ---
> Security                ---             ---                 ---
> DimUnit (note 2)        ---             ---                 ---
> MaxDimFeedDir (note 2)  ---             ---                 ---
> MaxDimXFeedDir (note 2) ---             ---                 ---
> MinDimFeedDir (note 2)  ---             ---                 ---
> MinDimXFeedDir (note 2) ---             ---                 ---
> StackingOrder (note 3)  String          stackingorder       OPTIONAL
> PageDeliveryOrientation String          pagedelivery        OPTIONAL
>     (note 3)
> Bursting                ---             ---                 ---
> Decollating             ---             ---                 ---
> PageCollated            ---             ---                 ---
> OffsetStacking (note 3) String          offsetstacking      OPTIONAL
>
>
>                     Examples of printer-output-tray
>
> printer-output-tray[1] =
>     type=removableBin;
>     maxcapacity=500;remaining=-3;status=12;name=LeftOutputBin;
>     index=1;unit=sheets;stackingorder=firstToLast;
>     pagedelivery=faceDown;offsetstacking=notPresent;
>
> printer-output-tray[2] =
>     type=removableBin;
>     maxcapacity=300;remaining=-3;status=0;name=RightOutputBin;
>     index=2;unit=sheets;stackingorder=firstToLast;
>     pagedelivery=faceDown;offsetstacking=notPresent;
>
>
>             Figure Y - ABNF for "printer-output-tray" values
>
> printer-output-tray = *output-required *[output-optional]
>     ; set of output elements encoded into one value
>
> output-required     = output-req ";"
> output-req          = output-type /
>                       output-max-capacity /
>                       output-remaining /
>                       output-status /
>                       output-name
>
> output-optional     = output-opt ";"
> output-opt          = output-index /
>                       output-unit /
>                       output-stacking-order /
>                       output-page-delivery /
>                       output-offset-stacking
>
> output-type         = "type" "=" 1*ALPHA
>     ; enumerated value as an alpha string
>     ; (e.g., 'removableBin') of prtOutputType
>     ; in [RFC3805] mapped indirectly from
>     ; the *label* in PrtOutputTypeTC in [IANAPRT]
>
> output-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtOutputMaxCapacity in [RFC3805]
>
> output-remaining    = "remaining" "=" 1*[DIGIT / "-"]
>     ; integer value as a numeric string mapped directly from
>     ; prtOutputRemainingCapacity in [RFC3805]
>
> output-status       = "status" "=" 1*DIGIT
>     ; integer value as a numeric string mapped directly from
>     ; prtOutputStatus in [RFC3805]
>
> output-name         = "name" "=" 1*ALPHA
>     ; string value as an alpha string mapped directly from
>     ; prtOutputName in [RFC3805]
>
>
> output-index        = "index" "=" 1*DIGIT
>     ; integer value as a numeric string mapped directly from
>     ; prtOutputIndex in [RFC3805]
>
> output-unit         = "unit" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'other') of
>     ; prtOutputCapacityUnit in [RFC3805] mapped indirectly from
>     ; the *label* in PrtCapacityUnitTC in [RFC3805]
>
> output-stacking-order = "stackingorder" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'firstToLast') of
>     ; prtOutputStackingOrder in [RFC3805] mapped indirectly from
>     ; the *label* in PrtOutputStackingOrderTC in [RFC3805]
>
> output-page-delivery = "pagedelivery" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'faceUp') of
>     ; prtOutputPageDeliveryOrientation in [RFC3805] mapped indirectly
>     ; from the *label* in PrtOutputPageDeliveryOrientationTC in
>     ; [RFC3805]
>
> output-offset-stacking = "offsetstacking" "=" 1*ALPHA
>     ; enumerated value as an alpha string (e.g., 'notPresent') of
>     ; prtOutputOffsetStacking in [RFC3805] mapped indirectly from
>     ; the *label* in PresentOnOff in [RFC3805]
>
> ------------------------------------------------------------------------
>
>
> __________________________________________________
> Michael Sweet, Senior Printing System Engineer, PWG Chair
>
>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20111111/3889b6dd/attachment-0001.html>


More information about the ipp mailing list