DMTF Change Request

DMTF Confidential

All changes to be submitted by the Working Group Chair (or designee) after approval by the working group.  

The Change Request sample (http://www.dmtf.org/members/zdata/CRTemplateSample.html) contains more detailed
information on how to complete the template.

DMTF Change Request Number   [CIMCoreCR006655]

CIMCoreCR00946

CR Owner Name, Email 
[My Name, my.name@company.com]

Richard Landau, Richard_Landau@dell.com
Alliance Partner submitting CR request (if applicable)
Printer Working Group pwg.org
Alliance Partner vote history
(e.g. SNIA XYZ Approved on 8/12/06)

Alliance Partner identifier/tracking number (if available)
CIMCoreCR_PrintSupply_07.htm

Errata   [Yes|No]

No

Short Description

Add new class CIM_PrintSupply to enhanced printer device model.

Spec, Document or Model(s) Being Changed
[Application|Core|Database|Device|Event|Interop|
Network|Physical|Policy|Support|System|User ]

Device

Spec, Document or Model Version Incorporating the Change  [2.16.0 Experimental | Final]

2.17 Experimental

Filename(s) Incorporating the Change
[Core/CIM_Container.mof, DSP0204.pdf]

CIM_PrintSupply.mof

Date Originated  [mm/dd/yyyy]

05/31/2007

Date of Last Revision of the Change Request [mm/dd/yyyy]

06/26/2007

Dependencies   [CIMCoreCR00555,CIMCoreCR00600,...]

CIMCoreCR00958

Terminology

The terminology used in this CR should conform to the "Rules for the structure and drafting of International Standards", 5th Edition, 2005 available at:

http://isotc.iso.org/livelink/livelink.exe/fetch/2000/2122/3146825/4229629/4230450/4230456/ISO_IEC_Directives__Part_2__Rules_for_the_structure_and_drafting_of_International_Standards__2004__5th_edition___pdf_format_.pdf?nodeid=4230517&vernum=0

Particular attention shall be paid to Annex H which lays out guidelines for the expression of provisions.

Background/Rationale (Explanation of the background and reason(s) for the requested change, and supporting documentation):

As part of the PWG/DMTF Work Register, PWG is updating the printing-related classes in the CIM data model.  

The PWG models for printing related devices and services include many properties that need to be managed but are not currently represented in CIM at all.  The CIM model will be extended to include these important management objects.  This will require extensions to the CIM_Printer class and the addition of other CIM classes to represent the capabilities, settings, and counters required.   

Many early implementers of this class are expected to be proxy providers for SNMP-capable printers.  A few properties in this class are included to permit software and users to correlate status and event information between CIM and legacy SNMP access paths.  It is expected that such properties will be deprecated when they are no longer needed for this purpose.

The current new class, CIM_PrintSupply, is the fourth of several classes to be added.  A PrintSupply represents a consumable that is used by the marker or by finishing equipment. 
 

Alliance Partner Status (tracking number, other key identifiers,  supporting documentation, etc.):

n/a

Requested Change (Change information such as details before/after the change and/or references documents (other then MOF) if the changes are too lengthy to include inline):

//add the class CIM_PrintSupply


MOF Changes (The complete CIM Class (ASCII) using blue text for new, red text for removed and black text for no change, only one CIM Class can be changed per CR):
// Copyright (c) 2007 DMTF.  All rights reserved.
// ==================================================================
// CIM_PrintSupply
// ==================================================================

[Experimental, Version ( "2.17.0" ),
UMLPackagePath ( "CIM::Device::Printing" ), Description (
"This class represents a PrintSupply for a PrintMarker or "
"PrintFinisher component of a Printer (print device). It "
"contains a property that specifies if this instance represents "
"a PrintSupply that is consumed or a receptacle that is filled. "
"It also contains properties that describe the PrintSupply "
"type, capacity, and current level. For PrintMarker colorants, "
"it also contains properties that describe colorant role (spot "
"or process), name, and tonality. Note: A PrintSupply shall be "
"associated with exactly one Printer via an instance of the "
"PrinterComponent class. See: Model in section 2 of Printer MIB "
"(RFC 3805) and section 3 of Finisher MIB (RFC 3806)."),
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesEntry",
"MIB.IETF|Printer-MIB.prtMarkerColorantEntry",
"MIB.IETF|Finisher-MIB.finSupplyEntry" }]
class CIM_PrintSupply : CIM_PrinterElement {

[Description (
"A free-form text description of this PrintSupply in the "
"localization specified by "
"CIM_Printer.CurrentNaturalLanguage."),
MinLen ( 0 ), MaxLen ( 255 ),
MappingStrings {
"MIB.IETF|Printer-MIB.prtMarkerSuppliesDescription",
"MIB.IETF|Finisher-MIB.finSupplyDescription",
"MIB.IETF|Printer-MIB.PrtLocalizedDescriptionStringTC" }]
string LocalizedDescription;

[Description (
"Indicates whether this PrintSupply instance represents a "
"PrintSupply that is consumed or a receptacle that is "
"filled."),
ValueMap { "1", "3", "4", ".." },
Values { "Other", "SupplyThatIsConsumed",
"ReceptacleThatIsFilled", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesClass",
"MIB.IETF|Finisher-MIB.finSupplyClass",
"MIB.IETF|Printer-MIB.PrtMarkerSuppliesClassTC" },
ModelCorrespondence { "CIM_PrintSupply.OtherClassification" }]
uint32 Classification;

[Description (
"A free-form string that describes the PrintSupply "
"classification when the value of the Classification "
"property is equal to 1 (Other)."),
MinLen ( 0 ), MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintSupply.Classification" }]
string OtherClassification;

[Description (
"The type of this PrintSupply."),
ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
"31", "32", "33", "34", ".." },
Values { "Other", "Unknown", "Toner", "WasteToner", "Ink",
"InkCartridge", "InkRibbon", "WasteInk", "Opc", "Developer",
"FuserOil", "SolidWax", "RibbonWax", "WasteWax", "Fuser",
"CoronaWire", "FuserOilWick", "CleanerUnit",
"FuserCleaningPad", "TransferUnit", "TonerCartridge",
"FuserOiler", "Water", "WasteWater", "GlueWaterAdditive",
"WastePaper", "BindingSupply", "BandingSupply",
"StitchingWire", "ShrinkWrap", "PaperWrap", "Staples",
"Inserts", "Covers", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesType",
"MIB.IETF|Finisher-MIB.finSupplyType",
"MIB.IETF|IANA-PRINTER-MIB.PrtMarkerSuppliesTypeTC" },
ModelCorrespondence { "CIM_PrintSupply.OtherTypeDescription" }]
uint32 Type;

[Description (
"A free-form string that describes the PrintSupply type when "
"the value of the Type property is equal to 1 (Other)."),
MinLen ( 0 ), MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintSupply.Type" }]
string OtherTypeDescription;

[Description (
"Unit of measure for this PrintSupply container/receptacle."),
ValueMap { "1", "2", "3", "4", "7", "8", "11", "12", "13", "14",
"15", "16", "17", "18", "19", ".." },
Values { "Other", "Unknown", "TenThousandthsOfInches",
"Micrometers", "Impressions", "Sheets", "Hours",
"ThousandthsOfOunces", "TenthsOfGrams",
"HundrethsOfFluidOunces", "TenthsOfMilliliters", "Feet",
"Meters", "Items", "Percent", "DMTF Reserved" },
MappingStrings {
"MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",
"MIB.IETF|Finisher-MIB.finSupplyUnit",
"MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },
ModelCorrespondence { "CIM_PrintSupply.OtherSupplyUnit" }]
uint32 SupplyUnit;

[Description (
"A free-form string that describes the PrintSupply unit when "
"the value of the SupplyUnit property is equal to 1 (Other)."),
MinLen ( 0 ), MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintSupply.SupplyUnit" }]
string OtherSupplyUnit;

[Description (
"The basis for the limit property MaxCapacity, that "
"specifies whether a meaningful value is available. 1 "
"(Other) means the Printer places no restrictions on "
"capacity and MaxCapacity shall be null. 2 (Unknown) means "
"the Printer cannot sense a meaningful value and MaxCapacity "
"shall be null. 3 (Actual) means the Printer can sense a "
"meaningful value and MaxCapacity shall be present."),
ValueMap { "1", "2", "3", ".." },
Values { "Other", "Unknown", "Actual", "DMTF Reserved" },
MappingStrings {
"MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity",
"MIB.IETF|Finisher-MIB.finSuppyMaxCapacity" },
ModelCorrespondence { "CIM_PrintSupply.MaxCapacity" }]
uint16 MaxCapacityBasis;

[Description (
"The maximum capacity of this PrintSupply "
"container/receptacle in units specified by "
"CIM_PrintSupply.SupplyUnit. If this Printer can reliably "
"sense this value, the value is sensed by the Printer and "
"cannot be changed by the system administrator; otherwise, "
"the value may be changed out-of-band by the system "
"administrator."),
MinValue ( 0 ), MaxValue ( 2147483647 ),
MappingStrings {
"MIB.IETF|Printer-MIB.prtMarkerSuppliesMaxCapacity",
"MIB.IETF|Finisher-MIB.finSuppyMaxCapacity",
"MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",
"MIB.IETF|Finisher-MIB.finSupplyUnit",
"MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },
ModelCorrespondence { "CIM_PrintSupply.MaxCapacityBasis" }]
uint32 MaxCapacity;

[Description (
"The basis for the gauge property Level, that specifies "
"whether a meaningful value is available. 1 (Other) means "
"the Printer places no restrictions on capacity and Level "
"shall be null. 2 (Unknown) means the Printer cannot sense a "
"meaningful value and Level shall be null. 3 (Actual) means "
"the Printer can sense a meaningful value and Level shall be "
"present. 4 (AtLeastOne) means that the Printer can only "
"sense that at least one capacity unit remains and Level "
"shall be present and shall contain the value zero or one."),
ValueMap { "1", "2", "3", "4", ".." },
Values { "Other", "Unknown", "Actual", "AtLeastOne",
"DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel",
"MIB.IETF|Finisher-MIB.finSuppyCurrentLevel" },
ModelCorrespondence { "CIM_PrintSupply.Level" }]
uint16 LevelBasis;

[Description (
"The current level if this PrintSupply is a container or the "
"remaining capacity if this PrintSupply is a receptacle, in "
"units specified by CIM_PrintSupply.SupplyUnit. If this "
"Printer can reliably sense this value, the value is sensed "
"by the Printer and cannot be changed by the system "
"administrator; otherwise, the value may be changed "
"out-of-band by the system administrator."),
MinValue ( 0 ), MaxValue ( 2147483647 ),
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerSuppliesLevel",
"MIB.IETF|Finisher-MIB.finSuppyCurrentLevel",
"MIB.IETF|Printer-MIB.prtMarkerSuppliesSupplyUnit",
"MIB.IETF|Finisher-MIB.finSupplyUnit",
"MIB.IETF|Printer-MIB.PrtMarkerSuppliesSupplyUnitTC" },
ModelCorrespondence { "CIM_PrintSupply.LevelBasis" }]
uint32 Level;

[Description (
"If this PrintSupply does not represent a PrintMarker "
"colorant, then this property shall be null. If this "
"PrintSupply does represent a PrintMarker colorant, then "
"this property shall be present and shall denote the role "
"played by this PrintMarker colorant."),
ValueMap { "1", "3", "4", ".." },
Values { "Other", "Process", "Spot", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerColorantRole",
"MIB.IETF|Printer-MIB.PrtMarkerColorantRoleTC" },
ModelCorrespondence { "CIM_PrintMarker.OtherColorantRole",
"CIM_PrintMarker.ProcessColorants",
"CIM_PrintMarker.SpotColorants" }]
uint32 ColorantRole;

[Description (
"If this PrintSupply does not represent a PrintMarker "
"colorant, then this property shall be null. If this "
"PrintSupply does represent a PrintMarker colorant and the "
"value of the ColorantRole property is equal to 1 (Other), "
"then this property shall be present and shall contain a "
"free-form string that describes the role of the colorant."),
MinLen ( 0 ), MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintMarker.ColorantRole" }]
string OtherColorantRole;

[Description (
"If this PrintSupply does not represent a PrintMarker "
"colorant, then this property shall be null. If this "
"PrintSupply does represent a PrintMarker colorant, then "
"this property shall be present and shall denote the "
"colorant name using the standardized names from ISO 10175 "
"(DPA) and ISO 10180 (SPDL). Vendors and administrators may "
"specify other colorant names in the OtherColorantName "
"property."),
ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
".." },
Values { "Other", "Unknown", "White", "Red", "Green", "Blue",
"Cyan", "Magenta", "Yellow", "Black", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtMarkerColorantValue" },
ModelCorrespondence { "CIM_PrintSupply.OtherColorantName" }]
uint16 ColorantName;

[Description (
"If this PrintSupply does not represent a PrintMarker "
"colorant, then this property shall be null. If this "
"PrintSupply does represent a PrintMarker colorant and the "
"value of the ColorantName property is equal to 1 (Other), "
"then this property shall be present and shall contain a "
"vendor or administrator defined value. The naming "
"conventions in ISO 9070 are recommended in order to avoid "
"potential name clashes."),
MinLen ( 0 ), MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintSupply.ColorantName" }]
string OtherColorantName;

[Description (
"If this PrintSupply does not represent a PrintMarker "
"colorant, then this property shall be null. If this "
"PrintSupply does represent a PrintMarker colorant, then "
"this property shall be present and shall denote the "
"distinct levels of tonality realizable by a PrintMarker "
"when using this colorant. This value does not include the "
"number of levels of tonal difference that an interpreter "
"can obtain by techniques such as half toning. This value "
"must be at least 2."),
MinValue ( 2 ), MaxValue ( 2147483647 ),
MappingStrings {
"MIB.IETF|Printer-MIB.prtMarkerColorantTonality" }]
uint32 ColorantTonality;
};

Discussion Points (Summary of decisions and discussions of the WG in creating this CR) :

Comments on v02 2007/06/08:

Company

Person

Issue and Response

Brocade

John Crandall

ColorantName has min and max len when it is a numeric.

[PWG] Done.  A leftover from previous string version

Brocade

John Crandall

SNMPRowID needs some other naming convention. This definition does not allow for other instrumentation abstractions although I knwo today it is primarily SNMP. How about PrintSupplyID?

[PWG] This was the naming convention previously worked out with the Core chairs.  It is specifically for the use of proxy agents and clients that need to correlate instances between SNMP views and CIM views of the same data, such as the SNMP Printer MIB Alerts table.  Native CIM implementations will not express this property because clients will be able to use the associations internal to the CIM repository.   This property is factored out of all the printer component classes in the latest model, and included in the PrinterElement class from which all the component classes are derived.  

Change History (Mandatory after submission to the TC, May be used by the WGs):

Version

Date 

Short description of changes

 00

 2007/05/31

Original version.  

 01

 2007/05/31

Correct descriptions of ColorantName and OtherColorantName.  

 02

 2007/06/01

Correct ColorantName again.  

 04

 2007/0626

Change parent class to PrinterElement; remove inherited properties; add CR dependency.

Clean up element terminology.

Add references to PrintFinisher for completeness.

 05

 2007/06/28

Update CR dependency and schema version number.

 06

 2007/06/29

Add issue comments and responses.  

 07

 2007/07/12

Change schema version number in MOF

08
2007/08/05
New template.
09
2007/08/10
Fix color tags.
10
2007/08/20
Change Model from Core to Device.

Note that this document is labeled as "DMTF Confidential".  It is intended only for DMTF member companies and alliance partners.
This Change Request may be withdrawn or modified by subsequent Change Requests.

All submissions MUST comply with the DMTF Patent and Technology policy (http://www.dmtf.org/about/policies/patent-10-18-01.pdf)

Template Version 2.0.1b
Copyright (C) 2007 Distributed Management Task Force, Inc. (DMTF). All rights reserved.