root / pykota / trunk / NEWS @ 1179

Revision 1179, 20.3 kB (checked in by jalet, 21 years ago)

Bug fix wrt no user/group name command line argument to edpykota

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