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]

CIMCoreCR01087

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_PrintInputTray_fix_05.html

Errata   [Yes|No]

No

Short Description

Modify class CIM_PrintInputTray.

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_PrintInputTray.mof

Date Originated  [mm/dd/yyyy]

02/25/2008

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

03/07/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_PrintInputTray, represents the media-containing input component of a printer.  This was the second class of all the new classes to be approved by Core.  So,
- the terminology in descriptions is old and needs to be updated;
- some properties and descriptions need to be adjusted due to changes in the modeling, particularly the class hierarchy and status properties;

In some cases because of the large number of changes to the MOF, to help minimize editing errors, I have replaced large blocks of text, even entire properties.  Descriptions of the changes, both editorial and substantive, are listed below. 

Several Description clauses have been enhanced, for instance, to explain the meaning of enumerated values or to improve terminology.  No semantic change is intended in any case.  
- The class itself
- IsDefault
- AvailabilityStatus

The class derives from a different parent class in this version.  Several properties are being removed from this class because they were promoted to the parent class from which this class now inherits. 
- InstanceID
- SNMPRowId

A ModelCorrespondence is being added to correct an earlier oversight. 
- LocalizedDescription

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_PrintInputTray


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.
// <change cr="CIMCoreCR00930 type="new">Added class.</change>
// ==================================================================
// CIM_PrintInputTray
// ==================================================================
[Experimental, Version ( "2.1619.0" ),
UMLPackagePath ( "CIM::Device::Printing" ),
Description (
"This class represents the input tray component of a printer "
"(print device). It contains properties that describe a device "
"capable of providing media for input to the printing process." )]
Description (
"This class represents the PrintInputTray component of a Printer "
"(print device). It contains properties that describe a device "
"capable of providing media for input to the printing process. "
"Note: A PrintInputTray shall be associated with exactly one "
"Printer via an instance of the PrinterComponent class. See: "
"Model in section 2 of Printer MIB (RFC 3805)." ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputEntry" }]
class CIM_PrintInputTray : CIM_LogicalPrinterElement {

[Key, Description (
"Within the scope of the instantiating Namespace, "
"InstanceID opaquely and uniquely identifies an instance "
"of this class. To ensure uniqueness within the "
"NameSpace, the value of InstanceID should be constructed "
"using the following \"preferred\" algorithm: \n"
"<OrgID>:<LocalID> \n"
"Where <OrgID> and <LocalID> are separated by a colon "
"(:), and where <OrgID> shall include a copyrighted, "
"trademarked, or otherwise unique name that is owned by "
"the business entity that is creating or defining the "
"InstanceID or that is a registered ID assigned to the "
"business entity by a recognized global authority. (This "
"requirement is similar to the <Schema Name>_<Class Name> "
"structure of Schema class names.) In addition, to ensure "
"uniqueness, <OrgID> shall not contain a colon (:). When "
"using this algorithm, the first colon to appear in "
"InstanceID shall appear between <OrgID> and <LocalID>. \n"
"<LocalID> is chosen by the business entity and should "
"not be reused to identify different underlying "
"(real-world) elements. If the above \"preferred\" "
"algorithm is not used, the defining entity shall assure "
"that the resulting InstanceID is not reused across any "
"InstanceIDs produced by this or other providers for the "
"NameSpace of this instance. \n"
"For DMTF-defined instances, the \"preferred\" algorithm "
"entity that is creating or defining the InstanceID or "
"that is a registered ID assigned to the business entity "
"by a recognized global authority. (This requirement is "
"similar to the <Schema Name>_<Class Name> structure of "
"Schema class names.) In addition, to ensure uniqueness, "
"<OrgID> shall not contain a colon (:). When using this "
"algorithm, the first colon to appear in InstanceID shall "
"appear between <OrgID> and <LocalID>. \n"
"<LocalID> is chosen by the business entity and should "
"not be reused to identify different underlying "
"(real-world) elements. If the above \"preferred\" "
"algorithm is not used, the defining entity shall assure "
"that the resulting InstanceID is not reused across any "
"InstanceIDs produced by this or other providers for the "
"NameSpace of this instance. \n"
"For DMTF-defined instances, the \"preferred\" algorithm "
"shall be used with the <OrgID> set to CIM." )]
string InstanceID;

[Required, Override ( "ElementName" ),
Description (
"The user-friendly name for this instance of input trayPrintInputTray. "
"In addition, the user-friendly name can be used as an "
"index property for a search or query. (Note: The name "
"does not have to be unique within a namespace.) This "
"name shall be generated as a factory default by the "
"manufacturer and may be changed out-of-band to a "
"site-specific name by the system administrator." ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputName" },
ModelCorrespondence { "CIM_ManagedElement.ElementName" }]
string ElementName;

[Description (
"A unique value used by the printer to identify this "
"input tray. Although these values may change due to a "
"major reconfiguration of the device (e.g., the addition "
"of new input trays to the printer), values should remain "
"stable across successive printer power cycles. Note: "
"This property is necessary to correlate status and event "
"(alert) information between CIM and SNMP interfaces." ),
MinValue ( 1 ),
MaxValue ( 65535 ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputIndex" }]
uint32 SNMPRowId;

[Description (
"Denotes whether or not this input tray is the default "
"input tray for this printer. If the default input tray "
"feature is not supported for this printer, then this "
"property shall be null. If the default input tray "
"feature is supported for this printer, then this "
"property shall be true for at most one instance of "
"CIM_PrintInputTray on this printer, i.e., the default "
"may not be currently configured." ),
"Denotes whether or not this PrintInputTray is the default "
"PrintInputTray for this Printer. If the default PrintInputTray "
"feature is not supported for this Printer, then this "
"property shall be null. If the default PrintInputTray "
"feature is supported for this Printer, then this "
"property shall be true for at most one instance of "
"CIM_PrintInputTray on this Printer, i.e., the default "
"may not be currently configured." ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputDefaultIndex" }]
boolean IsDefault;

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

[Description (
"The type of technology (discriminated primarily "
"according to feeder mechanism type) employed by the "
"input tray." ),
ValueMap { "1", "2", "3", "4", "5", "6", "7", ".." },
Values { "Other", "Unknown", "SheetFeedAutoRemovableTray",
"SheetFeedAutoNonRemovableTray", "SheetFeedManual",
"ContinuousRoll", "ContinuousFanFold", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtInputType",
"MIB.IETF|IANA-PRINTER-MIB.PrtInputTypeTC" },
ModelCorrespondence {
"CIM_PrintInputTray.OtherTypeDescription" }]
uint32 Type;

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

[Description (
"The unit of measurement for use in calculating and "
"relaying capacity values for this input tray." ),
ValueMap { "1", "2", "3", "4", "8", "16", "17", "18", "19",
".." },
Values { "Other", "Unknown", "TenThousandthsOfInches",
"Micrometers", "Sheets", "Feet", "Meters", "Items",
"Percent", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtInputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" },
ModelCorrespondence { "CIM_PrintInputTray.OtherCapacityUnit" }]
uint32 CapacityUnit;

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

[Description (
"The basis for the limit property MaxCapacity, that "
"specifies whether a meaningful value is available. 1 "
"(Other) means the input tray places no restrictions on "
"capacity and MaxCapacity shall be null. 2 (Unknown) "
"means the input tray cannot sense a meaningful value and "
"MaxCapacity shall be null. 3 (Actual) means the input "
"tray 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.prtInputMaxCapacity" },
ModelCorrespondence { "CIM_PrintInputTray.MaxCapacity" }]
uint16 MaxCapacityBasis;

[Description (
"The maximum capacity of the input tray in units "
"specified by CIM_PrintInputTray.CapacityUnit. There is "
"no convention associated with the media itself so this "
"value reflects claimed capacity. If this input tray can "
"reliably sense this value, the value is sensed by the "
"input tray 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.prtInputMaxCapacity",
"MIB.IETF|Printer-MIB.prtInputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" },
ModelCorrespondence { "CIM_PrintInputTray.MaxCapacityBasis" }]
uint32 MaxCapacity;

[Description (
"The basis for the gauge property CurrentLevel, that "
"specifies whether a meaningful value is available. 1 "
"(Other) means the input tray places no restrictions on "
"capacity and CurrentLevel shall be null. 2 (Unknown) "
"means the input tray cannot sense a meaningful value and "
"CurrentLevel shall be null. 3 (Actual) means the input "
"tray can sense a meaningful value and CurrentLevel shall "
"be present. 4 (AtLeastOne) means that the input tray can "
"only sense that at least one capacity unit remains "
"(i.e., not empty) and CurrentLevel 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.prtInputCurrentLevel" },
ModelCorrespondence { "CIM_PrintInputTray.CurrentLevel" }]
uint16 CurrentLevelBasis;

[Description (
"The current level of the input tray in units specified "
"by CIM_PrintInputTray.CapacityUnit. If this input tray "
"can reliably sense this value, the value is sensed by "
"the input tray 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.prtInputCurrentLevel",
"MIB.IETF|Printer-MIB.prtInputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" },
ModelCorrespondence { "CIM_PrintInputTray.CurrentLevelBasis" }]
uint32 CurrentLevel;

[Description (
"This property contains detailed availability information "
"for this input tray, as follows: 1 (Other) means other "
"detailed availability information is present in the "
"OtherAvailabilityStatus property. 2 (Unknown) means "
"detailed availability information for this input tray is "
"unknown. 3 (AvailableIdle) means this input tray is "
"available and idle, i.e., not currently in use. 4 "
"(AvailableStandy) means this input tray is available but "
"on standby, e.g., in a power saving mode. 5 "
"(AvailableActive) means this input tray is available and "
"active, i.e., currently in use. 6 (AvailableBusy) means "
"this input tray is available but busy, i.e., not "
"immediately available for its primary function. 7 "
"(UnavailableOnRequest) means this input tray is not "
"available and is on request, i.e., needs human "
"intervention. 8 (UnavailableBroken) means this input "
"tray is not available and is broken, e.g., needs "
"repair/replacement." ),
"This property contains detailed availability information "
"for this PrintInputTray, as follows: 1 (Other) means other "
"detailed availability information is present in the "
"OtherAvailabilityStatus property. 2 (Unknown) means "
"detailed availability information for this PrintInputTray is "
"unknown. 3 (AvailableIdle) means this PrintInputTray is "
"available and idle, i.e., not currently in use. 4 "
"(AvailableStandy) means this PrintInputTray is available but "
"on standby, e.g., in a power saving mode. 5 "
"(AvailableActive) means this PrintInputTray is available and "
"active, i.e., currently in use. 6 (AvailableBusy) means "
"this PrintInputTray is available but busy, i.e., not "
"immediately available for its primary function. 7 "
"(UnavailableOnRequest) means this PrintInputTray is not "
"available and is on request, i.e., needs human "
"intervention. 8 (UnavailableBroken) means this PrintInputTray "
"is not available and is broken, e.g., needs "
"repair/replacement." ),
ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", ".." },
Values { "Other", "Unknown", "AvailableIdle",
"AvailableStandby", "AvailableActive", "AvailableBusy",
"UnavailableOnRequest", "UnavailableBroken",
"DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.PrtSubUnitStatusTC" },
ModelCorrespondence {
"CIM_ManagedSystemElement.OperatingStatus",
"CIM_PrintInputTray.OtherAvailabilityStatus" }]
uint32 AvailabilityStatus;

[Description (
"A free-form string that describes the detailed "
"availability of this input trayPrintInputTray when the value of the "
"AvailabilityStatus property is equal to 1 (Other)." ),
MinLen ( 0 ),
MaxLen ( 255 ),
ModelCorrespondence { "CIM_PrintInputTray.AvailabilityStatus" }]
string OtherAvailabilityStatus;

[Description (
"If true, there are currently non-critical alerts on this "
"input tray." ),
MappingStrings { "MIB.IETF|Printer-MIB.PrtSubUnitStatusTC" },
ModelCorrespondence {
"CIM_ManagedSystemElement.DetailedStatus" }]
boolean NonCriticalAlertsPresent;

[Description (
"If true, there are currently critical alerts on this input tray."
),
MappingStrings { "MIB.IETF|Printer-MIB.PrtSubUnitStatusTC" },
ModelCorrespondence {
"CIM_ManagedSystemElement.DetailedStatus" }]
boolean CriticalAlertsPresent;

[Description (
"This property provides the value of the PWG standard or "
"custom media size name of the media that is (or, if "
"empty, was or will be) in this input tray. The values of "
"this property shall conform to the requirements of the "
"PWG Media Standardized Names specification [PWG5101.1], "
"which defines the normative values for this property. If "
"this input tray can reliably sense this value, the value "
"is sensed by the input tray and cannot be changed by the "
"system administrator; otherwise, the value may be "
"changed out-of-band by the system administrator. The "
"empty value means unknown." ),
MinLen ( 0 ),
MaxLen ( 63 ),
MappingStrings { "PWG5101-1.PWG|Media Standardized Names",
"MIB.IETF|Printer-MIB.prtInputMediaDimFeedDirDeclared",
"MIB.IETF|Printer-MIB.prtInputMediaDimXFeedDirDeclared" }]
string MediaSizeName;

[Description (
"The descriptive name of the media contained in this "
"input tray. This media name is to be used by a client to "
"format and localize a string for display to a human "
"operator. This media name is not processed by the "
"printer. It is used to provide information not "
"expressible in terms of the other media attributes "
"(e.g., CIM_PrintInputTray.MediaWeight and "
"CIM_PrintInputTray.MediaType)." ),
MinLen ( 0 ),
MaxLen ( 63 ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputMediaName" }]
string MediaName;

[Description (
"The basis for the media property MediaWeight, that "
"specifies whether a meaningful value is available. 2 "
"(Unknown) means the input tray cannot sense a meaningful "
"value and MediaWeight shall be null. 3 (Actual) means "
"the input tray can sense a meaningful value and "
"MediaWeight shall be present." ),
ValueMap { "2", "3", ".." },
Values { "Unknown", "Actual", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtInputMediaWeight" },
ModelCorrespondence { "CIM_PrintInputTray.MediaWeight" }]
uint16 MediaWeightBasis;

[Description (
"The weight of the media associated with this input tray "
"in grams per square meter." ),
MinValue ( 0 ),
MaxValue ( 2147483647 ),
MappingStrings { "MIB.IETF|Printer-MIB.prtInputMediaWeight" },
ModelCorrespondence { "CIM_PrintInputTray.MediaWeightBasis" },
Punit ( "gram / (meter * meter)" )]
uint32 MediaWeight;

[Description (
"The name of the type of media associated with this input "
"tray. The values of this property should conform to the "
"requirements of the PWG Media Standardized Names "
"specification [PWG5101.1], which defines the normative "
"values for this property. This media type name need not "
"be processed by the printer; it might simply be "
"displayed to an operator." ),
MinLen ( 0 ),
MaxLen ( 63 ),
MappingStrings { "PWG5101-1.PWG|Media Standardized Names",
"MIB.IETF|Printer-MIB.prtInputMediaType" }]
string MediaType;

[Description (
"The name of the color of the media associated with this "
"input tray. The values of this property should conform "
"to the requirements of the PWG Media Standardized Names "
"specification [PWG5101.1], which defines the normative "
"values for this property." ),
MinLen ( 0 ),
MaxLen ( 63 ),
MappingStrings { "PWG5101-1.PWG|Media Standardized Names",
"MIB.IETF|Printer-MIB.prtInputMediaColor" }]
string MediaColor;


};



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

Comments from ballot closed 2008/03/07:

Company
Person
Comment and Response
Brocade
John Crandall
Forgot to change the parent.
[PWG] Fixed. 


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

Version

Date

Short description of changes

000

02/25/2008

Original version. 

001
02/25/2008
Correct schema version number to be changed.
002
03/07/2008
Correct parent class. 


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.