root / pykota / trunk / FAQ @ 1334

Revision 1334, 7.3 kB (checked in by jalet, 21 years ago)

New question

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1PyKota's FAQ :
2
3  # $Id$
4 
5  * Is print accounting ever exact ?
6 
7    No. Print accounting is **never** exact, because it depends
8    on external factors like the presence of paper in the printer,
9    the quantity of remaining ink in the print cartridge, paper
10    jams, etc... All these things are very difficult to account
11    for correctly, and no print accounting package deals with
12    these artefacts correctly in all situations.
13    We are however confident that PyKota is one of the more
14    exact print accounting software, because by default it
15    asks the printers for how many pages they have really printed.
16   
17  * Can PyKota account for ink usage ? 
18 
19    No. Actually PyKota doesn't account for ink usage, but this
20    may come in a future release. PyKota only accounts for pages
21    printed and/or money spent.  If ink accounting is a necessity
22    for you, PrintBill is recommended instead of PyKota. PrintBill
23    allows you to bill differently per color, and to bill depending
24    on the percent of the ink covered part of the pages.
25   
26  * What is a 'dumb printer' ?
27 
28    In PyKota, the term 'dumb printer' defines a printer which doesn't
29    understand PostScript AND doesn't have an internal page counter, AND
30    for which you don't know how to compute a job's size in number of
31    pages by analyzing its content. Any printer which is not a
32    'dumb printer' according to the above definition is supported
33    with PyKota.
34
35  * How can I make PyKota work with my non-postscript printer under
36    CUPS ? 
37 
38    From version 1.16alpha7, PyKota includes a CUPS backend which
39    allows you to use any type of printer and any driver, provided
40    your printer is not a 'dumb printer' (see above).
41   
42  * How can I use my 'dumb printer' with CUPS and PyKota. 
43 
44    The solution is to plug the pykota filter into the
45    filtering chain when the print job is still in
46    PostScript format, before being converted to the
47    dumb printer's native format. You can't use the
48    cupspykota CUPS backend with 'dumb printers'.
49   
50    Here's how to do :
51   
52        - Disable raw mode by modifying *.convs and
53          *.types files in /etc/cups, then restart
54          CUPS.
55         
56        - If you print from Windows through Samba,
57          don't put '-o raw' in the print command
58          definition in smb.conf
59         
60        - Under Windows, use a PostScript driver 
61          set to maximum compatibility mode.
62         
63        - Modify *.convs and *.types files to 
64          insert the pykota filter into the
65          filtering chain, as described
66          here (url should be on a single line) :
67         
68          http://cgi.librelogiciel.com/pipermail/  ...
69             ... pykota/attachments/20030721/753239b5/attachment.eml
70         
71          and restart CUPS.
72         
73  * I've got a great number of users. How can I automatically
74    set an initial print quota for them on first print ?
75   
76    You have to define an external policy for unknown users,
77    to automatically add them to the Print Quota database.
78    The sample configuration file contains examples to do this.
79   
80  * What does the --prototype command line option to edpykota do ?
81 
82    This option currently (v1.17) only copies the soft and hard
83    page limits from a template user to other users. This option
84    needs to be updated to new PyKota functionnalities, because it
85    currently lacks.
86   
87  * How can I diagnose the problem when something goes wrong ?
88 
89    Put "LogLevel debug2" in cupsd.conf (usually in /etc/cups/).
90    Then put "logger: system" and "debug: yes" in
91    /etc/pykota/pykota.conf.
92    Finally restart CUPS.
93    CUPS' error_log file will now contain many informations which
94    will help diagnose your problem. Also your syslog's output for
95    the LPR facility (usually /var/log/lpr.log) will contain
96    PyKota's debug messages, notably all database related queries
97    and their result, be your database PostgreSQL or OpenLDAP.
98    With these two files the problem can usually be diagnosed within
99    minutes. Send them to the mailing list and wait for an answer.
100   
101  * Some, not all, print jobs are never accounted for, why ?
102 
103    From version 1.16alpha7, you can now use the cupspykota
104    CUPS backend, which ensures that all print jobs will be
105    accounted for. The use of the old pykota filter is deprecated
106    with CUPS. It remains the filter of choice for LPRng though,
107    or when you absolutely need to support a 'dumb printer' (see
108    definition above).
109   
110  * When printing from Windows, the jobs are never accounted for,
111    but from *nix they are. Could you explain the reason for this ?
112   
113    First refer to the point above. If this doesn't solve your
114    problem, try to set your print driver to PostScript mode
115    and check the "maximum compatibility" box in its configuration,
116    instead of "maximum speed". Often HP printers come with both
117    a PCL and a PostScript driver under Windows. Don't install the
118    PCL one.
119   
120  * How can I share print quota between some printers only (not all) ?   
121 
122    To do this you have to put the printers into a printers group, and
123    set quota on the printer group, instead of (or in addition to)
124    the printers themselves.
125   
126  * What is a printer group ?
127 
128     A printer group is exactly like a normal printer, but is
129     unknown by the printing system. You can use printer groups
130     to share print quota between printers.
131   
132  * How can I create a printer group ?   
133 
134    Just use edpykota, like for normal printers.
135 
136  * How can I put a printer into a printer group ?
137 
138    Use the new -G|--pgroups command line option to edpykota
139    You can put sereval printers into several printers groups
140    in one command using the following syntax :
141   
142      $ edpykota --pgroups pg1[,pg2,pg3,...] --printers p1[,p2,p3,...]
143       
144    What is between square brackets is optional.   
145    Both p1,p2 and pg1,pg2 can contain wildcards.
146   
147  * How quota checking and update is done with printer groups ?   
148 
149    Print accounting and quota checking is done for a printer and
150    all the printers groups it belongs to, recursively.
151    If quota is reached on ANY of these printers for the current user,
152    printing is denied.
153   
154  * Is this feature robust ?
155 
156    It should be. However, beware of integrity problems. LDAP has no
157    sense of database integrity, and PostgreSQL constraints have not
158    yet been fully implemented. The code actually *tries* to forbid
159    circular printers groups, but if you create printer groups with
160    another tool (e.g. psql or gq), then you are mostly on you
161    own to not create infinite loops.
162   
163  * How is computed the job's price ? 
164 
165    A job's price is computed with this formula :
166   
167      SUM((NbPages * PricePerPage) + PricePerJob)
168     
169    For current printer and all the printers groups it is
170    a member of, if any.
171    This may be difficult to grasp, but offers unprecedented
172    flexibility.
173
174  * My question isn't answered there, can you help ? 
175 
176    Sure. Ask your question to the mailing list. If this is a
177    frequently asked question, or if your problem is on the contrary
178    very specific, it will probably be added to this document.
179   
180    You can also ask questions by IRC :
181   
182        /server irc.freenode.net
183        /join #pykota
184       
185Send any new questions to Jerome Alet - <alet@librelogiciel.com>
Note: See TracBrowser for help on using the browser.