attachment-0002

<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><base href="x-msg://16/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Pete,<div><br></div><div>Agreed, and I appreciate everything you have done to get the ball rolling - definitely allows us to flesh out the details as needed...</div><div><br></div><div><br><div><div>On 2012-12-04, at 10:29 AM, "Zehler, Peter" &lt;<a href="mailto:Peter.Zehler@xerox.com">Peter.Zehler@xerox.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0in 0in 0.0001pt; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(0, 32, 96); ">All,<o:p></o:p></span></div><div style="font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0in 0in 0.0001pt; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(0, 32, 96); ">My comments are inline below.&nbsp; Keep in mind that the initial straw man proposal is based on a prototype that was done more than three years ago.&nbsp; Things have changed and the WSDL/Schema will evolve to represent the groups consensus.&nbsp; But at least it is a “concrete” start.<o:p></o:p></span></div><div style="font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0in 0in 0.0001pt; "><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(0, 32, 96); ">Pete<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; "><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size: 15px;">...</span></font></div><div style="font-family: 'Andale Mono'; font-size: medium; "><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; ">- But why have&nbsp;GetAvailableJobs at all?<br><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>-&nbsp;Existing GetJobs operation&nbsp;provides all the info needed<o:p></o:p></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>-&nbsp;Notifications tell you which printer&nbsp;needs to be polled<o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">&nbsp;</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">&lt;PZ&gt;I disagree.&nbsp;<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">&nbsp;</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">The attributes returned from a GetJobs are job state related.&nbsp; What a “Cloud Print Manager” requires to decide what Jobs to schedule is JobTicket related.&nbsp; I believe an implementation or deployment requirement is that either the “Cloud Print Service” or the “Cloud Print Manager” should be able to resolve Job Scheduling.&nbsp; We want this to scale from low end printers all the way up to the tree eaters.&nbsp; If the “Cloud Print Service’s” role is job scheduling, it would only return a single job entry at a time.&nbsp; If the “Cloud Print Manager’s” role is job scheduling, it would return a list of job entries at a time along with the information pertinent to job scheduling.</span></div></div></div></div></div></blockquote><div><br></div>At least from the IPP perspective, Get-Jobs can be used to obtain any Job Description or Job Template values for a list of jobs in the requested state(s), and those jobs are returned in the Printer's (Cloud Print Service's) queue order (i.e., most important/recent to least important/recent) so the client (Cloud Print Manager) can not only get all of the pertinent information it needs about pending jobs but also choose which job to process based upon any strategy or preference.</div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="font-family: 'Andale Mono'; font-size: medium; "><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); "><o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); font-size: 12pt; ">The other shortcoming of GetJobs is that it reports the state of the Jobs within the “Cloud Print Manager”.&nbsp; </span></div></div></div></div></div></blockquote><div><br></div>I don't see that; certainly the Cloud Print Service will reflect some of the job state that the Cloud Print Manager sends up to it, but ultimately the CPS is managing the original job, not the CPM. &nbsp;All the CPM can say is "yep, I've processed this job and it is now completed", but the CPS might continue reporting "processing" until it has completed *its* processing of the job along with a corresponding job-state-reasons keyword that tells the client that the output device has completed processing.</div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="font-family: 'Andale Mono'; font-size: medium; "><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); font-size: 12pt; ">I see no reason that a Job with a JobState of either ‘Pending’ or ‘processing’ might not be available to forward onto a “Cloud Print Manager”.&nbsp; However I do not see a requirement that either state would mandate that a Job is available to forward onto a “Cloud Print Manager”.&nbsp; I see no problem in a “Cloud Print Service” acting as a dumb queue or as an active entity providing augmented processing over and above that provided by the target “Cloud Print Manager”.</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">&lt;/PZ&gt;<o:p></o:p></span></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p>&nbsp;</o:p></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p>&nbsp;</o:p></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; ">FetchDocument<o:p></o:p></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><o:p>&nbsp;</o:p></div></div><div><div><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: 'Times New Roman', serif; ">- Need basic transform&nbsp;functionality<o:p></o:p></p><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>-&nbsp;Request that the document data be&nbsp;transformed to a<o:p></o:p></div></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>&nbsp;&nbsp;suitable format for&nbsp;printing, such as “I need PWG<o:p></o:p></div></div><div><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>&nbsp;&nbsp;Raster&nbsp;data in 8-bit grayscale at 300dpi”<o:p></o:p></p></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>-&nbsp;This is used by Google Cloud Print&nbsp;and other<o:p></o:p></div></div><div><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>&nbsp;&nbsp;implementations<o:p></o:p></p></div><div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>-&nbsp;Also covers things such as copy&nbsp;generation, scaling,<o:p></o:p></div></div><div><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>&nbsp;&nbsp;number-up, etc.<o:p></o:p></p><p class="MsoNormal" style="margin: 0in 0in 12pt; font-size: 12pt; font-family: 'Times New Roman', serif; "><span style="color: rgb(0, 32, 96); ">&lt;PZ&gt; I disagree.&nbsp;<o:p></o:p></span></p><p class="MsoListParagraph" style="margin: 0in 0in 12pt 0.25in; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -0.25in; "><span style="font-family: Symbol; color: rgb(0, 32, 96); "><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span></span></span><span style="color: rgb(0, 32, 96); ">The existing capabilities framework (i.e. xxx-supported) takes care of this.&nbsp; The Printer itself can declare the DocumentFormats that it is able to consume.&nbsp; The “Cloud Print Manager” based on the PrinterCapabilities and any of its own capabilities, can declare the DocumentFormats it can consume and forward onto the Printer.&nbsp; Furthermore the supported DocumentFormats could be constrained as well.&nbsp; Note that some transform may take place at the “Cloud Print Manager” either internally or through a contract with an external TransformService.&nbsp; Finally when the “Cloud Print Service” is associated with the “Cloud Print Manager” the formats that are exchanged is limited to the DocumentFormatsSupported of the “Cloud Print Manager”.&nbsp; Of course the “Cloud Print Service” can offer any DocumentFormatsSupported as long as it is able to transform it into one of the required DocumentFormats of the “Cloud Print Manager”.&nbsp; Of course that can be done internally or through a contract with an external TransformService.&nbsp; From an end user point of view the critical behavior is that the “Printer” (i.e. Cloud Print Service”) can accept the DocumentFormat of the user and the appropriate marked media comes out of the target “Printer”.</span></p></div></div></div></div></div></div></blockquote><div><br></div>OK, so previously you advocated a hands-off approach for the Cloud Print Service, but here you clearly indicate that the CPS will be an active party doing a lot of processing on behalf of the CPM, before it is even potentially ready or willing to fetch that job.</div><div><br></div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="font-family: 'Andale Mono'; font-size: medium; "><div><div><div><p class="MsoListParagraph" style="margin: 0in 0in 12pt 0.25in; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -0.25in; "><span style="color: rgb(0, 32, 96); "><o:p></o:p></span></p><p class="MsoListParagraph" style="margin: 0in 0in 12pt 0.25in; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -0.25in; "><span style="font-family: Symbol; color: rgb(0, 32, 96); "><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span></span></span><span style="color: rgb(0, 32, 96); ">This is what is used by Google Cloud Print (See &lt;<a href="https://developers.google.com/cloud-print/docs/devguide#fetching" style="color: purple; text-decoration: underline; "><span style="color: rgb(0, 32, 96); ">https://developers.google.com/cloud-print/docs/devguide#fetching</span></a>&gt;) &nbsp;</span></p></div></div></div></div></div></div></blockquote>Yes, and there is says that the printer asks for the format in the fetch request:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>The file is available in PDF, PWG-raster (March 2011 draft), or in the original format of the document.&nbsp;</div><div><br></div><div>My reason for advocating providing a transform ticket in the fetch request is basically because I find the GCP interface too simplistic - their server decides what the printer will want based upon the static PPD/XPS information. &nbsp;I know from experience that this model is not optimal, and vendors jump through a lot of hoops to work around limitations in the static capabilities of PPDs in their CUPS drivers. &nbsp;It also does not allow for fallback modes - consider a PDF-capable printer that only has storage for PDFs up to ~20MB. &nbsp;If the CPM sees the submitted PDF is too large or (after processing) sees it is too complex to print as PDF, it can go back and ask for a PWG Raster version of the document that *can* be printed.</div><div><br></div><div>Requiring a separate transform service (which the CPM has to discover/be configured with) seems clumsy and not in keeping with how we have defined other services and extensions for IPP and the SM (which contain a lot of simple transform-like attributes/elements already...)</div><div><br></div><div>
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; border-spacing: 0px; "><div>__________________________________________________</div><div>Michael Sweet, Senior Printing System&nbsp;Engineer, PWG Chair<br></div></span>

</div>
<br></div><br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</body></html>