- Timestamp:
- 04/24/03 23:09:47 (22 years ago)
- Location:
- pykota/trunk/docs
- Files:
-
- 5 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/docs/edpykota.sgml
r865 r959 2 2 3 3 <chapter> 4 <title id="edpykota"> Setting print quotaswith edpykota</title>4 <title id="edpykota">Maintaining the Print Quota DataBase with edpykota</title> 5 5 <para>Last modified on $Date$</para> 6 6 7 7 <para> 8 TODO : blah 8 <application>edpykota</application> is the command line tool with which you will 9 maintain your print quota database. 9 10 </para> 11 12 <para> 13 Here's a list of features : 14 15 <itemizedlist> 16 <listitem> 17 <para> 18 Add printers ; 19 </para> 20 </listitem> 21 <listitem> 22 <para> 23 Add and delete users and groups ; 24 </para> 25 </listitem> 26 <listitem> 27 <para> 28 Set users' account balances ; 29 </para> 30 </listitem> 31 <listitem> 32 <para> 33 Set users and groups print quotas on printers, eventually by using another user 34 or group as a template ; 35 </para> 36 </listitem> 37 <listitem> 38 <para> 39 Set price per page and price per job for printers ; 40 </para> 41 </listitem> 42 <listitem> 43 <para> 44 Switch users or groups to <quote>account only</quote> mode (no quota enforcement) ; 45 </para> 46 </listitem> 47 <listitem> 48 <para> 49 Define hard and soft limits for users ou groups quotas, on a per printer basis ; 50 </para> 51 </listitem> 52 <listitem> 53 <para> 54 Choose the way you will limit printing : either by page quota or by account balance value. 55 </para> 56 </listitem> 57 </itemizedlist> 58 </para> 59 10 60 </chapter> 11 61 … … 13 63 14 64 $Log$ 65 Revision 1.3 2003/04/24 21:09:47 jalet 66 Documentation slightly improved. 67 15 68 Revision 1.2 2003/03/25 09:32:06 jalet 16 69 Improved documentation. -
pykota/trunk/docs/filterpykota.sgml
r865 r959 8 8 <para> 9 9 To account for pages or eventually ink usage, you must plug your accounting 10 system into <application>CUPS</application>. One way to do this without having 11 to modify <application>CUPS</application> itself, is by using a <firstterm>filter</firstterm>. 10 system somewhere into the printing system you use, be it either <application>CUPS</application> 11 or <application>LPRng</application>. One way to do this without having 12 to modify the printing system itself, is by using a <firstterm>filter</firstterm>. 12 13 </para> 13 14 … … 18 19 PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having 19 20 eventually rearranged the pages to fit several pages on a single sheet of paper, or other manipulations 20 like that. 21 like that. 21 22 </para> 22 23 … … 28 29 29 30 <para> 31 <application>LPRng</application> can also use filters, one often used in combination with 32 <application>LPRng</application> is <application>magicfilter</application> which can convert 33 different input formats to native printers languages like PostScript or ESC/P2. 34 </para> 35 36 <para> 30 37 So to do its own accounting, <application>PyKota</application> has its own filter, named <application>pykota</application>, 31 which you have to plug into the different set of filters used by <application>CUPS</application>. The procedure to38 which you have to plug into the different set of filters used by your printing system of choice. The procedure to 32 39 install the <application>pykota</application> filter is described in the 33 40 <xref linkend="installation" endterm="installation"> chapter. … … 35 42 36 43 <para> 37 Currently the <application>pykota</application> filter is used at the very last stage of the print mechanism,44 Currently with a <application>CUPS</application> backend, the <application>pykota</application> filter is used at the very last stage of the print mechanism, 38 45 just before the final data is sent to the printer, but it may eventually be used earlier with some 39 46 modifications to <application>CUPS</application>'s filtering configuration. This is not tested yet, but this 40 47 may be the solution to use <application>PyKota</application> with printers which really needs to have 41 a <literal>*cupsFilter</literal> line in their <acronym>PPD</acronym> file, i.e. non-postscript printers. 48 a specific filter like <application>magicfilter</applicaton> or <application>cupsomatic</application>, 49 i.e. non-postscript printers. This is a limitation in <application>CUPS</application> which doesn't really 50 allow to specify multiple print filters for different purposes. This problem will be solved in <application>CUPS</application> 51 version 1.2 and higher. 42 52 </para> 43 53 44 54 <para> 45 The <application>pykota</application> filter really is the only thing which depends on <application>CUPS</application>, 46 so it is probable that a next version of <application>PyKota</application> will support other printing environments. 55 When used with an <application>LPRng</application> backend, the accounting filter is not defined the same way 56 input filters are, so the problem described above doesn't exist, and <application>PyKota</application> 57 may work with non-postscript printers, provided they can report their page counter and you know how to do 58 this. 59 </para> 60 61 <para> 62 When you submit a print job, <application>pykota</application> is automatically launched by your printing system, 63 so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>) 64 and behave like if it was specifically designed for your printing system. Fortunately there's not a lot 65 of differences, the more important one is the exit codes used to tell the printing environment if a job 66 has to be accepted or rejected. 67 </para> 68 69 <para> 70 <application>pykota</application> then asks the printer for its internal page counter, read from the Quota DataBase the internal 71 page counter for this printer when the previous job was launched, computes the difference, and report it as the 72 previous job's size in the Quota DataBase. It then updates the last user's print quota and account balance, and 73 warn him if he is over quota or his account balance below 0. Finally it checks if the user who launched the 74 current job is below or above his print quota, and either allow or deny the job's datas to pass to the underlying 75 layer (the printer itself). 76 </para> 77 78 <para> 79 If a problem occurs, it is logged either to the filter's standard output or to the system logger, depending on 80 your preferences in <application>PyKota</application>'s configuration file. Also if a print quota is reached 81 you may choose if the administrator, the user, both or noone will receive an email message explaining 82 the situation and proposing a solution. 47 83 </para> 48 84 … … 52 88 53 89 $Log$ 90 Revision 1.3 2003/04/24 21:09:47 jalet 91 Documentation slightly improved. 92 54 93 Revision 1.2 2003/03/25 09:32:06 jalet 55 94 Improved documentation. -
pykota/trunk/docs/installation.sgml
r942 r959 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.0 3-official.tar.gz32 jerome@nordine:~$ cd pykota-1.0 3-official33 jerome@nordine:~/pykota-1.0 3-official$31 jerome@nordine:~$ tar -zxf pykota-1.04-official.tar.gz 32 jerome@nordine:~$ cd pykota-1.04-official 33 jerome@nordine:~/pykota-1.04-official$ 34 34 </screen> 35 35 </para> … … 160 160 From a command line interpreter (i.e. shell), type the following commands : 161 161 <screen> 162 jerome@nordine:~$ cd pykota-1.0 3-official/initscripts/163 jerome@nordine:~/pykota-1.0 3-official/initscripts$ psql -h localhost -U postgres template1162 jerome@nordine:~$ cd pykota-1.04-official/initscripts/ 163 jerome@nordine:~/pykota-1.04-official/initscripts$ psql -h localhost -U postgres template1 164 164 Welcome to psql, the PostgreSQL interactive terminal. 165 165 … … 194 194 ALTER USER 195 195 pykota=# \q 196 jerome@nordine:~/pykota-1.0 3-official/initscripts$196 jerome@nordine:~/pykota-1.04-official/initscripts$ 197 197 </screen> 198 198 </para> … … 206 206 To improve security further, you could encrypt your database connections, or 207 207 take any other step as needed. Please refer to <application>PostgreSQL</application>'s 208 documentation for details. 208 documentation for details. Also if <application>PyKota</application>'s configuration 209 file is readable by anyone with access on your file system, a local user could 210 create some script to modify his own print quota. 209 211 <warning> 210 212 <title>Warning</title> … … 274 276 For each Print Server on which you plan to implement the print quota 275 277 mechanism, you have, of course, to have an already working printing environment. 276 Currently <application>PyKota</application> only works with the 277 <ulink url="http://www.cups.org"><application>CUPS</application></ulink> environment, 278 Currently <application>PyKota</application> works with either the 279 <ulink url="http://www.cups.org"><application>CUPS</application></ulink> 280 or the <ulink url="http://lprng.sourceforge.net"><application>LPRng</application></ulink>, 278 281 but more may be added in the future. 279 282 </para> 280 283 281 284 <para> 282 Here's the list of software you have to install on each Print Server : 285 Here's the list of software you have to install on each Print Server, version numbers 286 are given as an indication of which was successfully tested, but older versions may 287 work too. 283 288 <itemizedlist> 284 289 <listitem> 285 290 <para> 286 CUPS version 1.1 or above. 287 You can download it from <ulink url="http://www.cups.org">http://www.cups.org</ulink>. 291 <application>CUPS</application> version 1.1 or above, or <application>LPRng</application> 292 version 3.8.20 or above (it probably works with older versions but this is untested). 293 You can download them from <ulink url="http://www.cups.org">http://www.cups.org</ulink> 294 or <ulink url="http://lprng.sourceforge.net">http://lprng.sourceforge.net</ulink> 288 295 </para> 289 296 </listitem> … … 341 348 <application>ucd-snmp</application> or <application>net-snmp</application> tools, version 4.2.5 or above. You only need 342 349 the <application>snmpget</application> command. 343 You can download them from <ulink url="http://www.sourceforge.net/projects/net-snmp/">http://www.sourceforge.net/projects/net-snmp/</ulink> 344 </para> 345 </listitem> 346 <listitem> 347 <para> 348 eGenix' mxDateTime Python module. It must match your default Python version. 350 You can download them from <ulink url="http://www.sourceforge.net/projects/net-snmp/">http://www.sourceforge.net/projects/net-snmp/</ulink>. 351 You only need this if you plan to query your printers for their internal page counter via SNMP. 352 </para> 353 </listitem> 354 <listitem> 355 <para> 356 <application>netatalk</application> version 1.6.1 or above. You only need 357 the <application>pap</application> command. 358 You can download them from <ulink url="http://netatalk.sourceforge.net/">http://netatalk.sourceforge.net/</ulink>. 359 You only need this if you plan to query your printers for their internal page counter via AppleTalk. 360 </para> 361 </listitem> 362 <listitem> 363 <para> 364 eGenix' mxDateTime Python module version 2.0.3 or above. It must match your default Python version. 349 365 You can download it from <ulink url="http://www.egenix.com">http://www.egenix.com</ulink>. 350 366 </para> … … 358 374 359 375 $Log$ 376 Revision 1.13 2003/04/24 21:09:47 jalet 377 Documentation slightly improved. 378 360 379 Revision 1.12 2003/04/17 21:33:16 jalet 361 380 Version 1.03 is out. -
pykota/trunk/docs/repykota.sgml
r865 r959 14 14 PyKota features a quota report generator, named <application>repykota</application>, 15 15 with which you can print the current state of the quota database. 16 </para> 17 18 <para> 19 <application>PyKota</application> also features a CGI script to remotely access 20 to print quota reports with a web browser, it is called <application>printquota.cgi</application> 21 and you can put it in your web server's cgi-bin directory if a web server is installed on 22 any machine on which <application>PyKota</application> is also installed and configured 23 correctly. 16 24 </para> 17 25 … … 35 43 36 44 $Log$ 45 Revision 1.4 2003/04/24 21:09:47 jalet 46 Documentation slightly improved. 47 37 48 Revision 1.3 2003/03/25 09:32:06 jalet 38 49 Improved documentation. -
pykota/trunk/docs/warnpykota.sgml
r867 r959 31 31 every day, then you'll be sure that all your users who are above their print quota 32 32 will not forget it ! 33 </para> 34 35 <para> 36 At the very least, try to make your best to disallow ordinary users to be able to 37 launch this command, since malicious users could fill other users mailboxes 38 by repeatedly running <application>warnpykota</application> : each user above 39 quota would receive multiple email messages, and possibly the administrator too ! 33 40 </para> 34 41 … … 71 78 72 79 $Log$ 80 Revision 1.4 2003/04/24 21:09:47 jalet 81 Documentation slightly improved. 82 73 83 Revision 1.3 2003/03/25 12:30:37 jalet 74 84 Added warnpykota command synopsis