<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On May 20, 2009, at 6:41 PM, Space Ship Traveller wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Thanks for your detailed reply. You have clarified a lot of things for me. I have a few more questions.<div><br><div><div>On 21/05/2009, at 4:32 AM, Michael Sweet wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On May 20, 2009, at 5:58 AM, Space Ship Traveller wrote:</div><blockquote type="cite"><div>....</div></blockquote><blockquote type="cite"><div>I then have a client such as OS X with a local CUPS server which I can  <br>load the printer into. This printer is loaded as IPP with the above  <br>URL. I also select the same PPD for use on the client.<br></div></blockquote><div><br></div>Normally you actually want to use no PPD - "-m raw" when adding via the lpadmin command - so that the client grabs the PPD from the server and does no local filtering.</div></div></blockquote><br><div><div><div>What exactly is filtering? What does the process entail? Does the PPD make adjustments to the post script data stream somehow?</div></div></div></div></div></div></blockquote><div><br></div>I'll point you to an overview document that explains this:</div><div><br></div><div>    http://www.cups.org/documentation.php/overview.html</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Mac OS X clients currently use a half-way approach for Bonjour shared printers - they copy the PPD to the local system and update it to basically say "I can print all of the standard formats directly" so that there is a local PPD (so you can still show options and queue jobs when you aren't on the server's network) but still get the benefits of server-side option processing.</div></div></blockquote><div><br></div><div>Does this happen for any other printer type and on other platforms? Or is this behaviour unique to Bonjour shared printers?</div></div></div></div></blockquote><div><br></div>Currently this is unique to Bonjour shared printers on Mac OS X.</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><div>And we expect in this case that the client will pick up the PPD from the server? Is this a reliable behaviour across different platforms?</div></div></div></div></div></blockquote><div><br></div>Yes.</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><div>Is it possible to pull down the PPD from the server given the printer URL?</div></div></div></div></div></blockquote><div><br></div>Yes.  For the printer's URI of the form:</div><div><br></div><div>    <a href="ipp://servername:port/printers/printername">ipp://servername:port/printers/printername</a></div><div><br></div><div>the PPD's URL will be:</div><div><br></div><div>    <a href="http://servername:port/printers/printername.ppd">http://servername:port/printers/printername.ppd</a></div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><div>i.e.</div><div><a href="http://printserver:631/printers/myprinter/ppd">http://printserver:631/printers/myprinter/ppd</a></div></div><div><br></div><div>How is it different between the following cases:</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>1) Manually setting the PPD to be the same as what is on the server<br></div></div></div></div></blockquote><div><br></div>Then the client will try to filter locally.  If you don't have the driver software locally installed (driver == filters specified in PPD), then the client won't be able to print.  This can also cause issues when printing through the server (that I mentioned before).</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><span class="Apple-tab-span" style="white-space:pre">       </span>2) Having the client automatically set the PPD to what the server supplies</div></div></div></div></blockquote><div><br></div>When you configure a "raw" queue pointing at the server's queue, CUPS knows it is a shared printer and will automatically get the server PPD as needed.</div><div><br></div><div>This mechanism is also used for automatically created queues created with CUPS, LDAP, or SLP printer sharing.</div><div><br></div><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>For case (2) Is there some option in the configuration stored somewhere to indicate that the server is actually going to do "filtering"?</div></div></div></div></blockquote><div><br></div>When there is no PPD file for the local queue, the local cupsd knows not to do any filtering.  With a PPD file, the local cupsd does whatever filtering is specified in that PPD file.</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>Also, in that case, does the client supply the options from the print dialogue form to the server, so it can then process it via the PPD? How does this work?</div></div></div></div></blockquote><div><br></div>Yes, the client supplies the options exactly as specified to the server.</div><div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div><br></div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" color="#000000"><br></font><div><br><blockquote type="cite"><div>If I have a PPD on a print queue on a server, does the client somehow  <br>automatically pick that up?<br></div></blockquote><div><br></div>Normally yes.  If you manually configure an IPP queue, then it doesn't.</div></div></blockquote><div><br></div><div>If you manually configure an IPP queue as raw, does this not pick up the PPD on the server?</div><div><br></div><div>Is there documentation about what kinds of queues normally pick up the PPD from the server, and what kinds of queues don't?</div><div><br></div><div>Is there a way to tell on the client if a PPD is being supplied by the server?</div><div><br></div><div><br></div><div>Thanks for your time and answers,</div><div>Samuel</div></div><br></div></div>_______________________________________________<br>cups mailing list<br><a href="mailto:cups@easysw.com">cups@easysw.com</a><br>http://lists.easysw..com/mailman/listinfo/cups<br></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>________________________________________</div><div>Michael R Sweet, Senior Printing System Engineer</div></div></div></span></span>
</div>
<br></body></html>