attachment-0001

Hi Mike,<br><br>Needs discussion at IPP WG meeting and probably at PWG F2F.<br><br>Pete Zehler is understandably not in favor of moving away from the<br>Printer MIB model of subunit elements - I agree with him.<br><br>Bear in mind that the value of &quot;output-bin&quot; is simply the value of<br>
the &quot;prtOutputName&quot; element in Printer MIB - there&#39;s no obscurity<br>about correlation.<br><br>And &quot;output-bin&quot; as a sticky Job attribute was a late IPP addition <br>and is poorly supported (in my experience).  &quot;output-bin-default&quot;<br>
has the same value as &quot;prtOutputDefaultIndex-&gt;prtOutputName&quot;.<br><br>Cheers,<br>- Ira<br><br><br>Ira McDonald (Musician / Software Architect)<br>Chair - Linux Foundation Open Printing WG<br>Secretary - IEEE-ISTO Printer Working Group<br>
Co-Chair - IEEE-ISTO PWG IPP WG<br>Co-Chair - TCG Trusted Mobility Solutions WG<br>Chair - TCG Embedded Systems Hardcopy SG<br>IETF Designated Expert - IPP &amp; Printer MIB<br>Blue Roof Music/High North Inc<br><a style="color:rgb(51, 51, 255)" href="http://sites.google.com/site/blueroofmusic" target="_blank">http://sites.google.com/site/blueroofmusic</a><br>
<a style="color:rgb(102, 0, 204)" href="http://sites.google.com/site/highnorthinc" target="_blank">http://sites.google.com/site/highnorthinc</a><br>mailto:<a href="mailto:blueroofmusic@gmail.com" target="_blank">blueroofmusic@gmail.com</a><br>
Winter  579 Park Place  Saline, MI  48176  734-944-0094<br>Summer  PO Box 221  Grand Marais, MI 49839  906-494-2434<div style="display:inline"></div><div style="display:inline"></div><div style="display:inline"></div><div>
</div><div></div><div></div><div></div><br>
<br><br><div class="gmail_quote">On Fri, Nov 11, 2011 at 2:35 AM, Michael Sweet <span dir="ltr">&lt;<a href="mailto:msweet@apple.com">msweet@apple.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><div><div class="im"><div>On Nov 6, 2011, at 2:31 PM, Ira McDonald wrote:</div><blockquote type="cite"><br clear="all">Hi Mike,                                       Sunday (6 November 2011)<br>
<br>Below is ABNF for new &quot;printer-input-tray&quot; and &quot;printer-output-tray&quot;<br>string attributes (i.e., 1setOf (octetString) since they&#39;re fixed in<br>
UTF-8 only and not variable charset).<br><br>They are based on Printer MIB v2 conformance requirements, media source<br>key properties, and DMTF CIM ranking activity by WIMS WG in 2006.  The<br>reference for that activity (I think we should add as an Informative<br>

reference) is:<br><br>DMTF CIM Ranking of Printer MIB v2 Objects, WIMS WG, September 2006,<br><a href="ftp://ftp.pwg.org/pub/pwg/wims/cim/" target="_blank">ftp://ftp.pwg.org/pub/pwg/wims/cim/</a><br>    PrinterMibObjectsToAdd_conclusions_20060921_F.pdf<br>

<br>Mike - note the attribute conformance tables have been included.  Also<br>note I fixed the table headers to more accurate &quot;Printer MIB Object&quot;.<br><br>Comments?<br></blockquote><div><br></div></div>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?</div>
<div><br></div><div>As for printer-output-tray, I&#39;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.</div>
<div><div class="h5"><div><br></div><div><blockquote type="cite">Cheers,<br>- Ira<br><br>------------------------------------------------------------------------<br>
<br>Notes:<br><br>(1) prtInputIndex is OPTIONAL in &quot;printer-input-tray&quot;, because<br>correlation with the original MIB order is considered unimportant.<br><br>(2) prtInputMediaName, prtInputMediaType, and prtInputMediaColor are<br>

RECOMMENDED in &quot;printer-input-tray&quot;, because they are important but<br>often unknown to the printer (while loaded media dimensions are usually<br>known).<br><br>(3) prtInputMediaWeight is OPTIONAL in &quot;printer-input-tray&quot;, because<br>

because most Printers can&#39;t sense loaded media weight.<br><br>(4) Printer MIB objects without corresponding IPP keywords are *not*<br>mapped, per DMTF CIM ranking activity in WIMS WG in 2006.<br><br>            Table X - Keywords for printer-input-tray<br>

<br>Printer MIB Object      IPP Datatype    IPP Keyword         Conformance<br>------------------      ------------    -----------         -----------<br>prtInput...<br>Index (note 1)          Integer         index               OPTIONAL<br>

Type                    String          type                REQUIRED<br>DimUnit                 String          dimunit             RECOMMENDED<br>MediaDimFeedDirDeclared Integer         mediafeed           REQUIRED<br>MediaDimXFeedDirDeclared Integer        mediaxfeed          REQUIRED<br>

MediaDimFeedDirChosen   ---             ---                 ---<br>MediaDimXFeedDirChosen  ---             ---                 ---<br>CapacityUnit            String          unit                RECOMMENDED<br>MaxCapacity             Integer         maxcapacity         REQUIRED<br>

CurrentLevel            Integer         level               REQUIRED<br>Status                  Integer         status              REQUIRED<br>MediaName (note 2)      String          medianame           RECOMMENDED<br>Name                    String          name                REQUIRED<br>

VendorName              ---             ---                 ---<br>Model                   ---             ---                 ---<br>Version                 ---             ---                 ---<br>SerialNumber            ---             ---                 ---<br>

Security                ---             ---                 ---<br>MediaWeight (note 3)    Integer         mediaweight         OPTIONAL<br>MediaType (note 2)      String          mediatype           RECOMMENDED<br>MediaColor (note 2)     String          mediacolor          RECOMMENDED<br>

MediaFormParts          ---             ---                 ---<br>MediaLoadTimeout        ---             ---                 ---<br>NextIndex               ---             ---                 ---<br><br><br>                    Examples of printer-input-tray<br>

<br>printer-input-tray[1] =<br>    type=sheetFeedAutoRemovableTray;<br>    mediafeed=110000;mediaxfeed=85000;<br>    maxcapacity=500;level=100;status=8;name=Tray1;<br>    index=1;dimunit=tenThousandthsOfInches;unit=sheets;<br>

    medianame=na-letter;mediaweight=-2;<br>    mediatype=stationery;mediacolor=blue;<br><br>printer-input-tray[2] =<br>    type=sheetFeedAutoRemovableTray;<br>    mediafeed=110000;mediaxfeed=85000;<br>    maxcapacity=100;level=20;status=8;name=Tray2;<br>

    index=2;dimunit=tenThousandthsOfInches;unit=sheets;<br>    medianame=na-letter;mediaweight=-2;<br>    mediatype=photographic;mediacolor=white;<br><br><br>            Figure X - ABNF for &quot;printer-input-tray&quot; values<br>

<br>printer-input-tray  = *input-required *[input-optional]<br>    ; set of input elements encoded into one value<br><br>input-required      = input-req &quot;;&quot;<br>input-req           = input-type /<br>                      input-media-feed /<br>

                      input-media-xfeed /<br>                      input-max-capacity /<br>                      input-level /<br>                      input-status /<br>                      input-name<br><br>input-optional      = input-opt &quot;;&quot;<br>

input-opt           = input-index /<br>                      input-dim-unit /<br>                      input-unit /<br>                      input-media-name /<br>                      input-media-weight /<br>                      input-media-type /<br>

                      input-media-color<br><br>input-type          = &quot;type&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string<br>    ; (e.g., &#39;sheetFeedAutoRemovableTray&#39;) of prtInputType<br>

    ; in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtInputTypeTC in [IANAPRT]<br><br>input-media-feed    = &quot;mediafeed&quot; &quot;=&quot;  1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>

    ; prtInputMediaDimFeedDirDeclared in [RFC3805]<br><br>input-media-xfeed   = &quot;mediaxfeed&quot; &quot;=&quot;  1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMediaDimXFeedDirDeclared in [RFC3805]<br>

<br>input-max-capacity  = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMaxCapacity in [RFC3805]<br><br>input-level         = &quot;level&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>

    ; integer value as a numeric string mapped directly from<br>    ; prtInputCurrentLevel in [RFC3805]<br><br>input-status        = &quot;status&quot; &quot;=&quot; 1*DIGIT<br>    ; integer value as a numeric string mapped directly from<br>

    ; prtInputStatus in [RFC3805]<br><br>input-name          = &quot;name&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>    ; prtInputName in [RFC3805]<br><br><br>input-index         = &quot;index&quot; &quot;=&quot; 1*DIGIT<br>

    ; integer value as a numeric string mapped directly from<br>    ; prtInputIndex in [RFC3805]<br><br>input-dim-unit      = &quot;dimunit&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>

    ; prtInputDimUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtMediaUnitTC in [RFC3805]<br><br>input-unit          = &quot;unit&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>

    ; prtInputCapacityUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtCapacityUnitTC in [RFC3805]<br><br>input-media-name    = &quot;medianame&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>

    ; prtInputMediaName in [RFC3805]<br><br>input-media-weight  = &quot;mediaweight&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMediaWeight in [RFC3805]<br>

<br>input-media-type    = &quot;mediatype&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>    ; prtInputMediaType in [RFC3805]<br><br>input-media-color   = &quot;mediacolor&quot; &quot;=&quot; 1*ALPHA<br>

    ; string value as an alpha string mapped directly from<br>    ; prtInputMediaColor in [RFC3805]<br><br>------------------------------------------------------------------------<br><br>Notes:<br><br>(1) prtOutputIndex is OPTIONAL in &quot;printer-output-tray&quot;, because<br>

correlation with the original MIB order is considered unimportant.<br><br>(2) prtOutputDimUnit, prtOutputMaxDimFeedDir, prtOutputMaxDimXFeedDir,<br>prtOutputMinDimFeedDir, and prtOutputMinDimXFeedDir are *not* mapped,<br>

because they were rated &quot;C&quot; (low priority) in the DMTF CIM ranking<br>activity in WIMS WG in 2006.<br><br>(3) prtOutputStackingOrder, prtOututPageDeliveryOrientation, and<br>prtOutputOffsetStacking are OPTIONAL in &quot;printer-output-tray&quot;, because<br>

they were rated &quot;B&quot; (medium priority) in the DMTF CIM ranking activity<br>in WIMS WG in 2006.<br><br>(4) Printer MIB objects without corresponding IPP keywords are *not*<br>mapped, per DMTF CIM ranking activity in WIMS WG in 2006.<br>

<br>            Table Y - Keywords for printer-output-tray<br><br>Printer MIB Object      IPP Datatype    IPP Keyword         Conformance<br>------------------      ------------    -----------         -----------<br>prtOutput...<br>

Index (note 1)          Integer         index               OPTIONAL<br>Type                    String          type                REQUIRED<br>CapacityUnit            String          unit                RECOMMENDED<br>MaxCapacity             Integer         maxcapacity         REQUIRED<br>

RemainingCapacity       Integer         remaining           REQUIRED<br>Status                  Integer         status              REQUIRED<br>Name                    String          name                REQUIRED<br>VendorName              ---             ---                 ---<br>

Model                   ---             ---                 ---<br>Version                 ---             ---                 ---<br>SerialNumber            ---             ---                 ---<br>Security                ---             ---                 ---<br>

DimUnit (note 2)        ---             ---                 ---<br>MaxDimFeedDir (note 2)  ---             ---                 ---<br>MaxDimXFeedDir (note 2) ---             ---                 ---<br>MinDimFeedDir (note 2)  ---             ---                 ---<br>

MinDimXFeedDir (note 2) ---             ---                 ---<br>StackingOrder (note 3)  String          stackingorder       OPTIONAL<br>PageDeliveryOrientation String          pagedelivery        OPTIONAL<br>    (note 3)<br>

Bursting                ---             ---                 ---<br>Decollating             ---             ---                 ---<br>PageCollated            ---             ---                 ---<br>OffsetStacking (note 3) String          offsetstacking      OPTIONAL<br>

<br><br>                    Examples of printer-output-tray<br><br>printer-output-tray[1] =<br>    type=removableBin;<br>    maxcapacity=500;remaining=-3;status=12;name=LeftOutputBin;<br>    index=1;unit=sheets;stackingorder=firstToLast;<br>

    pagedelivery=faceDown;offsetstacking=notPresent;<br><br>printer-output-tray[2] =<br>    type=removableBin;<br>    maxcapacity=300;remaining=-3;status=0;name=RightOutputBin;<br>    index=2;unit=sheets;stackingorder=firstToLast;<br>

    pagedelivery=faceDown;offsetstacking=notPresent;<br><br><br>            Figure Y - ABNF for &quot;printer-output-tray&quot; values<br><br>printer-output-tray = *output-required *[output-optional]<br>    ; set of output elements encoded into one value<br>

<br>output-required     = output-req &quot;;&quot;<br>output-req          = output-type /<br>                      output-max-capacity /<br>                      output-remaining /<br>                      output-status /<br>

                      output-name<br><br>output-optional     = output-opt &quot;;&quot;<br>output-opt          = output-index /<br>                      output-unit /<br>                      output-stacking-order /<br>                      output-page-delivery /<br>

                      output-offset-stacking<br><br>output-type         = &quot;type&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string<br>    ; (e.g., &#39;removableBin&#39;) of prtOutputType<br>    ; in [RFC3805] mapped indirectly from<br>

    ; the *label* in PrtOutputTypeTC in [IANAPRT]<br><br>output-max-capacity = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputMaxCapacity in [RFC3805]<br>

<br>output-remaining    = &quot;remaining&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputRemainingCapacity in [RFC3805]<br><br>output-status       = &quot;status&quot; &quot;=&quot; 1*DIGIT<br>

    ; integer value as a numeric string mapped directly from<br>    ; prtOutputStatus in [RFC3805]<br><br>output-name         = &quot;name&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>

    ; prtOutputName in [RFC3805]<br><br><br>output-index        = &quot;index&quot; &quot;=&quot; 1*DIGIT<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputIndex in [RFC3805]<br><br>output-unit         = &quot;unit&quot; &quot;=&quot; 1*ALPHA<br>

    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>    ; prtOutputCapacityUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtCapacityUnitTC in [RFC3805]<br><br>output-stacking-order = &quot;stackingorder&quot; &quot;=&quot; 1*ALPHA<br>

    ; enumerated value as an alpha string (e.g., &#39;firstToLast&#39;) of<br>    ; prtOutputStackingOrder in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtOutputStackingOrderTC in [RFC3805]<br><br>output-page-delivery = &quot;pagedelivery&quot; &quot;=&quot; 1*ALPHA<br>

    ; enumerated value as an alpha string (e.g., &#39;faceUp&#39;) of<br>    ; prtOutputPageDeliveryOrientation in [RFC3805] mapped indirectly<br>    ; from the *label* in PrtOutputPageDeliveryOrientationTC in<br>    ; [RFC3805]<br>

<br>output-offset-stacking = &quot;offsetstacking&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;notPresent&#39;) of<br>    ; prtOutputOffsetStacking in [RFC3805] mapped indirectly from<br>

    ; the *label* in PresentOnOff in [RFC3805]<br><br>------------------------------------------------------------------------<br><br>
<div></div>
</blockquote></div><br></div></div><div>
<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div>
__________________________________________________</div><div>Michael Sweet, Senior Printing System Engineer, PWG Chair<br></div></span>
</div>
<br></div></blockquote></div><br><div style="visibility: hidden; left: -5000px;" id="avg_ls_inline_popup"></div>
<br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.