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>