root / pykota / trunk / NEWS @ 1190

Revision 1189, 20.7 kB (checked in by jalet, 21 years ago)

Documentation's licensed changed from GNU FDL to GNU GPL, to please Debian.

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