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

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

Michael Sweet msweet at apple.com
Fri Nov 11 07:35:36 UTC 2011


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/20111110/6f68ad0b/attachment-0001.html>


More information about the ipp mailing list