Changeset 1187 for pykota/trunk/docs/filterpykota.sgml
- Timestamp:
- 11/15/03 15:59:53 (21 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/docs/filterpykota.sgml
r1168 r1187 2 2 3 3 <chapter> 4 <title id="filter"> The pykota filter</title>4 <title id="filter">PyKota's internals</title> 5 5 6 6 <para>Last modified on $Date$</para> … … 49 49 50 50 <para> 51 Currently with a <application>CUPS</application> backend, the <application>pykota</application> filter is used at the very last stage of the print mechanism, 52 just before the final data is sent to the printer, but it may eventually be used earlier with some 53 modifications to <application>CUPS</application>'s filtering configuration. 54 You can find in the mailing list archives of July 2003 an explanation on how to do this. 55 This may allow you to use PyKota with a not-PostScript printer or with a PostScript printer 56 which really needs to have 57 a specific filter like <application>magicfilter</application> or <application>cupsomatic</application>. 51 Currently with a <application>CUPS</application> backend, the <application>pykota</application> filter is 52 deprecated. You have to use the <application>cupspykota</application> CUPS backend instead. 53 This CUPS backend ensures that jobs can't bypass the filtering mechanism, so you can use 54 any printer with any driver and any command line option, and you can be sure that your 55 print job will be correctly accounted for. 58 56 </para> 59 57 … … 66 64 67 65 <para> 68 When you submit a print job, <application> pykota</application>is automatically launched by your printing system,66 When you submit a print job, <application>cupspykota</application> (with CUPS) or <application>pykota</application> (with LPRng) is automatically launched by your printing system, 69 67 so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>) 70 68 and behave like if it was specifically designed for your printing system. Fortunately there's not a lot … … 75 73 <para> 76 74 When using the <literal>querying</literal> accounting method, 77 <application>pykota</application> then asks the printer for its internal page counter, readfrom the Quota DataBase the internal75 <application>pykota</application> asks the printer for its internal page counter, reads from the Quota DataBase the internal 78 76 page counter for this printer when the previous job was launched, computes the difference, and report it as the 79 77 previous job's size in the Quota DataBase. It then updates the last user's print quota and account balance, and 80 78 warn him if he is over quota or if his account balance is below 0. Finally it checks if the user who launched the 81 79 current job is below or above his print quota, and either allows or denies the job's datas to pass to the underlying 82 layer (the printer itself). 80 layer (the printer itself). The <application>cupspykota</application> CUPS backend on the other hand, 81 asks the printer for its internal page counter at the start and at the end of the print job, and 82 computes the values' difference so accounting is done immediately. This way it doesn't let open a window for abuse in the case 83 several printers are managed. That's why the use of <application>cupspykota</application> 84 instead of <application>pykota</application> is recommanded with CUPS. 83 85 </para> 84 86 … … 106 108 107 109 $Log$ 110 Revision 1.8 2003/11/15 14:59:53 jalet 111 Documentation wrt the new CUPS backend. 112 108 113 Revision 1.7 2003/10/14 20:26:53 jalet 109 114 Better documentation.