root / pykota / trunk / NEWS @ 1214

Revision 1212, 22.2 kB (checked in by jalet, 21 years ago)

Fixes reported to NEWS file.

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