attachment
<div dir="ltr"><div><div><div><div><div><div><div>Hi Mike,<br><br></div>I like this "printer-finisher" 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 "printer-input-tray"<br>
<br></div>(2) TECHNICAL - Section 16.5 should also reference finDeviceAttributeTable<br></div>and later sections should reference a (flattened) "finisher-detail" 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 & 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"><<a href="mailto:msweet@apple.com" target="_blank">msweet@apple.com</a>></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'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 "printer-finisher" 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 "printer-finisher" 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 "printer-finisher-description" (section 6.16) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher-description" attribute. The ith value in the "printer-finisher" attribute corresponds to the ith value in the "printer-finisher-description" attribute.<br>
<br>
6.15.1 Keywords for printer-finisher<br>
<br>
Table 2 defines the IPP datatypes and keywords for encoding "printer-finisher" 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 "printer-finisher" 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 "printer-finisher" 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 "printer-finisher".<br>
<br>
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-finisher".<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 "printer-finisher"<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 "printer-finisher", because correlation with the original MIB order is considered unimportant.<br>
<br>
<br>
Figure 2 - ABNF for "printer-finisher" Values<br>
<br>
printer-finisher = *finisher-required *[finisher-optional]<br>
; set of finisher elements encoded into one value<br>
<br>
finisher-required = finisher-req ";"<br>
finisher-req = finisher-type / finisher-unit /<br>
finisher-max-capacity /<br>
finisher-capacity<br>
finisher-optional = finisher-opt ";"<br>
finisher-opt = finisher-index / finisher-presentonoff /<br>
finisher-status / finisher-ext<br>
<br>
finisher-type = "type" "=" 1*ALPHA<br>
; enumerated value as an alpha string (e.g.,<br>
; 'stitcher') of finDeviceType in [RFC3806] mapped<br>
; indirectly from the *label* in FinDeviceTypeTC<br>
<br>
finisher-unit = "unit" "=" 1*ALPHA<br>
; enumerated value as an alpha string (e.g., 'other') of<br>
; finDeviceCapacityUnit in [RFC3806] mapped indirectly from<br>
; the *label* in PrtCapacityUnitTC in [RFC3805]<br>
<br>
finisher-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]<br>
; integer value as a numeric string mapped directly from<br>
; finDeviceMaxCapacity in [RFC3806]<br>
<br>
finisher-capacity = "capacity" "=" 1*[DIGIT / "-"]<br>
; integer value as a numeric string mapped directly from<br>
; finDeviceCurrentCapacity in [RFC3806]<br>
<br>
finisher-index = "index" "=" 1*DIGIT<br>
; integer value as a numeric string mapped directly from<br>
; finDeviceIndex in [RFC3806]<br>
<br>
finisher-presentonoff = "presentonoff" "=" 1*ALPHA<br>
; string value as an alpha string mapped directly from<br>
; PresentOnOff in [RFC3805]<br>
<br>
finisher-status = "status" "=" 1*DIGIT<br>
; integer value as a numeric string mapped directly from<br>
; finDeviceStatus in [RFC3806]<br>
<br>
finisher-ext = 1*ALPHA "=" 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 "printer-finisher-description" 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 "printer-finisher" (section 6.15) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-finisher" attribute. The ith value in the "printer-finisher-description" attribute corresponds to the ith value in the "printer-finisher" attribute.<br>
<br>
6.16.1 Encoding of printer-finisher-description<br>
<br>
Values of the "printer-finisher-description" 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 "charset-configured" and then copied into a text value of "printer-finisher-description"; and<br>
2. Each value of "printer-finisher-description" 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 "printer-finisher-description":<br>
<br>
printer-finisher-description[1] = "Stapler S/N:EXAMPLE-12345"<br>
printer-finisher-description[2] = "Hole Punch S/N:EXAMPLE-67890"<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>