Show
Ignore:
Timestamp:
11/15/03 15:59:53 (21 years ago)
Author:
jalet
Message:

Documentation wrt the new CUPS backend.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/docs/filterpykota.sgml

    r1168 r1187  
    22 
    33<chapter> 
    4   <title id="filter">The pykota filter</title> 
     4  <title id="filter">PyKota's internals</title> 
    55   
    66  <para>Last modified on $Date$</para> 
     
    4949   
    5050  <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. 
    5856  </para> 
    5957   
     
    6664   
    6765  <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, 
    6967    so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>) 
    7068    and behave like if it was specifically designed for your printing system. Fortunately there's not a lot 
     
    7573  <para> 
    7674    When using the <literal>querying</literal> accounting method, 
    77     <application>pykota</application> then asks the printer for its internal page counter, read from the Quota DataBase the internal 
     75    <application>pykota</application> asks the printer for its internal page counter, reads from the Quota DataBase the internal 
    7876    page counter for this printer when the previous job was launched, computes the difference, and report it as the  
    7977    previous job's size in the Quota DataBase. It then updates the last user's print quota and account balance, and 
    8078    warn him if he is over quota or if his account balance is below 0. Finally it checks if the user who launched the  
    8179    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. 
    8385  </para> 
    8486   
     
    106108 
    107109$Log$ 
     110Revision 1.8  2003/11/15 14:59:53  jalet 
     111Documentation wrt the new CUPS backend. 
     112 
    108113Revision 1.7  2003/10/14 20:26:53  jalet 
    109114Better documentation.