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]

CIMCoreCR01089

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, www.pwg.org
Alliance Partner vote history
(e.g. SNIA XYZ Approved on 8/12/06)
n/a
Alliance Partner identifier/tracking number (if available)
CIMCoreCR_PrintSupply_fix_01.html

Errata   [Yes|No]

No

Short Description

Modify class CIM_PrintSupply

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.19 Experimental

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

CIM_PrintSupply.mof

Date Originated  [mm/dd/yyyy]

03/03/2008

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

03/03/2008

Dependencies   [CIMCoreCR00555,CIMCoreCR00600,...]


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 is being extended to include these important management objects.  This requires extensions to the CIM_Printer class and the addition of other CIM classes to represent the capabilities, settings, and counters required.  

The current class, CIM_PrintSupply, represents an optional consumable component of a printer, such as a toner or ink, wire for a stapler, etc. 

Descriptions of the changes, both editorial and substantive, are listed below. 

- Change the association used to relate to Printer: avoid cardinality constraint for this class that represents optional components. 

- Add a ModelCorrespondence to correct an earlier oversight.

We (PWG) are reasonably certain that there are no current implementations of this experimental class yet (at least not within our membership), so we do not feel that the changes will be burdensome. 


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

(insert text here)

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):

// Modify 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.
// Copyright (c) 2008 DMTF. All rights reserved.
[Experimental, Version ( "2.1719.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 represents a container (for a supply that is "
"consumed) or a receptacle (for waste that is produced). It "
"also contains properties that describe the PrintSupply type, "
"capacity, and remaining capacity. 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 "
"PrinterConcreteComponent class. A PrintSupply shall be associated with "
"exactly one PrintMarker or PrintFinisher via an instance of "
"AssociatedPrintSupply 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" }]
"MIB.IETF|Printer-MIB.PrtLocalizedDescriptionStringTC" },
ModelCorrespondence { "CIM_Printer.CurrentNaturalLanguage" }]
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 (for a "
"supply that is consumed) or receptacle (for waste that "
"is produced)." ),
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 (for "
"a supply that is consumed) or receptacle (for waste that "
"is produced) 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 RemainingCapacity, that "
"specifies whether a meaningful value is available. 1 "
"(Other) means the Printer places no restrictions on "
"capacity and RemainingCapacity shall be null. 2 "
"(Unknown) means the Printer cannot sense a meaningful "
"value and RemainingCapacity shall be null. 3 (Actual) "
"means the Printer can sense a meaningful value and "
"RemainingCapacity shall be present. 4 (AtLeastOne) means "
"that the Printer can only sense that at least one "
"capacity unit remains and RemainingCapacity 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.RemainingCapacity" }]
uint16 RemainingCapacityBasis;

[Description (
"The current remaining level of the supply if this "
"PrintSupply is a container (for a supply that is "
"consumed) or the remaining capacity if this PrintSupply "
"is a receptacle (for waste that is produced), 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.RemainingCapacityBasis" }]
uint32 RemainingCapacity;

[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) :


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

Version

Date

Short description of changes

000

03/03/2008

Original version. 



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.