DMTF Change Request

CR (Change Request)

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.

Number [CIMCoreCR00001.000]CIMCoreCR01609.001
Author NameRichard Landau
Author EmailRichard_Landau@dell.com
Alliance OrganizationPrinter Working Group
Alliance Data N/A
Errata [true|false]false
DescriptionUpdate enums and add properties to CIM_PrintJob
Schema NameCIM
Schema ModelDevice
Schema Version2.29.0
Schema Status [Final | Experimental]experimental
Schema FilenameDevice/CIM_PrintJob.mof
Date Originated2011-02-10
Date Last Revised2012-03-15
Dependencies [CIMCoreCR00555.007,CIMCoreCR00600.004,...]CIMCoreCR1610, CIMCoreCR1611, CIMCoreCR1612

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

This is one of four CRs updating the PrintService and PrintJob classes to 
match the existing print service standards.  Two additional classes are also 
added to describe PrintServiceCapabilities and PrintServiceSettings.  

This CR updates the CIM_PrintJob class.

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

Deprecate several properties.  
Update several Description clauses.  
Add enum values for new XPS printer language.  
Add enum values for new job states.  
Add ModelCorrespondences to related properties in new classes.  
Add a number of new properties to bring PrintJob up to date with standards.

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

   [Version ( "2.29.0" ), 
    Version ( "2.14.0" ), 
    UMLPackagePath ( "CIM::Device::Printing" ), 
    Description ( 
       "Description of a print request that is either waiting on a "
       "Queue for a Printer to become available or in the process of "
       "being output on a Printer, or that has previously been printed "
       "on a Printer. PrintJobs are weak to their current Queue, or to "
       "the last Queue that held them. The ABNF for CIM references to "
       "PWG Standards and MIBs is in the directory "
       "\'ftp://ftp.pwg.org/pub/pwg/general/process\' in the file "
       "\'pwg-cim-references-format-20060309.txt\'. An example for a "
       "MappingStrings reference to a PWG Standard is "
       "\'PWG5101-1.PWG|Section 4 Media Color Names\'. An example for "
       "a MappingStrings reference to a PWG MIB is "
       "\'MIB.PWG|PWG-IMAGING-COUNTER-MIB.icMonitorCompletedJobs\'." )
    ]
class CIM_PrintJob : CIM_Job {

      [Key, Description ( 
          "The CreationClassName of the scoping System." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_PrintQueue.SystemCreationClassName" )
       ]
   string SystemCreationClassName;

      [Key, Description ( "The Name of the scoping System." ), 
       MaxLen ( 256 ), 
       MappingStrings { "MIB.IETF|SNMPv2-MIB.sysName" }, 
       Propagated ( "CIM_PrintQueue.SystemName" )
       ]
   string SystemName;

      [Key, Description ( 
          "The CreationClassName of the scoping Queue." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_PrintQueue.CreationClassName" )
       ]
   string QueueCreationClassName;

      [Key, Description ( "The Name of the scoping Queue." ), 
       MaxLen ( 256 ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jmGeneralJobSetName", 
          "MIB.IETF|Job-Monitoring-MIB.queueNameRequested", 
          "RFC2911.IETF|Job.output-device-assigned" }, 
       Propagated ( "CIM_PrintQueue.Name" )
       ]
   string QueueName;

      [Override ( "JobStatus" ), 
       Description ( 
          "The inherited JobStatus is used to provide additional "
          "information about the status of a PrintJob beyond that "
          "enumerated by PrintJobStatus." ), 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobState", 
          "MIB.IETF|Job-Monitoring-MIB.jmJobStateReasons1", 
          "RFC2911.IETF|Job.job-state", 
          "RFC2911.IETF|Job.job-state-reasons", 
          "RFC2911.IETF|Job.job-state-message" }, 
       ModelCorrespondence { "CIM_PrintJob.PrintJobStatus" }
       ]
   string JobStatus;

      [Key, Description ( 
          "Uniquely identifies this Job within its scoping Queue, "
          "but NOT across different Queues or PrintServices." ), 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobIndex", 
          "MIB.IETF|Job-Monitoring-MIB.jmJobSubmissionID", 
          "RFC2911.IETF|Job.job-id" }
       ]
   string JobID;

      [Deprecated { "No Value" }, 
       Description ( 
          "Note: The use of this free-form string property is "
          "deprecated in lieu of the more semantically rich "
          "CIM_JobSettingData class inherited from CIM_Job." )
       ]
   string SchedulingInformation;

      [Description ( 
          "Specifies the size of the PrintJob (as a byte stream) in "
          "units of Kbytes." ), 
       Units ( "KiloBytes" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jmJobKOctetsProcessed", 
          "RFC2911.IETF|Job.job-k-octets" }, 
       ModelCorrespondence { "CIM_Printer.MaxSizeSupported", 
          "CIM_PrintServiceCapabilities.MaxJobSize", 
          "CIM_PrintQueue.MaxJobSize" }, 
       PUnit ( "byte * 10^3" )
       ]
   uint32 JobSize;

      [Deprecated { "CIM_PrintJob.MimeTypes" }, 
       Description ( 
          "Note: The use of this property has been deprecated, due "
          "to ambiguity. Instead use MimeTypes. \n"
          "Enumerated print languages are only available in the "
          "IETF Printer MIB v1/v2 (RFC 1759/3805) and are not "
          "available in open standard print protocols (i.e., no "
          "known mapping). \n"
          "Deprecated description: \n"
          "Specifies the print language that is used by this Job. \n"
          "Note: For legacy compatiblity reasons, this property is "
          "NOT exactly aligned (in order of values) with the "
          "authoritative PrtInterpreterLangFamilyTC in the IANA "
          "Printer MIB, unlike the newer property "
          "PrintInterpreter.LangType (which is exactly aligned with "
          "the IANA Printer MIB)." ), 
       Description ( 
          "Specifies the print language that is used by this Job." ), 
       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", "35", 
          "36", "37", "38", "39", "40", "41", "42", "43", "44", 
          "45", "46", "47", "48", "50", "51", "52", "53", "54", 
          "55", "56", "57", "58", "59", "60", "61", "62", "63", 
          "64", "65", "66", "67", "68", "69", ".." }, 
       Values { "Other", "Unknown", "PCL", "HPGL", "PJL", "PS", 
          "PSPrinter", "IPDS", "PPDS", "EscapeP", "Epson", "DDIF", 
          "Interpress", "ISO6429", "Line Data", "MODCA", "REGIS", 
          "SCS", "SPDL", "TEK4014", "PDS", "IGP", "CodeV", "DSCDSE", 
          "WPS", "LN03", "CCITT", "QUIC", "CPAP", "DecPPL", 
          "Simple Text", "NPAP", "DOC", "imPress", "Pinwriter", 
          "NPDL", "NEC201PL", "Automatic", "Pages", "LIPS", "TIFF", 
          "Diagnostic", "CaPSL", "EXCL", "LCDS", "XES", "MIME", 
          "TIPSI", "Prescribe", "LinePrinter", "IDP", "XJCL", "PDF", 
          "RPDL", "IntermecIPL", "UBIFingerprint", 
          "UBIDirectProtocol", "Fujitsu", "PCLXL", "ART", "CGM", 
          "JPEG", "CALS1", "CALS2", "NIRS", "C4", "XPS", "OpenXPS"
          , "DMTF Reserved" }, 
       MappingStrings { 
          "MIB.IETF|Printer-MIB.prtInterpreterLangFamily", 
          "MIB.IETF|IANA-PRINTER-MIB.PrtInterpreterLangFamilyTC", 
          "MIB.IETF|Job-Monitoring-MIB.documentFormat", 
          "PWG5100-7.PWG|Job.document-format-supplied" }, 
       ModelCorrespondence { "CIM_Printer.LanguagesSupported", 
          "CIM_PrintService.LanguagesSupported", 
          "CIM_PrintJob.MimeTypes" }
       ]
   uint16 Language;

      [Description ( 
          "Specifies the MIME types that are used by the PrintJob." ), 
       Description ( 
          "Specifies the MIME types that are used by the PrintJob "
          "if Language is set to indicate that a MIME type is in "
          "use (value=47)." ), 
       ModelCorrespondence { "CIM_PrintJob.Language", 
          "CIM_Printer.MimeTypesSupported", 
          "CIM_PrintServiceSettings.DocumentFormat", 
          "CIM_PrintService.MimeTypesSupported" }
       ]
   string MimeTypes[];

      [Description ( 
          "A string that specifies the type of paper that is "
          "required by this PrintJob. The values of the property "
          "SHOULD conform to the requirements of the PWG Media "
          "Standardized Names specification [PWG5101.1], which "
          "defines the normative values for this property. See "
          "older Appendix B \'Media Size Names\' and Appendix C "
          "\'Media Names\' of IETF Printer MIB v2 [RFC3805] which "
          "list the values of standardized media names defined in "
          "ISO DPA [ISO10175]." ), 
       MappingStrings { "PWG5101-1.PWG|Media Standardized Names", 
          "MIB.IETF|Job-Monitoring-MIB.mediumRequested", 
          "RFC2911.IETF|Job.media" }, 
       ModelCorrespondence { "CIM_Printer.PaperTypesAvailable", 
          "CIM_PrintServiceSettings.Media", 
          "CIM_PrintService.PaperTypesAvailable" }
       ]
   string RequiredPaperType;

      [Deprecated { "CIM_PrintJob.Finishings" }, 
       Description ( 
          "Note: The use of this property has been deprecated, due "
          "to ambiguity. Instead use Finishings. \n"
          "Enumerated finishings are not available in open standard "
          "print protocols (i.e., no known mapping). \n"
          "Deprecated description: \n"
          "An array of integers that indicates the type of "
          "finishing that is required by this Job. It is equivalent "
          "to the Capabilities property that is provided by the "
          "Printer." ), 
       Description ( 
          "An array of integers that indicates the type of "
          "finishing that is required by this Job. It is equivalent "
          "to the Capabilities property that is provided by the "
          "Printer." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", 
          "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", 
          "17", "18", "19", "20", "21" }, 
       Values { "Unknown", "Other", "Color Printing", 
          "Duplex Printing", "Copies", "Collation", "Stapling", 
          "Transparency Printing", "Punch", "Cover", "Bind", 
          "Black and White Printing", "One Sided", 
          "Two Sided Long Edge", "Two Sided Short Edge", "Portrait", 
          "Landscape", "Reverse Portrait", "Reverse Landscape", 
          "Quality High", "Quality Normal", "Quality Low" }, 
       ArrayType ( "Indexed" ), 
       ModelCorrespondence { "CIM_Printer.Capabilities", 
          "CIM_PrintService.Capabilities" }
       ]
   uint16 Finishing[];

      [Description ( 
          "The number of physical copies of the output that will be "
          "produced from this Job." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCopiesRequested", 
          "RFC2911.IETF|Job.copies" }, 
       ModelCorrespondence { "CIM_Printer.MaxCopies"
          , "CIM_PrintServiceCapabilities.Copies"
          , "CIM_PrintServiceSettings.Copies" }
       ]
   uint32 Copies;

      [Description ( 
          "The resolution of the in Pixels per Inch for the Job in "
          "the cross-feed direction, i.e., short-edge in portrait "
          "feed mode." ), 
       Units ( "Pixels per Inch" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.printerResolutionRequested", 
          "RFC2911.IETF|Job.printer-resolution" }, 
       ModelCorrespondence { "CIM_Printer.HorizontalResolution"
          , "CIM_PrintServiceCapabilities.Resolution"
          , "CIM_PrintServiceSettings.Resolution" }, 
       PUnit ( "pixel / inch" )
       ]
   uint32 HorizontalResolution;

      [Description ( 
          "The resolution in Pixels per Inch for the Job in the "
          "feed direction, i.e., long-edge in portrait feed mode." ), 
       Units ( "Pixels per Inch" ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.printerResolutionRequested", 
          "RFC2911.IETF|Job.printer-resolution" }, 
       ModelCorrespondence { "CIM_Printer.VerticalResolution"
          , "CIM_PrintServiceCapabilities.Resolution"
          , "CIM_PrintServiceSettings.Resolution" }, 
       PUnit ( "pixel / inch" )
       ]
   uint32 VerticalResolution;

      [Description ( 
          "Specifies the character set and encoding method that "
          "should be used by the Printer for the management of this "
          "Job. The strings should conform to the semantics and "
          "syntax that are specified by section 4.1.2 \'Charset "
          "parameter\' in RFC 2046 (MIME Part 2) and contained in "
          "the IANA character-set registry. Examples include "
          "\'utf-8\', \'us-ascii\', and \'iso-8859-1\'." ), 
       Description ( 
          "Specifies the character set and encoding method that "
          "should be used by the Printer for the management of this "
          "Job. The strings should conform to the semantics and "
          "syntax that are specified by section 4.1.2 (\"Charset "
          "parameter\") in RFC 2046 (MIME Part 2) and contained in "
          "the IANA character-set registry. Examples include "
          "\"utf-8\", \"us-ascii\" and \"iso-8859-1\"." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCodedCharSet", 
          "MIB.IETF|IANA-CHARSET-MIB.IANACharset", 
          "RFC2911.IETF|Job.attributes-charset" }, 
       ModelCorrespondence { "CIM_Printer.CharSetsSupported"
          , "CIM_PrintServiceCapabilities.Charset" }
       ]
   string CharSet;

      [Description ( 
          "Identifies the language that should be used by the "
          "Printer for the management of this Job. The specified "
          "value should conform to RFC 5646. For example, \'en\' is "
          "used for English." ), 
       Description ( 
          "Identifies the language that should be used by the "
          "Printer for the management of this Job. The specified "
          "value should conform to RFC 1766. For example, \"en\" is "
          "used for English." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobNaturalLanguageTag", 
          "RFC2911.IETF|Job.attributes-natural-language" }, 
       ModelCorrespondence { "CIM_Printer.NaturalLanguagesSupported"
          , "CIM_PrintServiceCapabilities.NaturalLanguage" }
       ]
   string NaturalLanguage;

      [Description ( 
          "The number of print-stream pages that should be rendered "
          "onto a single media sheet when the Printer outputs this "
          "PrintJob." ), 
       MappingStrings { "RFC2911.IETF|Job.number-up" }, 
       ModelCorrespondence { "CIM_Printer.MaxNumberUp"
          , "CIM_PrintServiceCapabilities.NumberUp"
          , "CIM_PrintServiceSettings.NumberUp" }
       ]
   uint32 NumberUp;

      [Description ( 
          "Describes the current state of this Job with respect to "
          "the PrintQueue and the Printer. Additional information "
          "can be specified in JobStatus. \n"
          "1 (Other) means this Job is in some non-standard state. \n"
          "2 (Unknown) means this Job is in an unknown state. \n"
          "3 (Pending) maps to IPP job-state \'pending\'. \n"
          "4 (Blocked) maps to IPP job-state \'pending-held\'. \n"
          "5 (Completed) maps to IPP job-state \'completed\'. \n"
          "6 (Completed With Error) maps to IPP job-state "
          "\'completed\' in combination with IPP job-state-reasons "
          "\'completed-with-errors\'. \n"
          "7 (Printing) maps to IPP job-state \'processing\'. \n"
          "8 (Processing Stopped) maps to IPP job-state "
          "\'processing-stopped\'. \n"
          "9 (Canceled) maps to IPP job-state \'canceled\'. \n"
          "10 (Aborted) maps to IPP job-state \'aborted\'." ), 
       Description ( 
          "Describes the current state of this Job with respect to "
          "the PrintQueue and the Printer. Additional information "
          "can be specified in JobStatus." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7"
          , "8", "9", "10" }, 
       Values { "Other", "Unknown", "Pending", "Blocked", 
          "Complete", "Completed With Error", "Printing"
          , "Processing Stopped", "Canceled", "Aborted" }, 
       MappingStrings { "MIB.IETF|Job-Monitoring-MIB.jmJobState", 
          "RFC2911.IETF|Job.job-state" }, 
       ModelCorrespondence { "CIM_PrintJob.TimeCompleted", 
          "CIM_PrintJob.JobStatus" }
       ]
   uint16 PrintJobStatus;

      [Description ( 
          "The time when this Job was completed. This value is "
          "valid only if the PrintJobStatus has been assigned to "
          "\'Complete\' or \'Completed With Error\'." ), 
       Description ( 
          "The time when this Job was completed. This value is "
          "valid only if the PrintJobStatus has been assigned to "
          "\"Complete\" (value=5) or \"Completed With Error\" "
          "(value=6)." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobCompletionTime", 
          "RFC2911.IETF|Job.date-time-at-completed" }, 
       ModelCorrespondence { "CIM_PrintJob.PrintJobStatus" }
       ]
   datetime TimeCompleted;

      [Description ( 
          "Describes the job sheets that should be used when this "
          "Job is output on the Printer. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Additional vendor or site values may also be used. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'none\' indicates no job start/end sheets. \n"
          "Value \'standard\' indicates one or more site-specific "
          "standard job sheets." ), 
       Description ( 
          "Describes the job sheets that should be used when this "
          "Job is output on the Printer." ), 
       MappingStrings { "RFC2911.IETF|Job.job-sheets" }, 
       ModelCorrespondence { "CIM_Printer.AvailableJobSheets"
          , "CIM_PrintServiceCapabilities.JobSheets"
          , "CIM_PrintServiceSettings.JobSheets" }
       ]
   string RequiredJobSheets[];

      [Description ( 
          "Provides additional information, beyond Job Owner that "
          "is inherited from CIM_Job, to identify the origins of "
          "the PrintJob. This property could include information "
          "such as the System, Application, or Process that created "
          "the Job." ), 
       MappingStrings { 
          "MIB.IETF|Job-Monitoring-MIB.jobOriginatingHost", 
          "MIB.IETF|Job-Monitoring-MIB.submittingServerName", 
          "MIB.IETF|Job-Monitoring-MIB.submittingApplicationName", 
          "RFC2911.IETF|Job.job-originating-user-name" }
       ]
   string JobOrigination;

      [Experimental, Description ( 
          "Additional information about each document access error "
          "encountered by the associated PrintService while "
          "processing this PrintJob, e.g., (404) "
          "http://example.com/telephone-list.pdf." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.11 job-document-access-errors" }, 
       ModelCorrespondence { "CIM_PrintJob.NumberOfDocuments" }
       ]
   string DocumentAccessErrors[];

      [Override ( "ElapsedTime" ), 
       Description ( 
          "The processing elapsed time of this instance of "
          "PrintJob, after the Job has completed. \n"
          "Note: This property is NOT meaningful before PrintJob "
          "completion." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.3 time-at-completed", 
          "RFC2911.IETF|Section 4.3.14.7 date-time-at-completed" }, 
       ModelCorrespondence { "CIM_PrintJob.TimeCompleted" }
       ]
   datetime ElapsedTime;

      [Required, Override ( "ElementName" ), 
       Description ( 
          "The user-friendly name for this instance of PrintJob. 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.) \n"
          "This name shall be supplied by the client or generated "
          "by the PrintService (if missing in job creation "
          "operation). \n"
          "JobID is required to have a value; this behavior is "
          "mandated by the IETF IPP printing model (RFC 2911)." ), 
       MappingStrings { "RFC2911.IETF|Section 4.3.5 job-name" }
       ]
   string ElementName;

      [Experimental, Description ( 
          "The array of named finishings for this PrintJob. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'punch\' means drill hole(s) in each Job copy. \n"
          "Value \'staple\' means put staple(s) in each Job copy." ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.6 finishings" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.Finishings", 
          "CIM_PrintServiceSettings.Finishings" }
       ]
   string Finishings[];

      [Experimental, Description ( 
          "The number of output impressions completed for this "
          "instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.17.2 job-impressions", 
          "RFC2911.IETF|Section 4.3.18.2 job-impressions-completed" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.MaxImpressions" }
       ]
   uint32 ImpressionsCompleted;

      [Experimental, Description ( 
          "The named job hold until for this PrintJob. \n"
          "That is, the named time period when the PrintJob may be "
          "scheduled. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Additional vendor or site values may also be used. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'night\' means local night (site-specific). \n"
          "Value \'weekend\' means local weekend (site-specific). \n"
          "Value \'no-hold\' means schedule PrintJob immediately." ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.2 job-hold-until" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.JobHoldUntil", 
          "CIM_PrintServiceSettings.JobHoldUntil" }
       ]
   string JobHoldUntil;

      [Experimental, Description ( 
          "The priority for this PrintJob. \n"
          "Note: Weighted scale is *opposite* to Job.Priority. \n"
          "The value 1 indicates the lowest possible priority. \n"
          "The value 100 indicates the highest possible priority." ), 
       MinValue ( 1 ), 
       MaxValue ( 100 ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.1 job-priority" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.JobPriority", 
          "CIM_PrintServiceSettings.JobPriority" }
       ]
   uint32 JobPriority;

      [Experimental, Description ( 
          "The human-readable status messages for this instance of "
          "PrintJob, e.g., \'Paused by operator at 12:04\'." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.10 job-detailed-status-messages", 
          "RFC2911.IETF|Section 4.3.9 job-state-message" }, 
       ModelCorrespondence { "CIM_PrintJob.JobStatus", 
          "CIM_PrintJob.PrintJobStatus" }
       ]
   string JobStatusMessage[];

      [Experimental, Description ( 
          "Unique URI for this PrintJob across all instances of "
          "PrintQueue and across all instances of PrintService. \n"
          "Value is assigned by associated PrintService when the "
          "PrintJob is received." ), 
       MappingStrings { "RFC2911.IETF|Section 4.3.1 job-uri" }
       ]
   string JobURI;

      [Experimental, Description ( 
          "A human-readable message to end users from the operator, "
          "system administrator, or management software for this "
          "instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.16 job-message-from-operator" }, 
       ModelCorrespondence { "CIM_PrintService.MessageFromOperator", 
          "CIM_PrintService.NaturalLanguage", 
          "CIM_PrintJob.NaturalLanguage" }
       ]
   string MessageFromOperator;

      [Experimental, Description ( 
          "The URI for more info about this specific instance of "
          "PrintJob. \n"
          "This URI shall be generated as a factory default by the "
          "manufacturer and may be changed out-of-band to a "
          "site-specific URI by the system administrator." ), 
       MappingStrings { "RFC2911.IETF|Section 4.3.4 job-more-info" }, 
       ModelCorrespondence { "CIM_PrintService.MoreInfoURI" }
       ]
   string MoreInfoURI;

      [Experimental, Description ( 
          "The multiple document handling for this PrintJob. \n"
          "That is, the named policy for the handling of "
          "finishing,the placement of one or more input logical "
          "pages onto output impressions, and multiple copies in a "
          "PrintJob with two or more documents. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'single-document\' means apply finishing to "
          "multiple document sets (i.e., each copy of the "
          "PrintJob). \n"
          "Value \'single-document-new-sheet\' means the same "
          "behavior as \'single-document\' plus each document must "
          "start on a new sheet (i.e., a front side in duplex)." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.2.4 multiple-document-handling" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.MultipleDocumentHandling", 
          "CIM_PrintServiceCapabilities.MultipleDocumentJobs", 
          "CIM_PrintServiceSettings.MultipleDocumentHandling" }
       ]
   string MultipleDocumentHandling;

      [Experimental, Description ( 
          "The number of input documents in this PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.12 number-of-documents" }, 
       ModelCorrespondence { "CIM_PrintJob.DocumentAccessErrors" }
       ]
   uint32 NumberOfDocuments;

      [Experimental, Description ( 
          "The orientation requested for this PrintJob. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'portrait\' means imaged across the short edge, "
          "with no content rotation. \n"
          "Value \'landscape\' means imaged across the long edge, "
          "with content rotated 90 degrees anticlockwise from "
          "\'portrait\'. \n"
          "Value \'reverse-landscape\' means imaged across the long "
          "edge, with content rotated 90 degrees clockwise from "
          "\'portrait\'. \n"
          "Value \'reverse-portrait\' means imaged across the short "
          "edge, with content rotated 180 degrees (opposite) from "
          "\'portrait\'." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.2.10 orientation-requested" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.OrientationRequested", 
          "CIM_PrintServiceSettings.OrientationRequested" }
       ]
   string OrientationRequested;

      [Experimental, Description ( 
          "The assigned output device name(s) for this instance of PrintJob."
           ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.13 output-device-assigned", 
          "PWG5100-7.PWG|Section 4.2.1 output-device", 
          "PWG5100-7.PWG|Section 4.2.1.3 output-device-actual" }, 
       ModelCorrespondence { "CIM_Printer.ElementName", 
          "CIM_PrintServiceCapabilities.OutputDevice" }
       ]
   string OutputDevice[];

      [Experimental, Description ( 
          "The input logical page ranges for this PrintJob. \n"
          "That is, the set of input logical pages to be included "
          "in the output. \n"
          "Note: Each page range shall be specified as lower and "
          "then higher decimal numbers separated by a colon (X:Y). \n"
          "The set of page ranges shall be in ascending order, "
          "e.g., \'1:5\', \'7:10\'. \n"
          "The page ranges shall not overlap, so that a "
          "non-spooling PrintService can process the PrintJob in a "
          "single pass." ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.7 page-ranges" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.PageRanges" }
       ]
   string PageRanges[];

      [Experimental, Description ( 
          "The print quality for impressions for this PrintJob. \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'draft\' means lowest print quality. \n"
          "Value \'normal\' means normal print quality. \n"
          "Value \'high\' means highest print quality." ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.13 print-quality" }, 
       ModelCorrespondence { 
          "CIM_PrintServiceCapabilities.PrintQuality", 
          "CIM_PrintServiceSettings.PrintQuality" }
       ]
   string PrintQuality;

      [Experimental, Description ( 
          "The number of output sheets completed for this instance "
          "of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.17.3 job-media-sheets", 
          "RFC2911.IETF|Section 4.3.18.3" }, 
       ModelCorrespondence { "CIM_PrintServiceCapabilities.MaxSheets" }
       ]
   uint32 SheetsCompleted;

      [Experimental, Description ( 
          "The imposition mode for impressions for this PrintJob. \n"
          "That is, the policy for imposing input logical pages "
          "onto output impressions (sides of selected media). \n"
          "Complete standard values are in the IANA IPP Registry. \n"
          "Standard values defined in IPP/1.1 (RFC 2911) include: \n"
          "Value \'one-sided\' means each successive input logical "
          "page onto the same side of consecutive sheets of media. \n"
          "Value \'two-sided-long-edge\' means each consecutive "
          "pair of input logical pages onto front and back sides of "
          "consecutive sheets of media, with orientation for long "
          "edge binding \n"
          "Value \'two-sided-short-edge\' means each consecutive "
          "pair of input logical pages onto front and back sides of "
          "consecutive sheets of media, with orientation for short "
          "edge binding." ), 
       MappingStrings { "RFC2911.IETF|Section 4.2.8 sides" }, 
       ModelCorrespondence { "CIM_PrintServiceCapabilities.Sides", 
          "CIM_PrintServiceSettings.Sides" }
       ]
   string Sides;

      [Override ( "StartTime" ), 
       Description ( 
          "The processing start time of this instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.2 time-at-processing", 
          "RFC2911.IETF|Section 4.3.14.6 date-time-at-processing" }
       ]
   datetime StartTime;

      [Override ( "TimeSubmitted" ), 
       Description ( 
          "The creation time of this instance of PrintJob." ), 
       MappingStrings { 
          "RFC2911.IETF|Section 4.3.14.1 time-at-creation", 
          "RFC2911.IETF|Section 4.3.14.5 date-time-at-creation" }
       ]
   datetime TimeSubmitted;


};

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

VersionOrganizationSubmitterCommentResolutionResolution Comment
000IBMMaier, AndreasI don't think the Required (= non-Null) qualifier should be set for the ElementName property. Whenever that was done, it led to trouble at some point. If a profile needs a non-Null value, it can require that without specifying Required in the schema.REJECTEDThis is mandated by the IETF IPP printing model. Will add explanation to Description.

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

VersionDateDescription
0002011-02-10Initial Version
0012011-03-15Revised per comments.


Note that this document is labeled as " Confidential". It is intended only for 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 3.0.0
Copyright (c) 2009 Distributed Management Task Force, Inc. (DMTF). All Rights Reserved.