Changeset 1600 for pykota/trunk/docs
- Timestamp:
- 07/16/04 14:22:47 (20 years ago)
- Location:
- pykota/trunk/docs
- Files:
-
- 1 added
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/docs/filterpykota.sgml
r1500 r1600 11 11 <para> 12 12 PyKota doesn't currently account for ink usage, it only accounts 13 pages. To account for ink usage, you should use PrintBill instead .13 pages. To account for ink usage, you should use PrintBill instead for now. 14 14 </para> 15 15 </footnote> … … 26 26 PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having 27 27 eventually rearranged the pages to fit several pages on a single sheet of paper, or other manipulations 28 like that. 28 like that. <application>LPRng</application> also contains several filters like this. 29 29 </para> 30 30 … … 36 36 37 37 <para> 38 <application>LPRng</application> can also use filters, one often used in combination with 39 <application>LPRng</application> is <application>magicfilter</application> which can convert 40 different input formats to native printers languages like PostScript or ESC/P2. 38 <application>LPRng</application> can also use filters, often used in combination with 39 <application>LPRng</application> are <application>magicfilter</application> which can convert 40 different input formats to native printers languages like PostScript or ESC/P2 and 41 <application>ifhp</application> which can do low-level accounting. 41 42 </para> 42 43 … … 44 45 So to do its own accounting, <application>PyKota</application> has its own filters, for <application>CUPS</application> 45 46 it's named <filename>cupspykota</filename>, which is in fact a <application>CUPS</application> backends wrapper, 46 and for <application>LPRng</application> it's named ########## TODO ##########.47 and for <application>LPRng</application> it's named <filename>lprngpykota</filename>, as you have probably guessed. 47 48 The procedure to plug the correct filter into your printing system is described in the 48 49 <xref linkend="installation" endterm="installation"> chapter. … … 52 53 Currently with a <application>CUPS</application> internal accounting mechanism, the <filename>pstops</filename> 53 54 filter can be bypassed. That's why <application>PyKota</application> uses its own backend. 54 The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass the filtering mechanism, so you can use55 The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass it, so you can use 55 56 any printer with any driver and any command line option, and you can be sure that your 56 57 print job will be correctly accounted for. … … 58 59 59 60 <para> 60 When used with an <application>LPRng</application> backend, the accounting filter is not defined the same way61 input filters are, so the problem described above doesn't exist, and <application>PyKota</application>62 may work with non-postscript printers, provided they can report their page counter and you know how to retrieve63 it.64 </para>65 66 <para>67 When you submit a print job, <application>PyKota</application>'s accounting mechanism is automatically launched by your printing system,68 so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>)69 and behave like if it was specifically designed for your printing system. Fortunately there's not a lot70 of differences, the more important one is the exit codes used to tell the printing environment if a job71 has to be accepted or rejected.72 </para>73 74 <para>75 61 When using the <literal>hardware</literal> accounting method, 76 the <application>cupspykota</application> CUPS backend77 ask sthe printer for its internal page counter at the start and at the end of the print job, and78 computes the values' difference so accounting is done immediately.62 <application>PyKota</application> launches the script you specified to 63 ask the printer for its internal page counter at the start and at the end of the print job, and 64 computes the values' difference to know the job's size. 79 65 </para> 80 66 81 67 <para> 82 68 When using the <literal>software</literal> accounting method, 83 and if the user is still allowed to print,84 69 the command you specified is launched with the job's data on its 85 70 standard input. Your command must print the job's size in number of 86 71 pages on a single line on its standard output. This number is then 87 72 read by <application>PyKota</application> and used to update the current user's quota information. 88 Of course checks are also done like with the <literal>hardware</literal>89 accounting method, to see if the current job is allowed to be printed or not.90 73 </para> 91 74 … … 103 86 104 87 $Log$ 88 Revision 1.12 2004/07/16 12:22:45 jalet 89 LPRng support early version 90 105 91 Revision 1.11 2004/05/25 09:49:52 jalet 106 92 The old pykota filter has been removed. LPRng support disabled for now. -
pykota/trunk/docs/installation.sgml
r1500 r1600 29 29 have to decompress and visit its archive, to do so just type the following commands : 30 30 <screen> 31 jerome@nordine:~$ tar -zxf pykota-1.1 8_official.tar.gz32 jerome@nordine:~$ cd pykota-1.1 8_official33 jerome@nordine:~/pykota-1.1 8_official$31 jerome@nordine:~$ tar -zxf pykota-1.19_official.tar.gz 32 jerome@nordine:~$ cd pykota-1.19_official 33 jerome@nordine:~/pykota-1.19_official$ 34 34 </screen> 35 35 </para> … … 152 152 <filename>initscripts/postgresql/pykota-postgresql.sql</filename> file 153 153 accordingly, and report your changes into <application>PyKota</application>'s 154 configuration file .154 configuration files. 155 155 </para> 156 156 </note> … … 165 165 From a command line interpreter (i.e. shell), type the following commands : 166 166 <screen> 167 jerome@nordine:~$ cd pykota-1.1 8_official/initscripts/postgresql168 jerome@nordine:~/pykota-1.1 8_official/initscripts$ psql -h localhost -U postgres template1167 jerome@nordine:~$ cd pykota-1.19_official/initscripts/postgresql 168 jerome@nordine:~/pykota-1.19_official/initscripts$ psql -h localhost -U postgres template1 169 169 Welcome to psql, the PostgreSQL interactive terminal. 170 170 … … 197 197 ALTER USER 198 198 pykota=# \q 199 jerome@nordine:~/pykota-1.1 8_official/initscripts/postgresql$199 jerome@nordine:~/pykota-1.19_official/initscripts/postgresql$ 200 200 </screen> 201 201 </para> … … 210 210 take any other step as needed. Please refer to <application>PostgreSQL</application>'s 211 211 documentation for details. Also if <application>PyKota</application>'s configuration 212 file <filename>/etc/pykota/pykotadmin.conf</filename> is readable by anyone with access on your file system, a local user could213 create some script to modify his own print quota.212 file <filename>/etc/pykota/pykotadmin.conf</filename> is readable by anyone with access on your file system, 213 a local user could create some script to modify his own print quota. 214 214 <warning> 215 215 <title>Warning</title> … … 248 248 <para> 249 249 From version 1.09 on, <application>OpenLDAP</application> can be used as a Quota Storage Backend. 250 It is possible that other LDAP servers can be used, but this is currently untested.250 Some other LDAP servers can be used, but this is currently untested in production. 251 251 </para> 252 252 … … 283 283 While this is not mandatory, it is recommended that you setup 284 284 some indexes for some often accessed PyKota attributes. 285 Actually, the <acronym>LDAP</acronym> schema included with 286 PyKota doesn't allow indexes of another type than <literal>eq</literal>, 287 but this will change in a next release. Here are the minimal indexes 285 Here are the minimal indexes 288 286 lines you may want to put in <filename>slapd.conf</filename> : 289 287 <screen> 290 288 # Indexes for PyKota 291 index pykotaUserName eq292 index pykotaGroupName eq293 index pykotaPrinterName eq289 index pykotaUserName pres,eq,sub 290 index pykotaGroupName pres,eq,sub 291 index pykotaPrinterName pres,eq,sub 294 292 index pykotaLastJobIdent eq 295 293 </screen> 294 </para> 295 296 <para> 297 Now you must ensure that the DNs you'll use to bind to 298 your OpenLDAP server don't have search queries size limits, 299 which gives for example (OpenLDAP 2.1.x or above) : 300 301 <screen> 302 # No Limits for PyKota's administrator and read-only user 303 limits dn="cn=RWadmin,dc=example,dc=com" size.soft=-1 size.hard=soft 304 limits dn="cn=ROadmin,dc=example,dc=com" size.soft=-1 size.hard=soft 305 </screen> 306 307 Where RWadmin and ROadmin are the usernames used to bind to your 308 OpenLDAP server within PyKota, respectively in ReadWrite mode 309 (as set in pykotadmin.conf) and in ReadOnly mode (as set in pykota.conf). 296 310 </para> 297 311 … … 381 395 <para> 382 396 <application>CUPS</application> version 1.1 or above, or <application>LPRng</application> 383 version 3.8.2 0or above (it probably works with older versions but this is untested).397 version 3.8.27 or above (it probably works with older versions but this is untested). 384 398 You can download them from <ulink url="http://www.cups.org">http://www.cups.org</ulink> 385 399 or <ulink url="http://lprng.sourceforge.net">http://lprng.sourceforge.net</ulink> … … 532 546 Please create a backup of the <filename>/etc/pykota</filename> 533 547 directory before modifying anything. 534 Under some circumstances, the setup PyKotamay refuse to install PyKota548 Under some circumstances, PyKota's setup script may refuse to install PyKota 535 549 until you have modified your configuration. Just do it and restart 536 550 the installation script as described above. … … 611 625 <para> 612 626 Then when creating new printers or reconfiguring existing ones, just 613 choose devices which are <literal>PyKota managed</literal> instead of 627 choose devices which are <literal>PyKota managed</literal> 628 <footnote> 629 <para> 630 Debian 3.0 Woody is known to have problems : CUPS 1.1.14 doesn't automatically 631 detect <literal>PyKota managed</literal> devices. So you have to manually 632 modify CUPS' <filename>printers.conf</filename> file as explained in 633 PyKota's toplevel <filename>README</filename> file. 634 </para> 635 </footnote> 636 instead of 614 637 normal devices. You've got one <literal>PyKota managed</literal> device 615 638 for each regular device available from CUPS, so just choose the appropriate … … 645 668 <sect2> 646 669 <title>With LPRng</title> 647 <para> 648 ######### TODO ########## 649 </para> 650 651 <para> 652 You have to restart <application>LPRng</application> for this modification to 653 take effect : 670 671 <para> 672 For each printer on which you want to use <application>PyKota</application>, just modify the printer's 673 entry in <filename>/etc/printcap</filename> : you have to add 674 the three following lines : 675 676 <screen> 677 :ac=true:\ 678 :as=/usr/share/pykota/lprngpykota:\ 679 :ae=/usr/share/pykota/lprngpykota:\ 680 </screen> 681 682 This will tell <application>LPRng</application> to activate accounting, and use the <filename>lprngpykota</filename> 683 accounting filter both at the start and at the end of printing. 684 </para> 685 686 687 <para> 688 Repeat the above procedure for each print queue on which you want to use 689 PyKota. That's all ! 690 </para> 691 692 <para> 693 When all modifications are done, just save the <filename>/etc/printcap</filename> file 694 and restart <application>LPRng</application> for the changes to take effect : 654 695 <screen> 655 696 $ /etc/init.d/lprng restart 656 697 </screen> 657 </para>658 659 <para>660 Repeat the above procedure for each print queue on which you want to use661 PyKota. That's all !662 698 </para> 663 699 … … 689 725 690 726 $Log$ 727 Revision 1.26 2004/07/16 12:22:46 jalet 728 LPRng support early version 729 691 730 Revision 1.25 2004/05/25 09:49:53 jalet 692 731 The old pykota filter has been removed. LPRng support disabled for now. -
pykota/trunk/docs/pykota.sgml
r1409 r1600 10 10 <!entity SCRIPTS system "scripts.sgml"> 11 11 <!entity PKHINT system "pkhint.sgml"> 12 <!entity PYKOSD system "pykosd.sgml"> 12 13 <!entity GNUGPL system "gnugpl.sgml"> 13 14 … … 120 121 121 122 &PKHINT; 123 124 &PYKOSD; 122 125 123 126 &GNUGPL; … … 128 131 129 132 $Log$ 133 Revision 1.13 2004/07/16 12:22:46 jalet 134 LPRng support early version 135 130 136 Revision 1.12 2004/03/18 10:32:23 jalet 131 137 Added pkhint's documentation