I've finished reading the lastest IPP Protocol spec (2Jul97) and the last model spec (model-issues-970623.pdf). I need feedback on the following questions so that we can continue with our prototype implementation. I know that the Model spec may be updated soon but I don't expect it to change significantly beyond what operations are mandatory versus optional.
Model lines 766-780, section 188.8.131.52: I don't understand what these two paragraphs (cases 5 and 6) are saying. What does this sentence mean? "The client does not supply a Job Template attribute, but the Printer supports the attribute." "The client does not supply an attribute and the Printer does not support the attribute." What attribute are we talking about? Who is specifying it?
Model line 784, section 184.108.40.206: The Print-Job response returns a job URI. My understanding is that the job URI is returned as a parameter where the parameter name is job-URI and its value is the URI. Furthermore, from the encoding spec, all parameters must be the first parameter group in the message. Is my understandig correct?
Model line 803, section 220.127.116.11: In the Print-Job response, I'm confused about the encoding of the "Unsupported Attributes" and the "Unsupported Attribute Values". Are the following assumptions correct?
- Are these two groups considered parameters which contain lists of attributes?
- I'm assuming that "Unsupported Attributes" contains a list of unsupported job template attribute names without values. Is this a parameter group or a single parameter name, e.g. unsupported-attributes with a list of attribute names as values?
- I'm assuming that the "Unsupported Attribute Values" must contain a list of unsupported job template values preceded by their attribute names, i.e. attribute name-value pairs. How is this information mapped to the protocol encoding?
Model line 813, section 18.104.22.168: The Print-Job Response status is encoded in the operation field of the Protocol spec's line 139. Is this correct?
Model line 863, section 22.214.171.124: Why does the Validate-Job Response contain a job identifier? Since a job object is not created, there should not be a job identifier. Is the Model spec in error?
Model line 923, section 126.96.36.199: How is the "Last Document Flag" encoded? I'm assuming that it is a parameter which needs an official (no spaces) parameter name.
Model line 995, section 5.1.9 and 5.1.10: Is my assumption correct that the Get-Attributes (applied to a job URI) and the Get-Jobs operations return job-template attribute name/value pairs that were originally sent by the client or if not sent by the client, the default values set by the Printer?
Model line 098, section 188.8.131.52: The Get-Jobs Response description returns "objects". Are these job objects encoded as parameter groups?
Model line 241, section 6.2: As part of the job template attributes, the Model spec states that "if the Printer supports the "xxx-supported" attribute, the Printer must support the corresponding default value attribute and vice versa." This appears incorrect in that the Model contains a job template table that lists several attributes with no defaults but a supported attribute, e.g. notify-addresses, compression, job-k-octets, job-impressions and job-media-sheets. How should the Model spec be corrected?
Model line 737, section 6.4.3: Where is the "document-number" attribute defined?