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]

CIMCoreCR0nnnn

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

Errata   [Yes|No]

No

Short Description

Modify class CIM_PrintOutputTray, including changes in modeling. 

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

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

CIM_PrintOutputTray.mof

Date Originated  [mm/dd/yyyy]

02/20/2008

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

02/20/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_PrintOutputTray, represents the output receiving component of a printer.  This was the first 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 need to be adjusted due to changes in the modeling, particularly the class hierarchy and status properties;
- a few ModelCorrespondences are being added that were overlooked earlier; and
- one technical error was discovered and is being fixed. 

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
- AvailabilityStatus
- ElementName
- LocalizedDescription
- CapacityUnit
- MaxCapacityBasis
- MaxCapacity
- RemainingCapacityBasis
- RemainingCapacity

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

One property is being removed in favor of the new status values in ManagedSystemElement.
- OfflineStatus

A property is being added to specify if this instance is the default of all the instances of its class. 
- IsDefault

A property is being added to carry "other description" information for AvailabilityStatus. 
- OtherAvailabilityStatus

The interpretation of one case of the RemainingCapacityBasis property is being corrected.  The original description was simply incorrect. 

Two property names are being changed slightly, as previously recommended by Core. 
- CriticalAlertsPresent (used to be CriticalAlertsStatus)
- NonCriticalAlertsPresent (used to be NonCriticalAlertsStatus)

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_PrintOutputTray


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="CIMCoreCR00901" type="new">Added class.</change>
// ==================================================================
// CIM_PrintOutputTray
// ==================================================================
[Experimental, Version ( "2.16.0" ),
UMLPackagePath ( "CIM::Device::Printing" ),
Description (
"Subunit: Output tray on a printer (print device). Properties "
"of a device capable of receiving media delivered from the "
"printing process." )]
class CIM_PrintOutputTray : CIM_LogicalElement {
[Experimental, Version ( "2.19.0" ),
UMLPackagePath ( "CIM::Device::Printing" ),
Description (
"This class represents the PrintOutputTray component of a Printer "
"(print device). It contains properties that describe a device "
"capable of receiving media delivered from the printing process. "
"Note: A PrintOutputTray 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.prtOutputEntry" }]
class CIM_PrintOutputTray : CIM_PrinterElement {

[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 PrintOutputTrayoutput tray. "
"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.prtOutputName" },
ModelCorrespondence { "CIM_ManagedElement.ElementName" }]
string ElementName;

[Description (
"A unique value used by this printer to identify this "
"output tray subunit. Although these values may change "
"due to a major reconfiguration of the subunit (e.g., the "
"addition of new output 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.prtOutputIndex" }]
uint32 SNMPRowId;

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


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

[Description (
"The type of technology supported by this PrintOutputTrayoutput tray subunit."
),
ValueMap { "1", "2", "3", "4", "5", "6", "7", ".." },
Values { "Other", "Unknown", "RemovableBin",
"UnRemovableBin", "ContinuousRollDevice", "MailBox",
"ContinuousFanFold", "DMTF Reserved" },
MappingStrings { "MIB.IETF|Printer-MIB.prtOutputType",
"MIB.IETF|IANA-PRINTER-MIB.PrtOutputTypeTC" }]
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 )]
string OtherTypeDescription;

[Description (
"The unit of measurement for use in calculating and "
"relaying capacity values for this PrintOutputTrayoutput tray subunit." ),
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.prtOutputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" }]
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 )]
string OtherCapacityUnit;

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


[Description (
"The maximum capacity of this PrintOutputTrayoutput tray subunit. There "
"is no convention associated with the media itself so "
"this value essentially reflects claimed capacity. If "
"this PrintOutputTrayoutput tray subunit can reliably sense this value, "
"the value is sensed by the Printerprinter 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.prtOutputMaxCapacity",
"MIB.IETF|Printer-MIB.prtOutputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" }]
uint32 MaxCapacity;

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

[Description (
"The remaining capacity of this PrintOutputTrayoutput tray subunit. If "
"this PrintOutputTrayoutput tray subunit can reliably sense this value, "
"the value is sensed by the Printerprinter 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.prtOutputRemainingCapacity",
"MIB.IETF|Printer-MIB.prtOutputCapacityUnit",
"MIB.IETF|Printer-MIB.PrtCapacityUnitTC" }]
uint32 RemainingCapacity;

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

[Description (

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

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

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

[Description (
"Status: If true, the current state is offline on this "
"printer subunit." ),
MappingStrings { "MIB.IETF|Printer-MIB.PrtSubUnitStatusTC" },
ModelCorrespondence {
"CIM_ManagedSystemElement.OperatingStatus" }]
boolean OfflineStatus;


};



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

02/20/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.