Index: pykota/trunk/docs/installation.sgml
===================================================================
--- pykota/trunk/docs/installation.sgml (revision 1500)
+++ pykota/trunk/docs/installation.sgml (revision 1600)
@@ -29,7 +29,7 @@
     have to decompress and visit its archive, to do so just type the following commands :
     <screen>
-jerome@nordine:~$ tar -zxf pykota-1.18_official.tar.gz    
-jerome@nordine:~$ cd pykota-1.18_official
-jerome@nordine:~/pykota-1.18_official$
+jerome@nordine:~$ tar -zxf pykota-1.19_official.tar.gz    
+jerome@nordine:~$ cd pykota-1.19_official
+jerome@nordine:~/pykota-1.19_official$
     </screen>
   </para>
@@ -152,5 +152,5 @@
             <filename>initscripts/postgresql/pykota-postgresql.sql</filename> file
             accordingly, and report your changes into <application>PyKota</application>'s
-            configuration file.
+            configuration files.
           </para>
         </note>  
@@ -165,6 +165,6 @@
         From a command line interpreter (i.e. shell), type the following commands :
         <screen>
-jerome@nordine:~$ cd pykota-1.18_official/initscripts/postgresql
-jerome@nordine:~/pykota-1.18_official/initscripts$ psql -h localhost -U postgres template1
+jerome@nordine:~$ cd pykota-1.19_official/initscripts/postgresql
+jerome@nordine:~/pykota-1.19_official/initscripts$ psql -h localhost -U postgres template1
 Welcome to psql, the PostgreSQL interactive terminal.
 
@@ -197,5 +197,5 @@
 ALTER USER
 pykota=# \q
-jerome@nordine:~/pykota-1.18_official/initscripts/postgresql$
+jerome@nordine:~/pykota-1.19_official/initscripts/postgresql$
         </screen>
       </para>
@@ -210,6 +210,6 @@
         take any other step as needed. Please refer to <application>PostgreSQL</application>'s
         documentation for details. Also if <application>PyKota</application>'s configuration
-        file <filename>/etc/pykota/pykotadmin.conf</filename> is readable by anyone with access on your file system, a local user could 
-        create some script to modify his own print quota.
+        file <filename>/etc/pykota/pykotadmin.conf</filename> is readable by anyone with access on your file system, 
+        a local user could create some script to modify his own print quota.
         <warning>
           <title>Warning</title>
@@ -248,5 +248,5 @@
       <para>
         From version 1.09 on, <application>OpenLDAP</application> can be used as a Quota Storage Backend.
-        It is possible that other LDAP servers can be used, but this is currently untested.
+        Some other LDAP servers can be used, but this is currently untested in production.
       </para>
       
@@ -283,15 +283,29 @@
         While this is not mandatory, it is recommended that you setup
         some indexes for some often accessed PyKota attributes.
-        Actually, the <acronym>LDAP</acronym> schema included with
-        PyKota doesn't allow indexes of another type than <literal>eq</literal>,
-        but this will change in a next release. Here are the minimal indexes
+        Here are the minimal indexes
         lines you may want to put in <filename>slapd.conf</filename> :
         <screen>
 # Indexes for PyKota
-index pykotaUserName eq
-index pykotaGroupName eq
-index pykotaPrinterName eq
+index pykotaUserName pres,eq,sub
+index pykotaGroupName pres,eq,sub
+index pykotaPrinterName pres,eq,sub
 index pykotaLastJobIdent eq
         </screen>
+      </para>
+      
+      <para>
+        Now you must ensure that the DNs you'll use to bind to    
+        your OpenLDAP server don't have search queries size limits,
+        which gives for example (OpenLDAP 2.1.x or above) :
+        
+<screen>        
+# No Limits for PyKota's administrator and read-only user
+limits dn="cn=RWadmin,dc=example,dc=com" size.soft=-1 size.hard=soft
+limits dn="cn=ROadmin,dc=example,dc=com" size.soft=-1 size.hard=soft
+</screen>        
+
+        Where RWadmin and ROadmin are the usernames used to bind to your
+        OpenLDAP server within PyKota, respectively in ReadWrite mode 
+        (as set in pykotadmin.conf) and in ReadOnly mode (as set in pykota.conf).
       </para>
       
@@ -381,5 +395,5 @@
           <para>
             <application>CUPS</application> version 1.1 or above, or <application>LPRng</application>
-            version 3.8.20 or above (it probably works with older versions but this is untested).
+            version 3.8.27 or above (it probably works with older versions but this is untested).
             You can download them from <ulink url="http://www.cups.org">http://www.cups.org</ulink>
             or <ulink url="http://lprng.sourceforge.net">http://lprng.sourceforge.net</ulink>
@@ -532,5 +546,5 @@
       Please create a backup of the <filename>/etc/pykota</filename>
       directory before modifying anything.
-      Under some circumstances, the setup PyKota may refuse to install PyKota
+      Under some circumstances, PyKota's setup script may refuse to install PyKota
       until you have modified your configuration. Just do it and restart
       the installation script as described above.
@@ -611,5 +625,14 @@
       <para>
         Then when creating new printers or reconfiguring existing ones, just
-        choose devices which are <literal>PyKota managed</literal> instead of
+        choose devices which are <literal>PyKota managed</literal>
+        <footnote>
+          <para>
+            Debian 3.0 Woody is known to have problems : CUPS 1.1.14 doesn't automatically
+            detect <literal>PyKota managed</literal> devices. So you have to manually
+            modify CUPS' <filename>printers.conf</filename> file as explained in 
+            PyKota's toplevel <filename>README</filename> file.
+          </para>
+        </footnote>
+        instead of
         normal devices. You've got one <literal>PyKota managed</literal> device
         for each regular device available from CUPS, so just choose the appropriate
@@ -645,19 +668,32 @@
     <sect2>
       <title>With LPRng</title>
-      <para>
-        ######### TODO ##########
-      </para>
-      
-      <para>
-        You have to restart <application>LPRng</application> for this modification to
-        take effect : 
+      
+      <para>
+        For each printer on which you want to use <application>PyKota</application>, just modify the printer's 
+        entry in <filename>/etc/printcap</filename> : you have to add
+        the three following lines :
+        
+<screen>        
+  :ac=true:\
+  :as=/usr/share/pykota/lprngpykota:\
+  :ae=/usr/share/pykota/lprngpykota:\
+</screen>          
+
+        This will tell <application>LPRng</application> to activate accounting, and use the <filename>lprngpykota</filename> 
+        accounting filter both at the start and at the end of printing. 
+      </para>
+      
+      
+      <para>
+        Repeat the above procedure for each print queue on which you want to use
+        PyKota. That's all !
+      </para>
+      
+      <para>
+        When all modifications are done, just save the <filename>/etc/printcap</filename> file 
+        and restart <application>LPRng</application> for the changes to take effect : 
         <screen>
 $ /etc/init.d/lprng restart        
         </screen>
-      </para>
-      
-      <para>
-        Repeat the above procedure for each print queue on which you want to use
-        PyKota. That's all !
       </para>
       
@@ -689,4 +725,7 @@
 
 $Log$
+Revision 1.26  2004/07/16 12:22:46  jalet
+LPRng support early version
+
 Revision 1.25  2004/05/25 09:49:53  jalet
 The old pykota filter has been removed. LPRng support disabled for now.
Index: pykota/trunk/docs/pykota.sgml
===================================================================
--- pykota/trunk/docs/pykota.sgml (revision 1409)
+++ pykota/trunk/docs/pykota.sgml (revision 1600)
@@ -10,4 +10,5 @@
   <!entity SCRIPTS system "scripts.sgml">
   <!entity PKHINT system "pkhint.sgml">
+  <!entity PYKOSD system "pykosd.sgml">
   <!entity GNUGPL system "gnugpl.sgml">
 
@@ -120,4 +121,6 @@
   
   &PKHINT;
+  
+  &PYKOSD;
     
   &GNUGPL;
@@ -128,4 +131,7 @@
 
 $Log$
+Revision 1.13  2004/07/16 12:22:46  jalet
+LPRng support early version
+
 Revision 1.12  2004/03/18 10:32:23  jalet
 Added pkhint's documentation
Index: pykota/trunk/docs/pykosd.sgml
===================================================================
--- pykota/trunk/docs/pykosd.sgml (revision 1600)
+++ pykota/trunk/docs/pykosd.sgml (revision 1600)
@@ -0,0 +1,46 @@
+<!-- $Id$ -->
+
+<chapter>
+  <title>Uses On Screen Display to show personal print quota information with pykosd</title>
+  <para>Last modified on $Date$</para>
+  
+  <para>
+    <filename>pykosd</filename> is a graphical <application>X Window</application> application which when launched 
+    will display print quota information for the current user.
+  </para>  
+  
+  <para>
+    Whenever you launch <filename>pykosd</filename>, it will display the current user's print quota
+    information in the top-left corner of the screen, above all existing windows, and with
+    a transparent background. Then after five seconds, the information displayed will disappear
+    and the program will exit.
+  </para>
+  
+  <para>
+    In the future, this command will accept some parameters which will render it more
+    useful.
+  </para>
+  
+  <sect1>
+    <title>Reference</title>
+    <para>
+      <cmdsynopsis>
+        <command>pykosd</command>
+      </cmdsynopsis>
+      <warning>
+        <para>
+          <filename>pykosd</filename> doesn't currently accept any command line
+          option. This will change in the future.
+        </para>  
+      </warning>
+    </para>
+  </sect1>
+</chapter>
+
+<!--
+
+$Log$
+Revision 1.1  2004/07/16 12:22:46  jalet
+LPRng support early version
+
+-->
Index: pykota/trunk/docs/filterpykota.sgml
===================================================================
--- pykota/trunk/docs/filterpykota.sgml (revision 1500)
+++ pykota/trunk/docs/filterpykota.sgml (revision 1600)
@@ -11,5 +11,5 @@
       <para>
         PyKota doesn't currently account for ink usage, it only accounts
-        pages. To account for ink usage, you should use PrintBill instead.
+        pages. To account for ink usage, you should use PrintBill instead for now.
       </para>  
     </footnote>  
@@ -26,5 +26,5 @@
     PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having
     eventually rearranged the pages to fit several pages on a single sheet of paper, or other manipulations
-    like that. 
+    like that. <application>LPRng</application> also contains several filters like this.
   </para>
   
@@ -36,7 +36,8 @@
   
   <para>
-    <application>LPRng</application> can also use filters, one often used in combination with
-    <application>LPRng</application> is <application>magicfilter</application> which can convert 
-    different input formats to native printers languages like PostScript or ESC/P2.
+    <application>LPRng</application> can also use filters, often used in combination with
+    <application>LPRng</application> are <application>magicfilter</application> which can convert 
+    different input formats to native printers languages like PostScript or ESC/P2 and 
+    <application>ifhp</application> which can do low-level accounting.
   </para>  
   
@@ -44,5 +45,5 @@
     So to do its own accounting, <application>PyKota</application> has its own filters, for <application>CUPS</application>
     it's named <filename>cupspykota</filename>, which is in fact a <application>CUPS</application> backends wrapper,
-    and for <application>LPRng</application> it's named ########## TODO ########## .
+    and for <application>LPRng</application> it's named <filename>lprngpykota</filename>, as you have probably guessed.
     The procedure to plug the correct filter into your printing system is described in the 
     <xref linkend="installation" endterm="installation"> chapter.
@@ -52,5 +53,5 @@
     Currently with a <application>CUPS</application> internal accounting mechanism, the <filename>pstops</filename>
     filter can be bypassed. That's why <application>PyKota</application> uses its own backend.
-    The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass the filtering mechanism, so you can use
+    The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass it, so you can use
     any printer with any driver and any command line option, and you can be sure that your
     print job will be correctly accounted for.
@@ -58,34 +59,16 @@
   
   <para>
-    When used with an <application>LPRng</application> backend, the accounting filter is not defined the same way 
-    input filters are, so the problem described above doesn't exist, and <application>PyKota</application>
-    may work with non-postscript printers, provided they can report their page counter and you know how to retrieve
-    it.
-  </para>
-  
-  <para>
-    When you submit a print job, <application>PyKota</application>'s accounting mechanism is automatically launched by your printing system,
-    so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>)
-    and behave like if it was specifically designed for your printing system. Fortunately there's not a lot
-    of differences, the more important one is the exit codes used to tell the printing environment if a job
-    has to be accepted or rejected. 
-  </para>
-  
-  <para>
     When using the <literal>hardware</literal> accounting method,
-    the <application>cupspykota</application> CUPS backend 
-    asks the printer for its internal page counter at the start and at the end of the print job, and
-    computes the values' difference so accounting is done immediately. 
+    <application>PyKota</application> launches the script you specified to
+    ask the printer for its internal page counter at the start and at the end of the print job, and
+    computes the values' difference to know the job's size. 
   </para>
   
   <para>
     When using the <literal>software</literal> accounting method,
-    and if the user is still allowed to print,
     the command you specified is launched with the job's data on its 
     standard input. Your command must print the job's size in number of
     pages on a single line on its standard output. This number is then
     read by <application>PyKota</application> and used to update the current user's quota information.
-    Of course checks are also done like with the <literal>hardware</literal>
-    accounting method, to see if the current job is allowed to be printed or not.
   </para>
   
@@ -103,4 +86,7 @@
 
 $Log$
+Revision 1.12  2004/07/16 12:22:45  jalet
+LPRng support early version
+
 Revision 1.11  2004/05/25 09:49:52  jalet
 The old pykota filter has been removed. LPRng support disabled for now.
