root / pykota / trunk / NEWS @ 1471

Revision 1471, 32.4 kB (checked in by jalet, 20 years ago)

Note about SMTP problems

  • 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-2004 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.19alpha6 :
25   
26        - problems connecting to SMTP servers are now catched.
27       
28        - pykotme now uses pkpgcounter to compute the size of the
29          job. This modification adds PCL5 and soon PCLXL (PCL6)
30          support. You can now get quotes for PCL in addition to
31          PostScript.
32         
33        - pkpgcounter now includes first try at PCLXL parser. 
34          It is currently disabled until it's finished.
35         
36    - 1.19alpha5 :
37   
38        - cupspykota polling loop fix for MacOSX (at least)
39       
40        - logging subsystem now logs PID too, to ease diagnosing
41          problems under heavy load.
42         
43        - pkpgcounter enhancements.
44       
45        - pkprinters --skipexisting now tells pkprinters to not
46          modify existing printers when --add is used.
47          pkprinters logs a warning message whenever --add is
48          used and a printer already exists.
49         
50        - LDAP schema now allows accented chars in pykotaFileName
51          and pykotaTitle attributes.
52       
53    - 1.19alpha4 :
54   
55        - a bad copy&paste prevented pkpgcounter to work at all, this
56          is now fixed.
57         
58        - improved PCL support in pkpgcounter, with the use of
59          HP PCL/PJL Reference Set
60          PCL5 Printer Language Technical Quick Reference Guide
61       
62        - pkpgcounter now uses mmap to speed things up : duration
63          is halved with the sample 87 pages PCL document I use for
64          testing.
65         
66    - 1.19alpha3 :
67   
68        - pkprinters now accepts the --list command line argument
69          to list informations about printers.
70         
71    - 1.19alpha2 :
72   
73        - pkpgcounter is now included as a smart external
74          accounter which can handle both PostScript and PCL.
75         
76    - 1.19alpha1 :
77   
78        - PYKOTALIMITBY environment variable is now exported too.
79       
80        - Inclusion of Michele Baldessari's work on autotools.
81       
82    - 1.18 :
83   
84        - Improved documentation
85       
86    - 1.18beta2 :
87     
88        - Fix for raw jobs with cupspykota
89       
90    - 1.18beta :
91   
92        - Small fix for new waitprinter.sh script
93       
94        - Better tracebacks on error conditions
95       
96        - Improved translations
97       
98        - Improved documentation
99       
100    - 1.18alpha15 :
101
102        - waitprinter.sh replaced by a new and possibly faster
103          and more powerful one.
104   
105        - Names can now begin with a digit.
106       
107        - Stability improvement for quotas set on printers groups.
108       
109    - 1.18alpha14 :
110   
111        - Catches more (all ?) problems with SMTP servers instead
112          of breaking.
113         
114        - Italian translation added.
115       
116    - 1.18alpha13 :
117   
118        - Pre and Post hooks are now available in the pykota
119          filter as well.
120         
121        - The pykota filter doesn't check last user's quota
122          anymore when delayed hardware accounting is used :
123          this will be done anyway the next time the last
124          user will print again. This saves some database
125          queries which are unneeded.
126       
127    - 1.18alpha12 :
128   
129        - Pre and Post hooks to external commands with many
130          many environment variables available are useable
131          from the cupspykota backend.
132          See sample configuration file for details and help.
133         
134    - 1.18alpha11 :
135   
136        - Hopefully final fix wrt groups (users and printers)
137       
138    - 1.18alpha10 :
139   
140        - Fixed nested printer groups accounting.
141       
142        - Fixed user groups + printer groups problem.
143       
144    - 1.18alpha9 :
145   
146        - Fix for LDAP problem when job price was 0.
147       
148        - Fix for empty user groups with LDAP.
149       
150        - Preliminary version of the snmpprinterstatus command added.
151       
152    - 1.18alpha8 :
153   
154        - Don't retrieve data when not needed.
155          This avoids many database queries.
156       
157    - 1.18alpha7 :
158   
159        - New experimental ldapcache directive to improve
160          LDAP caching.
161         
162    - 1.18alpha6 :
163       
164        - New configuration directive added : maildomain
165          to specify the domain to send mail to when user
166          email address is not set in PyKota database.
167         
168        - More complete email message headers. 
169         
170    - 1.18alpha5 :
171   
172        - Debian packaging specific files, contributed by
173          Peter Hawkins are now included in the project's tree.
174         
175        - Preliminary work on future low-level LDAP caching to speed
176          up modifications (at least).
177         
178    - 1.18alpha4 :
179   
180        - Applied some of the modifications suggested by
181          Peter Hawkins, for better Debian integration.
182          Most notably cupspykota, pykota, and the shell
183          scripts are now installed into /usr/share/pykota
184          instead of into /usr/bin
185          BEWARE : double check that your symbolic link
186          to cupspykota is correct, and that your pykota.conf
187          file use correct path for the shell scripts like
188          waitprinter.sh and al.
189         
190        - pkhint command added, to help in configuring correct
191          accounting method for PyKota.
192         
193    - 1.18alpha3 :
194   
195        - Fixed a rare bug in cupspykota backend which gave
196          incorrect "CUPS backend died abnormally" messages.
197       
198    - 1.18alpha2 :
199   
200        - Added the pkprinters command line tool to manage printers
201          exclusively.
202       
203    - 1.18alpha1 :
204   
205        - Preliminary work on Relationnal Database Independance.
206       
207        - Sample report made from OpenOffice.org added as PDF and SXC.
208       
209    - 1.17 :
210   
211        - Finalized release.
212       
213    - 1.17alpha2 :
214   
215        - Fix stupid software accounting bug in the CUPS backend.
216       
217    - 1.17alpha1 :
218   
219        - User/Group deletion code in edpykota rewritten.
220       
221    - 1.16 :
222   
223        - Preliminary documentation on how to use OpenOffice.org
224          to create personnalized reports for PyKota + PostgreSQL.
225         
226        - Spanish installation guide for CUPS+PyKota+PostgreSQL
227          added to the documentation. Doesn't yet document v1.16
228          though.
229       
230        - Portuguese Portuguese translation replaces Brasilian
231          Portuguese Translation. Brasilian portuguese
232          translation is still available under the 'br' locale.
233       
234    - 1.16beta3 :
235   
236        - Swedish translation added.
237       
238        - Small fix in documentation.
239       
240    - 1.16beta2 :
241   
242        - Small fix for job cancelling code while job already
243          printing in CUPS backend.
244         
245        - Big fix wrt printing policies for unknown users. 
246       
247    - 1.16beta1 :
248   
249        - Manpages upgraded.
250       
251    - 1.16alpha26 :
252   
253        - Job price is now computed like this :
254       
255          SUM((NbPages * PricePerPage) + PricePerJob)
256         
257          For current printer and all the printers groups it is
258          a member of, if any.
259         
260          This may be difficult to grasp, but offers unprecedented
261          flexibility.
262         
263    - 1.16alpha25 :
264   
265        - Email address can be set at user creation time,
266          using the following syntax :
267         
268            $ edpykota --add username/email@yourdomain.com
269       
270    - 1.16alpha24 :
271   
272        - CGI script now can show the printing history.
273       
274        - Bug wrt number of copies should be fixed.
275       
276        - Major code refactoring => It is now possible to
277          automatically add printers on first print.
278       
279    - 1.16alpha23 :
280   
281        - Fixed potential accuracy problem if a user printed on
282          several printers at the very same time.
283       
284    - 1.16alpha22 :
285   
286        - edpykota now allows adding printers to printer groups
287       
288    - 1.16alpha21 :
289   
290        - Allows the dot in user and printer names.
291       
292        - Printer groups are now cached too.
293       
294    - 1.16alpha20 :
295   
296        - Fixed several small bugs with the help of PyChecker.
297       
298    - 1.16alpha19 :
299     
300        - Fixed a bug in PostgreSQL backend's code.
301       
302    - 1.16alpha18 :
303   
304        - Initial code for printer groups support. Printer groups have
305          to be added with external tools like psql or gq for example.
306          Printer groups seems to work fine with users. Untested with user
307          groups for now.
308
309        - Several minor visual problems fixed in reports.
310       
311        - Fixed a bug in LDAP date handling.
312       
313        - Fix for LDAP problem with some combination of OpenLDAP + Python-LDAP
314          + some particular settings.
315         
316        - mailandpopup.sh shell script added. See sample configuration file
317          for details.
318       
319        - Several environment variables are now exported when executing
320          external commands (accounters, requesters, mailers) :
321           
322            PYKOTAUSERNAME => user who is printing
323            PYKOTAPRINTERNAME => printer on which the job is being sent
324            PYKOTATITLE => Job's title
325            PYKOTAFILENAME => Job's filename
326            PYKOTACOPIES => number of copies asked
327            PYKOTAOPTIONS => print command options (-o with CUPS)
328         
329    - 1.16alpha17 :
330   
331        - Added portugues translation.
332       
333        - Major code refactoring in accounters.
334       
335    - 1.16alpha16 :
336   
337        - Code refactoring, and addition of a real HTML reporter, to
338          have nice looking and useful web based reports (in the future).
339       
340        - Added utolower configuration option to convert all usernames
341          to lowercase during printing.
342         
343    - 1.15alpha15 :
344   
345        - Now includes the papwaitprinter.sh shell script to wait for
346          AppleTalk enabled printers.
347         
348    - 1.16alpha14 :
349   
350        - Now printing on a printer not defined in the Quota Storage,
351          results in the job being cancelled or stopped, depending
352          on the printing system.
353         
354    - 1.16alpha13 :
355   
356        - Small bugfix wrt Python v2.1
357       
358        - If username is an empty string, user root is assumed.
359       
360        - 'postgresql' is not recognized anymore as a storage backend,
361          you have to use 'pgstorage' instead. 'postgresql' used to
362          be supported for compatibility with very old PyKota versions,
363          this is not the case anymore.
364         
365    - 1.16alpha12 :
366   
367        - Job price added to job history, to keep accounting correct
368          if a printer price per page or per job is modified and the
369          history is not reset : the history would have given a false
370          amount of money charged before the printer's prices were
371          modified, this addition solves the problem.
372         
373    - 1.16alpha11 :
374   
375        - Some preliminary modifications to the database structure for
376          PostgreSQL and OpenLDAP. A script to upgrade a PostgreSQL
377          database is now provided. LDAP attributes now support
378          eq, pres and sub indexes.
379         
380        - Job history now contains additional informations : 
381          number of copies, filename, title and print options.
382         
383    - 1.16alpha10 :
384       
385        - Some modifications done to external policy handling.
386          See sample configuration file for details.
387   
388        - Spanish translation added.
389       
390    - 1.16alpha9 :
391   
392        - mailto can be set to external(...) to warn users above
393          quota with any command of your choice (e.g. linpopup).
394          Several parameters are available, see sample configuration
395          file for details.
396         
397    - 1.16alpha8 :
398   
399        - Now cupspykota transmits SIGTERMS to the original 
400          backend when the user deletes a job being processed.
401         
402        - The documentation is now licensed under the terms of the
403          GNU GPL too.
404         
405    - 1.16alpha7 :
406   
407        - The CUPS backend is now fully functionnal (it seems).
408       
409        - From now on, the use of the pykota filter with CUPS
410          is deprecated. The pykota filter still has to be
411          used with LPRng though.
412       
413    - 1.16alpha6 :
414   
415        - Bug fixed : when edpykota was used to add a printer
416          with no user or group name, a bad user/group name "*" was
417          added to the database.
418         
419    - 1.16alpha5 :
420   
421        - New CUPS backend supports device enumeration !
422          This means that NO manual CUPS configuration has to
423          be done. All can now be done from CUPS web interface.
424       
425    - 1.16alpha4 :
426   
427        - New CUPS backend added.
428       
429    - 1.16alpha3 :
430       
431        - Minimal FAQ document added.
432       
433    - 1.16alpha2 :
434   
435        - CGI script now partially supports browser's language preference
436       
437    - 1.16alpha1 :
438   
439        - Ensures that the LDAP connection is really closed at end.
440       
441        - More complete error messages in case of LDAP operation failure.
442       
443    - 1.15 :
444     
445        - Documentation improved.
446       
447    - 1.15beta :
448   
449        - Command line tools now accept multiple printer
450          names or wildcards, separated with commas.
451         
452    - 1.15alpha9 :
453   
454        - External policy can be used to auto-add unknown users
455          and any other interesting things you may want to do.
456          WARNING : You can't auto-add printers for now.
457          They have to be created manually before.
458          Look at sample configuration file for examples.
459         
460    - 1.15alpha8 :
461   
462        - Job history can be disabled if needed.
463          This feature may be useful for people who use the LDAP
464          backend and don't want their LDAP tree to grow out of
465          control.
466       
467    - 1.15alpha7 :
468   
469        - More work done on caching wrt groups.
470       
471    - 1.15alpha6 :
472   
473        - Performance bottleneck with LDAP solved.
474       
475    - 1.15alpha5 :
476   
477        - Caching mechanism for all database queries.
478
479    - 1.15alpha4 :
480   
481        - Problem with Python 2.3 fixed. Needs some definitive
482          modification.
483         
484    - 1.15alpha3 :
485   
486        - CGI script now tries to restrict view when the
487          REMOTE_USER environment variable is set. This allows
488          people to protect its use with .htaccess files.
489          When unprotected, or if REMOTE_USER is 'root', then
490          unrestricted access is granted.
491          NB : REMOTE_USER is automatically set by the web server
492          (e.g. Apache) when a page with restricted access is viewed.
493         
494    - 1.15alpha2 :
495   
496        - Better detection of LPRng.
497       
498        - Outputs a warning if printing system is unknown.
499       
500    - 1.15alpha1 :
501   
502        - Bug fix in SQL code.
503       
504    - 1.14 :
505   
506        - The PostgreSQL database connection is now always closed before
507          exit. The LDAP database connection too, but it didn't suffer
508          from the problem anyway, AFAICT.
509       
510    - 1.14beta2 :
511   
512        - An LDAP-specific configuration field was introduced, usermail.
513          Use it to specify which LDAP attribute contains a valid email
514          address for the user. See sample configuration file for
515          details.
516       
517    - 1.14beta :
518   
519        - Two new LDAP-specific configuration fields were introduced,
520          newuser and newgroup. Use them to specify if you want to add
521          quota information to existing entries or elsewhere.
522          See sample configuration file for details.
523         
524    - 1.14alpha9 :
525   
526        - Documentation improved.
527       
528        - pykotme now also prints the user's account balance value
529          if the user is registered in the Quota Storage and his
530          limiting factor is "balance".
531         
532    - 1.14alpha8 :
533   
534        - bin/waitprinter.sh is now included to wait for
535          SNMP enabled printers to be idle again before
536          asking for their internal page counter.
537          See sample configuration file for details.
538         
539    - 1.14alpha7 :
540   
541        - edpykota now doesn't check if the user/group is above
542          quota. The check is only done at print time. This
543          prevents the sending of email messages when creating
544          user quotas if quota is already reached at creation
545          time.
546         
547    - 1.14alpha6 :
548   
549        - Configuration file split and moved to /etc/pykota/pykota.conf
550          and /etc/pykota/pykotadmin.conf to prevent simple users to
551          have Read/Write access to the Quota Database.
552          Don't forget to :
553         
554                $ chmod 640 /etc/pykota/pykotadmin.conf
555               
556        - storageuser and storageuserpw configuration fields reintroduced
557          for the same reason.
558         
559        - Code cleaning for future implementation of email addresses
560          support in the PostgreSQL and LDAP backends.
561         
562    - 1.14alpha5 :
563       
564        - Big bug fixed when changing the prices for a printer
565       
566    - 1.14alpha4 :
567   
568        - When adding an user, the user itself and its account balance
569          are now added in the same LDAP entry. Before they were added
570          as two different LDAP entries.
571         
572    - 1.14alpha3 :
573   
574        - Email field added to PostgreSQL database. An upgrade script
575          is included in initscripts/postgresql.
576       
577    - 1.14alpha2 :
578   
579        - Typo fixed when using the --prototype option to edpykota
580       
581    - 1.14alpha1 :
582   
583        - Poor man's treshold included : users with a low account
584          balance (below 1.0 by default, configurable) are sent
585          a warning message.
586         
587        - All warning messages to users are now configurable. 
588          NB : Warning messages to the administrator are not.
589       
590    - 1.13 :
591   
592        - Some small fixes wrt group handling.
593       
594        - The whole module code was passed through PyChecker and
595          several small code inconsistencies were fixed,
596          as well as a bug in the groups code.
597         
598    - 1.13alpha1 :
599   
600        - Bug fix wrt LDAP.
601       
602    - 1.12 :
603   
604        - More complete test added in edpykota.
605       
606    - 1.12alpha2 :
607   
608        - The previous bug fix was incomplete. This is corrected.
609       
610    - 1.12alpha1 :
611   
612        - Small bug fix.
613       
614    - 1.11 :
615   
616        - Now includes the pykotme command line tool, to produce
617          printing quotes for users.
618         
619    - 1.10 :
620   
621        - Bug fixed wrt quota reports when print limiting is by
622          account balance.
623         
624    - 1.09 :
625   
626        - Translations finalized.
627       
628        - Manpages updated.
629       
630        - Installation documentation improved wrt LDAP support.
631       
632    - 1.09beta2 :
633   
634        - The CGI script for quota reports works again, and
635          is much more powerful.
636       
637    - 1.09beta :
638   
639        - edpykota finalized
640       
641    - 1.09alpha2 :
642   
643        - LDAP schema modified a bit. Please upgrade.
644       
645        - LDAP backend works !
646       
647        - repykota and warnpykota allow the root user to pass
648          users or groups names on the command line. Users
649          and groups names may contain wildcards.
650         
651        - repykota and warnpykota only reports or warns the
652          current user when launched by non-root users.
653         
654        - Minor bug fixes. 
655   
656    - 1.09alpha1 :
657   
658        - More work on LDAP storage backend. Many options
659          were added to /etc/pykota.conf to give some
660          hints to the LDAP storage backend.
661         
662        - Severe database access optimizations were done by
663          rewriting most of the Quota Storage backends drivers.
664     
665    - 1.08 :
666   
667        - Major bug fix wrt LPRng support for remote jobs.
668       
669        - Major bug fix wrt increase/decrease account balances.
670       
671    - 1.08alpha8 :
672   
673        - Code refactoring.
674       
675        - A single user/password pair is used to connect
676          to the database backend. The storageuser configuration
677          field, and its associated passwords storageuserpw, are
678          not used anymore.
679         
680        - You can now set PyKota in debug mode, see sample configuration 
681          file for details.
682          WARNING : only Quota Storage backend queries are logged in
683          debug mode, for now.
684       
685    - 1.08alpha7 :
686   
687        - Very latest LDAP schema.
688       
689        - Code enhancement wrt easy pluggability of PyKota attributes
690          and object classes into an existing LDAP directory.
691       
692    - 1.08alpha6 :
693   
694        - Minor bug corrections
695       
696        - More work on LDAP : new schema
697       
698    - 1.08alpha5 :
699   
700        - More good work on LDAP storage.
701          repykota now works reasonably well with the sample LDAP directory.
702       
703    - 1.08alpha4 :
704   
705        - LDAP schema included.
706          THIS IS JUST FOR PEOPLE TO DISCUSS ABOUT THIS.
707          LDAP SUPPORT DOESN'T WORK YET, AND THE SCHEMA
708          MAY CHANGE IN THE FUTURE. PLEASE TELL US
709          WHAT YOU THINK ABOUT THIS SCHEMA ON THE
710          MAILING LIST.
711         
712    - 1.08alpha3 :
713   
714        - External accounting methods were partly rewritten :
715         
716          - No more "broken pipe" should happen.
717         
718          - They now take care of the number of copies
719            This may be unneeded though, if the postscript
720            file already does this, because this would
721            overcharge users (number of copies counted
722            two times). NEEDS MORE TESTING.
723           
724          - The sample configuration file now contains 
725            an external accounting method example which should
726            work with all DSC compliant Postscript files.
727           
728        - Some small bugs were fixed.   
729       
730    - 1.08alpha2 :
731   
732        - Now works with net-snmp v5.0 and above.
733          It already worked, but the sample configuration
734          file didn't contain appropriate values...
735       
736    - 1.07 : Release of the Shame !
737   
738        - The external accounting methods driver was left out of
739          the CVS tree. Nobody could use it since it wasn't included !
740         
741    - 1.06 :
742   
743        - Severe bug fixed : if you had a printer in
744          power saving state which couldn't answer immediately,
745          a bug was triggered.
746          It was caused by a bad copy/paste which
747          forgot to import a Python module at run time.
748         
749    - 1.05 :
750   
751        - External accounters are finally available !
752          This means that you can plug any page accounting
753          method you like by setting the appropriate
754          'accounter' field in /etc/pykota.conf
755          See the sample conf/pykota.conf.sample to
756          learn how to do.
757         
758          NB : Both 'external' and 'stupid' accounting methods
759               account a job size just before *this* job is
760               sent to the printer.
761               The original 'querying' method accounts a job
762               size just before *the next* job is sent to
763               the printer.
764       
765    - 1.05alpha3 :
766   
767        - A 'stupid' and unreliable accounting method was
768          implemented to serve as an example on how to
769          do this sort of things. This method only counts
770          the 'showpage' statements in the input data.
771          See sample configuration file for details.
772          Pluggable accounting methods work, but I advise
773          you TO NOT USE THIS ONE WHICH IS JUST AN EXAMPLE.
774          It is not reliable enough to be used.
775          Use the 'querying' accounting method instead.
776         
777    - 1.05alpha2 :
778   
779        - Pluggable accounting methods.
780       
781        - Better error handling.
782       
783    - 1.05alpha1 :
784   
785        - SECURITY file added to help improve PyKota's security.
786       
787        - Extracting the printer's internal page counter is now
788          tried several times, waiting several seconds between
789          two tries. This lets the time to warm up for some printers
790          which don't answer when they are sleeping (my Apple
791          LaserWriter 16/600 PS is in this case, maybe others too)
792         
793        - Small display bug fixed in repykota
794         
795    - 1.04 :
796   
797        - Default print policy for users/groups unknown from
798          the print quota system is now DENY instead of ALLOW,
799          since ALLOW can generate inaccurate results
800          (incorrect job sizes charged to the wrong persons)
801         
802        - LPRng support works !
803       
804        - A bug was introduced some time ago wrt printers' default
805          policy for unknown users. It is now corrected.
806       
807        - repykota now displays prices per job and per page for each
808          printer, if they are defined.
809         
810        - Minor display bug fixed in repykota.
811       
812        - Problem when running repykota with an empty database was fixed.
813       
814    - 1.03 :
815   
816        - Upgrade script included for earlier versions.
817          Please look inside the initscripts subdirectory.
818          THE DATABASE SCHEMA HAS CHANGED, PLEASE UPGRADE.
819         
820        - repykota now reports account balances too.
821       
822        - PyKota now has a nice logo, see the logos
823          subdirectory.
824       
825        - Manual pages were finally updated.
826       
827        - Group quotas seem to work now !
828       
829        - The new database schema allows to keep an history of all
830          jobs as well as charge users per page and/or per job,
831          and track users' account balance.
832         
833        - edpykota now accepts much more command line options to 
834          use the new functionnalities. See edpykota --help for
835          details.
836         
837        - The installation script now allows to install the sample
838          configuration file during first installation.
839         
840        - More group quota code works, but still not finished. 
841       
842        - The CGI script displays a link to PyKota's website.
843       
844        - The job history is now kept, this will allow per-period
845          reports in the future.
846         
847        - After having modified the quota for an user with edpykota,
848          a quota check is done to eventually warn the user/admin about
849          a quota which is too low to print.
850         
851        - A workaround is provided for HP Printers : their internal
852          page counter is only saved to NVRAM in a 10 increment, so
853          if you switch them off and then on, the reported page counter
854          may be lower than the real number of pages printed.
855          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
856          We unconditionnally set the last job's page count to
857          abs(int((10 - abs(lastcounter(snmp) - lastcounter(storage)) / 2))
858          in this case.
859          For a more accurate accounting, never switch your HP printers
860          off.
861         
862        - A fix is provided for printers which only have a volatile 
863          page counter (reset to 0 every time you switch the printer on)
864          This should allow PyKota to work reasonably fine with HP Laserjet
865          4L/5L/6L, not perfect, but better than nothing.
866          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
867          For a more accurate accounting, never switch your HP printers
868          off. This is untested, please report any problem.
869         
870        - A bug was fixed when edpykota --add was used with users who already
871          had a quota on the specified printer.
872         
873        - A small display bug in repykota was introduced in preliminary
874          1.03 versions, and fixed later on.
875         
876        - Some minor bugs which happened in rare situations were fixed.
877       
878        - Support for AppleTalk printers was added, see sample configuration
879          file for details.
880         
881        - Users and group printing can now be controlled (limited) either by 
882          print quota or by account balance.
883       
884    - 1.02 :
885   
886        - The installation script now checks for software availability
887          and in case a software is missing asks the user if he
888          wants to continue with the installation or abort it.
889         
890        - The configuration file pykota.conf is now expected to be
891          found in /etc instead of in /etc/cups
892          The installation script prompts the user to see if he
893          wants to move an old configuration file to the new location
894          if needed.
895         
896        - Improved documentation.
897       
898        - You can now set the tcp/ip port on which the Quota Storage
899          Server is listening, see sample configuration file for details.
900       
901        - Better general error handling.
902       
903        - Upgrade script for pre 1.01 PostgreSQL database schema is now
904          included as well.
905       
906    - 1.01 :
907   
908        - The configuration file now accepts an option   
909          to choose the recipient(s) of the email messages :
910         
911            - DevNull means no one will receive them.
912            - User means only the user will receive them.
913            - Admin means only the admin will receive them.
914            - Both means the User and the Admin will receive them.
915           
916        - The configuration file now uses hard-coded default values
917          when an option is not set. See sample configuration file
918          for details.
919         
920        - Manual pages are included since 1.00, but I forgot to   
921          add this information to this file.
922         
923        - Redistribution terms for the official package have 
924          softened and are now fully GPL compatible :
925          unrestricted modification is now allowed even for
926          the version number.
927         
928    - 1.00 :
929   
930        - edpykota now accepts a --noquota option. This
931          disable quota checking while still doing page
932          accounting. This is really useful for people
933          who don't want to limit their users but want
934          to know how much pages they print.
935         
936        - Some untested scripts were added to retrieve
937          the life time page counter of non-SNMP printers.
938         
939        - Every directory now has a specific README file. 
940       
941    - 0.99 :
942   
943        - Under some circumstances while the user wasn't allowed
944          to print, he didn't receive any email message. It is
945          now fixed.
946         
947        - When an user wasn't allowed to print, the quota for
948          the previous user wasn't updated. This is now fixed.
949         
950    - 0.98 :
951   
952        - Correctly handle the case where the printer is switched off.
953       
954        - Small bug wrt syslog fixed.
955       
956    - 0.97 :
957   
958        - edpykota accepts wildcards on its command line for users/groups too
959          if the --add option is not set, e.g. :
960         
961              $ edpykota --printer lp --softlimit 50 --hardlimit 100 "jer*"
962             
963        - If no user name is passed at all, then a default wildcard of "*"
964          which means apply the command on ALL users for this printer is used.
965         
966        - Small bug fixes.
967       
968    - 0.96 :
969
970        - Options requester, policy, admin, adminmail and gracedelay can now
971          be set either globally or per printer. The printer option has
972          priority if both are defined.
973
974        - More powerful configuration parser.
975       
976        - If all options are defined globally, there's no need to
977          define a section for each printer in the configuration
978          file anymore. Just define a [global] section and it's ok.
979
980    - 0.95 :
981
982        - External requesters for printers finally added.
983
984        - Full internationalization (english and french are supported)
985 
986        - More complete quota usage report
987
988        - CGI script to access to the quota usage report
989
990        - Several bugs fixed.
991
992
993    - 0.9 :
994
995        - First public version
Note: See TracBrowser for help on using the browser.