root / pykota / trunk / NEWS @ 1192

Revision 1192, 21.1 kB (checked in by jalet, 21 years ago)

Mailto can be any external command now, as usual.

  • 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>
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
19
20============================================================
21
22PyKota NEWS :
23
24    - 1.16alpha9 :
25   
26        - mailto can be set to external(...) to warn users above
27          quota with any command of your choice (e.g. linpopup).
28          Several parameters are available, see sample configuration
29          file for details.
30         
31    - 1.16alpha8 :
32   
33        - Now cupspykota transmits SIGTERMS to the original 
34          backend when the user deletes a job being processed.
35         
36        - The documentation is now licensed under the terms of the
37          GNU GPL too.
38         
39    - 1.16alpha7 :
40   
41        - The CUPS backend is now fully functionnal (it seems).
42       
43        - From now on, the use of the pykota filter with CUPS
44          is deprecated. The pykota filter still has to be
45          used with LPRng though.
46       
47    - 1.16alpha6 :
48   
49        - Bug fixed : when edpykota was used to add a printer
50          with no user or group name, a bad user/group name "*" was
51          added to the database.
52         
53    - 1.16alpha5 :
54   
55        - New CUPS backend supports device enumeration !
56          This means that NO manual CUPS configuration has to
57          be done. All can now be done from CUPS web interface.
58       
59    - 1.16alpha4 :
60   
61        - New CUPS backend added.
62       
63    - 1.16alpha3 :
64       
65        - Minimal FAQ document added.
66       
67    - 1.16alpha2 :
68   
69        - CGI script now partially supports browser's language preference
70       
71    - 1.16alpha1 :
72   
73        - Ensures that the LDAP connection is really closed at end.
74       
75        - More complete error messages in case of LDAP operation failure.
76       
77    - 1.15 :
78     
79        - Documentation improved.
80       
81    - 1.15beta :
82   
83        - Command line tools now accept multiple printer
84          names or wildcards, separated with commas.
85         
86    - 1.15alpha9 :
87   
88        - External policy can be used to auto-add unknown users
89          and any other interesting things you may want to do.
90          WARNING : You can't auto-add printers for now.
91          They have to be created manually before.
92          Look at sample configuration file for examples.
93         
94    - 1.15alpha8 :
95   
96        - Job history can be disabled if needed.
97          This feature may be useful for people who use the LDAP
98          backend and don't want their LDAP tree to grow out of
99          control.
100       
101    - 1.15alpha7 :
102   
103        - More work done on caching wrt groups.
104       
105    - 1.15alpha6 :
106   
107        - Performance bottleneck with LDAP solved.
108       
109    - 1.15alpha5 :
110   
111        - Caching mechanism for all database queries.
112
113    - 1.15alpha4 :
114   
115        - Problem with Python 2.3 fixed. Needs some definitive
116          modification.
117         
118    - 1.15alpha3 :
119   
120        - CGI script now tries to restrict view when the
121          REMOTE_USER environment variable is set. This allows
122          people to protect its use with .htaccess files.
123          When unprotected, or if REMOTE_USER is 'root', then
124          unrestricted access is granted.
125          NB : REMOTE_USER is automatically set by the web server
126          (e.g. Apache) when a page with restricted access is viewed.
127         
128    - 1.15alpha2 :
129   
130        - Better detection of LPRng.
131       
132        - Outputs a warning if printing system is unknown.
133       
134    - 1.15alpha1 :
135   
136        - Bug fix in SQL code.
137       
138    - 1.14 :
139   
140        - The PostgreSQL database connection is now always closed before
141          exit. The LDAP database connection too, but it didn't suffer
142          from the problem anyway, AFAICT.
143       
144    - 1.14beta2 :
145   
146        - An LDAP-specific configuration field was introduced, usermail.
147          Use it to specify which LDAP attribute contains a valid email
148          address for the user. See sample configuration file for
149          details.
150       
151    - 1.14beta :
152   
153        - Two new LDAP-specific configuration fields were introduced,
154          newuser and newgroup. Use them to specify if you want to add
155          quota information to existing entries or elsewhere.
156          See sample configuration file for details.
157         
158    - 1.14alpha9 :
159   
160        - Documentation improved.
161       
162        - pykotme now also prints the user's account balance value
163          if the user is registered in the Quota Storage and his
164          limiting factor is "balance".
165         
166    - 1.14alpha8 :
167   
168        - bin/waitprinter.sh is now included to wait for
169          SNMP enabled printers to be idle again before
170          asking for their internal page counter.
171          See sample configuration file for details.
172         
173    - 1.14alpha7 :
174   
175        - edpykota now doesn't check if the user/group is above
176          quota. The check is only done at print time. This
177          prevents the sending of email messages when creating
178          user quotas if quota is already reached at creation
179          time.
180         
181    - 1.14alpha6 :
182   
183        - Configuration file split and moved to /etc/pykota/pykota.conf
184          and /etc/pykota/pykotadmin.conf to prevent simple users to
185          have Read/Write access to the Quota Database.
186          Don't forget to :
187         
188                $ chmod 640 /etc/pykota/pykotadmin.conf
189               
190        - storageuser and storageuserpw configuration fields reintroduced
191          for the same reason.
192         
193        - Code cleaning for future implementation of email addresses
194          support in the PostgreSQL and LDAP backends.
195         
196    - 1.14alpha5 :
197       
198        - Big bug fixed when changing the prices for a printer
199       
200    - 1.14alpha4 :
201   
202        - When adding an user, the user itself and its account balance
203          are now added in the same LDAP entry. Before they were added
204          as two different LDAP entries.
205         
206    - 1.14alpha3 :
207   
208        - Email field added to PostgreSQL database. An upgrade script
209          is included in initscripts/postgresql.
210       
211    - 1.14alpha2 :
212   
213        - Typo fixed when using the --prototype option to edpykota
214       
215    - 1.14alpha1 :
216   
217        - Poor man's treshold included : users with a low account
218          balance (below 1.0 by default, configurable) are sent
219          a warning message.
220         
221        - All warning messages to users are now configurable. 
222          NB : Warning messages to the administrator are not.
223       
224    - 1.13 :
225   
226        - Some small fixes wrt group handling.
227       
228        - The whole module code was passed through PyChecker and
229          several small code inconsistencies were fixed,
230          as well as a bug in the groups code.
231         
232    - 1.13alpha1 :
233   
234        - Bug fix wrt LDAP.
235       
236    - 1.12 :
237   
238        - More complete test added in edpykota.
239       
240    - 1.12alpha2 :
241   
242        - The previous bug fix was incomplete. This is corrected.
243       
244    - 1.12alpha1 :
245   
246        - Small bug fix.
247       
248    - 1.11 :
249   
250        - Now includes the pykotme command line tool, to produce
251          printing quotes for users.
252         
253    - 1.10 :
254   
255        - Bug fixed wrt quota reports when print limiting is by
256          account balance.
257         
258    - 1.09 :
259   
260        - Translations finalized.
261       
262        - Manpages updated.
263       
264        - Installation documentation improved wrt LDAP support.
265       
266    - 1.09beta2 :
267   
268        - The CGI script for quota reports works again, and
269          is much more powerful.
270       
271    - 1.09beta :
272   
273        - edpykota finalized
274       
275    - 1.09alpha2 :
276   
277        - LDAP schema modified a bit. Please upgrade.
278       
279        - LDAP backend works !
280       
281        - repykota and warnpykota allow the root user to pass
282          users or groups names on the command line. Users
283          and groups names may contain wildcards.
284         
285        - repykota and warnpykota only reports or warns the
286          current user when launched by non-root users.
287         
288        - Minor bug fixes. 
289   
290    - 1.09alpha1 :
291   
292        - More work on LDAP storage backend. Many options
293          were added to /etc/pykota.conf to give some
294          hints to the LDAP storage backend.
295         
296        - Severe database access optimizations were done by
297          rewriting most of the Quota Storage backends drivers.
298     
299    - 1.08 :
300   
301        - Major bug fix wrt LPRng support for remote jobs.
302       
303        - Major bug fix wrt increase/decrease account balances.
304       
305    - 1.08alpha8 :
306   
307        - Code refactoring.
308       
309        - A single user/password pair is used to connect
310          to the database backend. The storageuser configuration
311          field, and its associated passwords storageuserpw, are
312          not used anymore.
313         
314        - You can now set PyKota in debug mode, see sample configuration 
315          file for details.
316          WARNING : only Quota Storage backend queries are logged in
317          debug mode, for now.
318       
319    - 1.08alpha7 :
320   
321        - Very latest LDAP schema.
322       
323        - Code enhancement wrt easy pluggability of PyKota attributes
324          and object classes into an existing LDAP directory.
325       
326    - 1.08alpha6 :
327   
328        - Minor bug corrections
329       
330        - More work on LDAP : new schema
331       
332    - 1.08alpha5 :
333   
334        - More good work on LDAP storage.
335          repykota now works reasonably well with the sample LDAP directory.
336       
337    - 1.08alpha4 :
338   
339        - LDAP schema included.
340          THIS IS JUST FOR PEOPLE TO DISCUSS ABOUT THIS.
341          LDAP SUPPORT DOESN'T WORK YET, AND THE SCHEMA
342          MAY CHANGE IN THE FUTURE. PLEASE TELL US
343          WHAT YOU THINK ABOUT THIS SCHEMA ON THE
344          MAILING LIST.
345         
346    - 1.08alpha3 :
347   
348        - External accounting methods were partly rewritten :
349         
350          - No more "broken pipe" should happen.
351         
352          - They now take care of the number of copies
353            This may be unneeded though, if the postscript
354            file already does this, because this would
355            overcharge users (number of copies counted
356            two times). NEEDS MORE TESTING.
357           
358          - The sample configuration file now contains 
359            an external accounting method example which should
360            work with all DSC compliant Postscript files.
361           
362        - Some small bugs were fixed.   
363       
364    - 1.08alpha2 :
365   
366        - Now works with net-snmp v5.0 and above.
367          It already worked, but the sample configuration
368          file didn't contain appropriate values...
369       
370    - 1.07 : Release of the Shame !
371   
372        - The external accounting methods driver was left out of
373          the CVS tree. Nobody could use it since it wasn't included !
374         
375    - 1.06 :
376   
377        - Severe bug fixed : if you had a printer in
378          power saving state which couldn't answer immediately,
379          a bug was triggered.
380          It was caused by a bad copy/paste which
381          forgot to import a Python module at run time.
382         
383    - 1.05 :
384   
385        - External accounters are finally available !
386          This means that you can plug any page accounting
387          method you like by setting the appropriate
388          'accounter' field in /etc/pykota.conf
389          See the sample conf/pykota.conf.sample to
390          learn how to do.
391         
392          NB : Both 'external' and 'stupid' accounting methods
393               account a job size just before *this* job is
394               sent to the printer.
395               The original 'querying' method accounts a job
396               size just before *the next* job is sent to
397               the printer.
398       
399    - 1.05alpha3 :
400   
401        - A 'stupid' and unreliable accounting method was
402          implemented to serve as an example on how to
403          do this sort of things. This method only counts
404          the 'showpage' statements in the input data.
405          See sample configuration file for details.
406          Pluggable accounting methods work, but I advise
407          you TO NOT USE THIS ONE WHICH IS JUST AN EXAMPLE.
408          It is not reliable enough to be used.
409          Use the 'querying' accounting method instead.
410         
411    - 1.05alpha2 :
412   
413        - Pluggable accounting methods.
414       
415        - Better error handling.
416       
417    - 1.05alpha1 :
418   
419        - SECURITY file added to help improve PyKota's security.
420       
421        - Extracting the printer's internal page counter is now
422          tried several times, waiting several seconds between
423          two tries. This lets the time to warm up for some printers
424          which don't answer when they are sleeping (my Apple
425          LaserWriter 16/600 PS is in this case, maybe others too)
426         
427        - Small display bug fixed in repykota
428         
429    - 1.04 :
430   
431        - Default print policy for users/groups unknown from
432          the print quota system is now DENY instead of ALLOW,
433          since ALLOW can generate inaccurate results
434          (incorrect job sizes charged to the wrong persons)
435         
436        - LPRng support works !
437       
438        - A bug was introduced some time ago wrt printers' default
439          policy for unknown users. It is now corrected.
440       
441        - repykota now displays prices per job and per page for each
442          printer, if they are defined.
443         
444        - Minor display bug fixed in repykota.
445       
446        - Problem when running repykota with an empty database was fixed.
447       
448    - 1.03 :
449   
450        - Upgrade script included for earlier versions.
451          Please look inside the initscripts subdirectory.
452          THE DATABASE SCHEMA HAS CHANGED, PLEASE UPGRADE.
453         
454        - repykota now reports account balances too.
455       
456        - PyKota now has a nice logo, see the logos
457          subdirectory.
458       
459        - Manual pages were finally updated.
460       
461        - Group quotas seem to work now !
462       
463        - The new database schema allows to keep an history of all
464          jobs as well as charge users per page and/or per job,
465          and track users' account balance.
466         
467        - edpykota now accepts much more command line options to 
468          use the new functionnalities. See edpykota --help for
469          details.
470         
471        - The installation script now allows to install the sample
472          configuration file during first installation.
473         
474        - More group quota code works, but still not finished. 
475       
476        - The CGI script displays a link to PyKota's website.
477       
478        - The job history is now kept, this will allow per-period
479          reports in the future.
480         
481        - After having modified the quota for an user with edpykota,
482          a quota check is done to eventually warn the user/admin about
483          a quota which is too low to print.
484         
485        - A workaround is provided for HP Printers : their internal
486          page counter is only saved to NVRAM in a 10 increment, so
487          if you switch them off and then on, the reported page counter
488          may be lower than the real number of pages printed.
489          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
490          We unconditionnally set the last job's page count to
491          abs(int((10 - abs(lastcounter(snmp) - lastcounter(storage)) / 2))
492          in this case.
493          For a more accurate accounting, never switch your HP printers
494          off.
495         
496        - A fix is provided for printers which only have a volatile 
497          page counter (reset to 0 every time you switch the printer on)
498          This should allow PyKota to work reasonably fine with HP Laserjet
499          4L/5L/6L, not perfect, but better than nothing.
500          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
501          For a more accurate accounting, never switch your HP printers
502          off. This is untested, please report any problem.
503         
504        - A bug was fixed when edpykota --add was used with users who already
505          had a quota on the specified printer.
506         
507        - A small display bug in repykota was introduced in preliminary
508          1.03 versions, and fixed later on.
509         
510        - Some minor bugs which happened in rare situations were fixed.
511       
512        - Support for AppleTalk printers was added, see sample configuration
513          file for details.
514         
515        - Users and group printing can now be controlled (limited) either by 
516          print quota or by account balance.
517       
518    - 1.02 :
519   
520        - The installation script now checks for software availability
521          and in case a software is missing asks the user if he
522          wants to continue with the installation or abort it.
523         
524        - The configuration file pykota.conf is now expected to be
525          found in /etc instead of in /etc/cups
526          The installation script prompts the user to see if he
527          wants to move an old configuration file to the new location
528          if needed.
529         
530        - Improved documentation.
531       
532        - You can now set the tcp/ip port on which the Quota Storage
533          Server is listening, see sample configuration file for details.
534       
535        - Better general error handling.
536       
537        - Upgrade script for pre 1.01 PostgreSQL database schema is now
538          included as well.
539       
540    - 1.01 :
541   
542        - The configuration file now accepts an option   
543          to choose the recipient(s) of the email messages :
544         
545            - DevNull means no one will receive them.
546            - User means only the user will receive them.
547            - Admin means only the admin will receive them.
548            - Both means the User and the Admin will receive them.
549           
550        - The configuration file now uses hard-coded default values
551          when an option is not set. See sample configuration file
552          for details.
553         
554        - Manual pages are included since 1.00, but I forgot to   
555          add this information to this file.
556         
557        - Redistribution terms for the official package have 
558          softened and are now fully GPL compatible :
559          unrestricted modification is now allowed even for
560          the version number.
561         
562    - 1.00 :
563   
564        - edpykota now accepts a --noquota option. This
565          disable quota checking while still doing page
566          accounting. This is really useful for people
567          who don't want to limit their users but want
568          to know how much pages they print.
569         
570        - Some untested scripts were added to retrieve
571          the life time page counter of non-SNMP printers.
572         
573        - Every directory now has a specific README file. 
574       
575    - 0.99 :
576   
577        - Under some circumstances while the user wasn't allowed
578          to print, he didn't receive any email message. It is
579          now fixed.
580         
581        - When an user wasn't allowed to print, the quota for
582          the previous user wasn't updated. This is now fixed.
583         
584    - 0.98 :
585   
586        - Correctly handle the case where the printer is switched off.
587       
588        - Small bug wrt syslog fixed.
589       
590    - 0.97 :
591   
592        - edpykota accepts wildcards on its command line for users/groups too
593          if the --add option is not set, e.g. :
594         
595              $ edpykota --printer lp --softlimit 50 --hardlimit 100 "jer*"
596             
597        - If no user name is passed at all, then a default wildcard of "*"
598          which means apply the command on ALL users for this printer is used.
599         
600        - Small bug fixes.
601       
602    - 0.96 :
603
604        - Options requester, policy, admin, adminmail and gracedelay can now
605          be set either globally or per printer. The printer option has
606          priority if both are defined.
607
608        - More powerful configuration parser.
609       
610        - If all options are defined globally, there's no need to
611          define a section for each printer in the configuration
612          file anymore. Just define a [global] section and it's ok.
613
614    - 0.95 :
615
616        - External requesters for printers finally added.
617
618        - Full internationalization (english and french are supported)
619 
620        - More complete quota usage report
621
622        - CGI script to access to the quota usage report
623
624        - Several bugs fixed.
625
626
627    - 0.9 :
628
629        - First public version
Note: See TracBrowser for help on using the browser.