attachment

<div dir="ltr"><div><div><div><div><div><div><div>Hi Mike,<br><br></div>I like this &quot;printer-finisher&quot; proposal for exposing the Finisher MIB info.<br><br></div>A few comments:<br><br>(1) TYPO - Section 6.15.3 in title and second example says &quot;printer-input-tray&quot;<br>

<br></div>(2) TECHNICAL - Section 16.5 should also reference finDeviceAttributeTable<br></div>and later sections should reference a (flattened) &quot;finisher-detail&quot; member that<br>is a simple key/value mapping for all defined finisher-specific attributes, e.g.,<br>

</div><br>- general: deviceModel, finReferenceEdge, numberOfPositions, etc.<br>- subunit types: stitching (staple,stitch,saddle,dual), folding, binding, etc.<br></div></div><div>- subunit details for stitching and punching<br>

</div><div><div><div><div><div><br></div><div>WDYT?<br><br></div><div>Cheers,<br></div><div>- Ira<br></div><div><br><br><br><br></div></div></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr">

Ira McDonald (Musician / Software Architect)<br>Co-Chair - TCG Trusted Mobility Solutions WG<br>Chair - Linux Foundation Open Printing WG<br>Secretary - IEEE-ISTO Printer Working Group<br>Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG<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<br><br><div style="display:inline"></div><div style="display:inline"></div><div style="display:inline"></div>

<div></div><div></div><div></div><div></div></div></div>
<br><br><div class="gmail_quote">On Fri, Jun 20, 2014 at 2:25 PM, Michael Sweet <span dir="ltr">&lt;<a href="mailto:msweet@apple.com" target="_blank">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">

All,<br>
<br>
One of the common issues we&#39;ve run into are finisher limits - maximum capacity in particular.<br>
<br>
Currently the only want to get this information is via the Finishing MIB.  The following is a proposal for inclusion in the Finishings 2.0 specification to add a &quot;printer-finisher&quot; Printer Description attribute that exposes the Finishing MIB, much as we already do for the various Printer MIB properties.<br>


<br>
If there are no objections, I will issue one more prototype draft of the Finishings 2.0 spec so we can review this and the finishings-col-database addition in the next WG concall.<br>
<br>
...<br>
<br>
6.15 printer-finisher (1setOf octetString(MAX))<br>
<br>
The REQUIRED &quot;printer-finisher&quot; Printer attribute provides current finisher details mapped from the SNMP finDeviceTable defined in IETF Finishing MIB [RFC3806].<br>
<br>
This attribute MUST be supported if the &quot;printer-finisher-description&quot; (section 6.16) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the &quot;printer-finisher-description&quot; attribute. The ith value in the &quot;printer-finisher&quot; attribute corresponds to the ith value in the &quot;printer-finisher-description&quot; attribute.<br>


<br>
6.15.1 Keywords for printer-finisher<br>
<br>
Table 2 defines the IPP datatypes and keywords for encoding &quot;printer-finisher&quot; from all of the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].<br>
<br>
6.15.2 Encoding of printer-finisher<br>
<br>
Values of &quot;printer-finisher&quot; MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68] in Figure 2 defines the standard encoding in &quot;printer-finisher&quot; for all the machine-readable (non-localized) columnar objects in finDeviceTable [RFC3806].<br>


<br>
6.15.3 Examples of printer-input-tray<br>
<br>
The following example shows two rows of the machine-readable (non-localized) columnar objects from finDeviceTable encoded into corresponding values of &quot;printer-finisher&quot;.<br>
<br>
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of &quot;printer-finisher&quot;.<br>
<br>
printer-finisher[1] =<br>
    type=stitcher;unit=sheets;maxcapacity=500;capacity=100;<br>
printer-input-tray[2] =<br>
    type=puncher;unit=sheets;maxcapacity=100;capacity=20;<br>
<br>
Table 2 - Keywords for &quot;printer-finisher&quot;<br>
<br>
Finishing MIB Object    IPP Data-type  IPP Keyword    PWG SM Keyword    Conformance<br>
----------------------  -------------  -------------  ----------------  -----------<br>
finDevice...<br>
Index (note 1)          Integer        index          Id                OPTIONAL<br>
Type                    String         type           FinisherType      REQUIRED<br>
CapacityUnit            String         unit           FinisherCapacity  REQUIRED<br>
                                                      Unit<br>
MaxCapacity             Integer        maxcapacity    FinisherMax       REQUIRED<br>
                                                      Capacity<br>
CurrentCapacity         Integer        capacity       FinisherCurrent   REQUIRED<br>
                                                      Capacity<br>
PresentOnOff            String         presentonoff   FinisherPresent   OPTIONAL<br>
                                                      OnOff<br>
AssociatedMediaPaths    ---            ---            FinisherAssociated ---<br>
                                                      MediaPaths<br>
AssociatedOutputs       ---            ---            FinisherAssociated ---<br>
                                                      Outputs<br>
Status                  Integer        status         SubunitStates     OPTIONAL<br>
<br>
Notes:<br>
1.    finDeviceIndex is OPTIONAL in &quot;printer-finisher&quot;, because correlation with the original MIB order is considered unimportant.<br>
<br>
<br>
Figure 2 - ABNF for &quot;printer-finisher&quot; Values<br>
<br>
printer-finisher = *finisher-required *[finisher-optional]<br>
    ; set of finisher elements encoded into one value<br>
<br>
finisher-required = finisher-req &quot;;&quot;<br>
finisher-req = finisher-type / finisher-unit /<br>
                 finisher-max-capacity /<br>
                 finisher-capacity<br>
finisher-optional = finisher-opt &quot;;&quot;<br>
finisher-opt = finisher-index / finisher-presentonoff /<br>
                 finisher-status / finisher-ext<br>
<br>
finisher-type = &quot;type&quot; &quot;=&quot; 1*ALPHA<br>
    ; enumerated value as an alpha string (e.g.,<br>
    ; &#39;stitcher&#39;) of finDeviceType in [RFC3806] mapped<br>
    ; indirectly from the *label* in FinDeviceTypeTC<br>
<br>
finisher-unit = &quot;unit&quot; &quot;=&quot; 1*ALPHA<br>
    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>
    ; finDeviceCapacityUnit in [RFC3806] mapped indirectly from<br>
    ; the *label* in PrtCapacityUnitTC in [RFC3805]<br>
<br>
finisher-max-capacity = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>
    ; integer value as a numeric string mapped directly from<br>
    ; finDeviceMaxCapacity in [RFC3806]<br>
<br>
finisher-capacity = &quot;capacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>
    ; integer value as a numeric string mapped directly from<br>
    ; finDeviceCurrentCapacity in [RFC3806]<br>
<br>
finisher-index = &quot;index&quot; &quot;=&quot; 1*DIGIT<br>
    ; integer value as a numeric string mapped directly from<br>
    ; finDeviceIndex in [RFC3806]<br>
<br>
finisher-presentonoff = &quot;presentonoff&quot; &quot;=&quot; 1*ALPHA<br>
    ; string value as an alpha string mapped directly from<br>
    ; PresentOnOff in [RFC3805]<br>
<br>
finisher-status = &quot;status&quot; &quot;=&quot; 1*DIGIT<br>
    ; integer value as a numeric string mapped directly from<br>
    ; finDeviceStatus in [RFC3806]<br>
<br>
finisher-ext   = 1*ALPHA &quot;=&quot; 1*ALPHA<br>
    ; extension point for other MIB values not mapped<br>
<br>
6.16 printer-finisher-description (1setOf text(MAX))<br>
<br>
The REQUIRED &quot;printer-finisher-description&quot; READ-ONLY Printer attribute provides current supply descriptions mapped from the SNMP finDeviceDescription object in the finDeviceTable defined in IETF Finishing MIB [RFC3806].<br>


<br>
This attribute MUST be supported if the &quot;printer-finisher&quot; (section 6.15) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the &quot;printer-finisher&quot; attribute. The ith value in the &quot;printer-finisher-description&quot; attribute corresponds to the ith value in the &quot;printer-finisher&quot; attribute.<br>


<br>
6.16.1 Encoding of printer-finisher-description<br>
<br>
Values of the &quot;printer-finisher-description&quot; attribute MUST be mapped from the corresponding human-readable (localized) values of finDeviceDescription, exactly as follows:<br>
<br>
1.    Each value of finDeviceDescription MUST be converted from the character set [RFC3808] specified by prtGeneralCurrentLocalization and prtLocalizationCharacterSet into the charset specified by &quot;charset-configured&quot; and then copied into a text value of &quot;printer-finisher-description&quot;; and<br>


2.    Each value of &quot;printer-finisher-description&quot; MUST be tagged with the natural language [RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry.<br>
<br>
6.16.2 Example of printer-finisher-description<br>
<br>
The following example shows two instances of the human-readable (localized) columnar object finDeviceDescription in the finDeviceTable encoded into corresponding values of &quot;printer-finisher-description&quot;:<br>
<br>
printer-finisher-description[1] = &quot;Stapler S/N:EXAMPLE-12345&quot;<br>
printer-finisher-description[2] = &quot;Hole Punch S/N:EXAMPLE-67890&quot;<br>
<br>
_________________________________________________________<br>
Michael Sweet, Senior Printing System Engineer, PWG Chair<br>
<br>
<br>_______________________________________________<br>
ipp mailing list<br>
<a href="mailto:ipp@pwg.org">ipp@pwg.org</a><br>
<a href="https://www.pwg.org/mailman/listinfo/ipp" target="_blank">https://www.pwg.org/mailman/listinfo/ipp</a><br>
<br></blockquote></div><br></div>