Presentation on theme: "Service Capabilities vs. Attributes"— Presentation transcript:
1 Service Capabilities vs. Attributes There is a difference between a services capabilities, and a direct attribute query.Lets consider them independent.
2 Get Printer Attributes Currently, IPP has the concept of requesting information about attributes.It returns the attributes, and the values that they can take on, and the current value for that attribute.-supported, -default, -ready
3 Use Cases / Requirements Simple Client – Can you do Color?Should a constraint be returned as well?Fully dynamic client UIPartially dynamic client UIPrinter Status
4 GetJobAttributes, GetDocumentAttributes: The requestedAttributes Parameter Pass in instance documents that correspond to the object schema definitions.For Example: GetDocumentAttributesPass in document.xml that is defined by document.xsdThis includes structureValues in elements are ignored, since this is a requestElements that are requested that the job and document don’t have simply do not get returned.If the group does not have any elements listed, then you get back all of the supported elements within the group.
5 CapabilitiesIf we have constraints, if you ask for only one element that has constraints that relate to other elements, then what happens?Perhaps Capabilities always returns the whole enchilada?Proposal to not have requestedAttributes in GetServiceCapabilities method – always return the whole thing. (TBD)Also, the GetServiceCapabilties method has a targetDeviceIdentifier – if this method is on the target device directly, then this parameter is ignored. It is required on the print service.
6 AttributesIn the same way you can ask a Job about it’s attributes, we need to be able to ask a Printer about it’s attributes, or ask a Service about the printers attributes.This is a new method in the SeviceCapabilitiesInterface called GetTargetDeviceAttributes(targetDevice,requestedAttributes)requestedAttributes is defined by Printer.xsdtargetDevice is required on the PrintService, but ignored on a targetDevice