root / pykota / trunk / NEWS @ 1549

Revision 1549, 39.0 kB (checked in by jalet, 20 years ago)

Fixed problem with Power Save mode on some printers

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