root / pykota / trunk / NEWS @ 1185

Revision 1185, 20.6 kB (checked in by jalet, 21 years ago)

New CUPS backend fully functionnal.
Old CUPS configuration method is now officially deprecated.

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