root / pykota / trunk / README @ 734

Revision 727, 4.6 kB (checked in by jalet, 22 years ago)

Typo

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1# $Id$
2
3PyKota - Print Quota for CUPS
4
5(c) 2003 Jerome Alet <alet@librelogiciel.com>
6You're welcome to redistribute this software under the
7terms of the GNU General Public Licence version 2.0
8or, at your option, any higher version.
9
10You can read the complete GNU GPL in the file COPYING
11which should come along with this software, or visit
12the Free Software Foundation's WEB site http://www.fsf.org
13
14============================================================
15
16PyKota is a complete Print Quota system for the Common Unix Printing
17System (aka CUPS), which works by directly querying the printers
18for the number of pages they have printed.
19
20Actually only the lazy quota method is implemented. What do I call
21lazy method ?
22
23  The lazy method consists in querying the printer via SNMP for
24  its total pages counter, just before the beginning of a job, and
25  use this to modify the *preceding* user's quota. So you're
26  always late of one print job, but this is generally ok, especially
27  because a check is also done to see if the current user is allowed
28  or not to print.
29 
30  Problem may arise however in batches on successive print jobs
31  by different users when there's no sleep time between two jobs :
32  the used pages may be attributed to incorrect user. This
33  depends on the printer speed and time between jobs.
34 
35  Other querying methods which won't suffer from this problem,
36  but probably from other ones ;-) will be implemented in the
37  future.
38 
39PyKota is known to work fine with HP Laserjet 2100 and 2200   
40networked printers.
41
42Planned features are :
43
44        - Easier installation.
45       
46        - Per printer Group quotas. Currently Group
47          quotas are only at skeleton stage.
48       
49        - Configurable printer querying methods. Currently
50          only SNMP method is supported.
51         
52        - More Quota Storage backends. 
53
54============================================================
55
56INSTALLATION:
57=============
58
59Prerequisite :
60--------------
61   
62  You need to have the following tools installed on the CUPS Server :
63 
64    - CUPS
65    - Python
66    - eGenix' mxDateTime Python extension
67    - PostgreSQL's PygreSQL Python extension and the PostgreSQL client
68      libraries.
69    - SNMP tools (specifically the snmpget command)
70   
71  You need to have the following tools installed on the Quota Storage 
72  Server :
73 
74    - PostgreSQL
75   
76  PygreSQL and the PostgreSQL client libraries's versions on the CUPS
77  Server must match the PostgreSQL version used on the Quota Storage
78  Server.
79 
80  Of course the CUPS Server and the Quota Storage Server can be the 
81  very same machine.
82 
83  This list of prerequisite software may change in the future, when
84  PyKota will support more functionnalities you will be given
85  alternatives.
86 
87Then :   
88------
89 
90Download the latest PyKota version from the CVS tree on :
91
92    http://savannah.nongnu.org/projects/pykota
93
94Just type :
95
96    python setup.py install
97
98You may need to be logged in with sufficient privileges (e.g. root)
99
100Go to the initscripts subdirectory of PyKota's sources, and choose
101the appropriate storage backend for your configuration. Read
102the associated README file and execute the initialization script
103to create an empty PyKota Storage.
104
105Copy the conf/pykota.conf.sample sample configuration file to
106CUPS' configuration directory, usually /etc/cups, under the
107name pykota.conf, and adapt this file to your own needs and
108configuration.
109
110Modify the PPD files for each printer on which you want to manage
111print quotas, for example /etc/cups/ppd/lp.ppd :
112
113--- Add the line below exactly as-is somewhere near the top ---
114*cupsFilter:  "application/vnd.cups-postscript 0 /usr/bin/pykota"
115--- Add the line above exactly as-is somewhere near the top  ---
116
117Modify the path to the pykota executable if needed, unfortunately
118you have to supply the correct absolute path here due to CUPS
119internals, or put the pykota executable into /usr/lib/cups/filter
120instead of into /usr/bin.
121
122Do this for each ppd file present in this directory if you want
123to enable quota on every printer.
124         
125Add printers and users to the quota system and set their quota values :
126
127    $ edpykota --add -P printer -S softlimit -H hardlimit user1 ... userN
128       
129    launching edpykota without any argument or with the --help
130    command line option will show you all the possibilities.
131
132Restart CUPS, for example under Debian GNU/Linux systems :         
133
134    $ /etc/init.d/cupsys restart
135       
136Your users now should be able to print but not exceed their
137printing quota.
138
139WARNING : as of today, 2003-02-06, group quotas are not
140implemented.
141
142============================================================
143
144Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.