root / pykota / trunk / NEWS @ 1156

Revision 1156, 19.4 kB (checked in by jalet, 21 years ago)

Multiple printer names or wildcards can be passed on the command line
separated with commas.
Beta phase.

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