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
RevLine 
[797]1# $Id$
2
3PyKota - Print Quota for CUPS
4
5(c) 2003 Jerome Alet <alet@librelogiciel.com>
[873]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.
[797]10
[873]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.
[797]15
[873]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
[797]20============================================================
21
22PyKota NEWS :
23
[1185]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       
[1179]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         
[1178]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       
[1177]44    - 1.16alpha4 :
45   
46        - New CUPS backend added.
47       
[1175]48    - 1.16alpha3 :
49       
50        - Minimal FAQ document added.
51       
[1172]52    - 1.16alpha2 :
53   
54        - CGI script now partially supports browser's language preference
55       
[1170]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       
[1168]62    - 1.15 :
63     
64        - Documentation improved.
65       
[1156]66    - 1.15beta :
67   
68        - Command line tools now accept multiple printer
69          names or wildcards, separated with commas.
70         
[1152]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         
[1149]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       
[1138]86    - 1.15alpha7 :
87   
88        - More work done on caching wrt groups.
89       
[1135]90    - 1.15alpha6 :
91   
92        - Performance bottleneck with LDAP solved.
93       
[1130]94    - 1.15alpha5 :
95   
96        - Caching mechanism for all database queries.
97
[1123]98    - 1.15alpha4 :
99   
100        - Problem with Python 2.3 fixed. Needs some definitive
101          modification.
102         
[1121]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.
[1122]110          NB : REMOTE_USER is automatically set by the web server
111          (e.g. Apache) when a page with restricted access is viewed.
[1121]112         
[1116]113    - 1.15alpha2 :
114   
115        - Better detection of LPRng.
116       
117        - Outputs a warning if printing system is unknown.
118       
[1115]119    - 1.15alpha1 :
120   
121        - Bug fix in SQL code.
122       
[1113]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       
[1111]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       
[1105]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         
[1099]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         
[1095]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         
[1089]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         
[1087]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         
[1085]181    - 1.14alpha5 :
182       
183        - Big bug fixed when changing the prices for a printer
184       
[1082]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         
[1079]191    - 1.14alpha3 :
192   
193        - Email field added to PostgreSQL database. An upgrade script
194          is included in initscripts/postgresql.
195       
[1078]196    - 1.14alpha2 :
197   
198        - Typo fixed when using the --prototype option to edpykota
199       
[1077]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       
[1068]209    - 1.13 :
210   
[1072]211        - Some small fixes wrt group handling.
212       
[1068]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         
[1067]217    - 1.13alpha1 :
218   
219        - Bug fix wrt LDAP.
220       
[1065]221    - 1.12 :
222   
223        - More complete test added in edpykota.
224       
[1062]225    - 1.12alpha2 :
226   
227        - The previous bug fix was incomplete. This is corrected.
228       
[1061]229    - 1.12alpha1 :
230   
231        - Small bug fix.
232       
[1057]233    - 1.11 :
234   
235        - Now includes the pykotme command line tool, to produce
236          printing quotes for users.
237         
[1056]238    - 1.10 :
239   
240        - Bug fixed wrt quota reports when print limiting is by
241          account balance.
242         
[1052]243    - 1.09 :
244   
245        - Translations finalized.
246       
247        - Manpages updated.
248       
249        - Installation documentation improved wrt LDAP support.
250       
[1049]251    - 1.09beta2 :
252   
253        - The CGI script for quota reports works again, and
254          is much more powerful.
255       
[1043]256    - 1.09beta :
257   
258        - edpykota finalized
259       
[1041]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   
[1029]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.
[1044]280         
281        - Severe database access optimizations were done by
282          rewriting most of the Quota Storage backends drivers.
[1029]283     
[1027]284    - 1.08 :
285   
286        - Major bug fix wrt LPRng support for remote jobs.
[1029]287       
[1027]288        - Major bug fix wrt increase/decrease account balances.
289       
[1021]290    - 1.08alpha8 :
291   
292        - Code refactoring.
[1029]293       
[1021]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.
[1029]298         
[1022]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.
[1021]303       
[1019]304    - 1.08alpha7 :
305   
306        - Very latest LDAP schema.
[1029]307       
[1019]308        - Code enhancement wrt easy pluggability of PyKota attributes
309          and object classes into an existing LDAP directory.
310       
[1017]311    - 1.08alpha6 :
312   
313        - Minor bug corrections
[1029]314       
[1017]315        - More work on LDAP : new schema
316       
[1016]317    - 1.08alpha5 :
318   
[1017]319        - More good work on LDAP storage.
320          repykota now works reasonably well with the sample LDAP directory.
[1016]321       
[1014]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         
[1000]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       
[998]349    - 1.08alpha2 :
350   
351        - Now works with net-snmp v5.0 and above.
352          It already worked, but the sample configuration
[1000]353          file didn't contain appropriate values...
[998]354       
[991]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         
[989]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         
[980]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       
[976]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.
[978]394          Use the 'querying' accounting method instead.
[976]395         
[973]396    - 1.05alpha2 :
397   
398        - Pluggable accounting methods.
399       
[975]400        - Better error handling.
401       
[962]402    - 1.05alpha1 :
403   
[969]404        - SECURITY file added to help improve PyKota's security.
405       
[962]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         
[970]412        - Small display bug fixed in repykota
413         
[960]414    - 1.04 :
[956]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         
[954]421        - LPRng support works !
422       
[953]423        - A bug was introduced some time ago wrt printers' default
424          policy for unknown users. It is now corrected.
425       
[950]426        - repykota now displays prices per job and per page for each
427          printer, if they are defined.
428         
[947]429        - Minor display bug fixed in repykota.
430       
431        - Problem when running repykota with an empty database was fixed.
432       
[942]433    - 1.03 :
434   
435        - Upgrade script included for earlier versions.
436          Please look inside the initscripts subdirectory.
[965]437          THE DATABASE SCHEMA HAS CHANGED, PLEASE UPGRADE.
[942]438         
[932]439        - repykota now reports account balances too.
[929]440       
[932]441        - PyKota now has a nice logo, see the logos
442          subdirectory.
443       
[936]444        - Manual pages were finally updated.
445       
[927]446        - Group quotas seem to work now !
447       
[910]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         
[917]452        - edpykota now accepts much more command line options to 
453          use the new functionnalities. See edpykota --help for
454          details.
455         
[885]456        - The installation script now allows to install the sample
457          configuration file during first installation.
[892]458         
459        - More group quota code works, but still not finished. 
[885]460       
[894]461        - The CGI script displays a link to PyKota's website.
462       
[899]463        - The job history is now kept, this will allow per-period
464          reports in the future.
[900]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         
[901]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
[909]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.
[908]478          For a more accurate accounting, never switch your HP printers
479          off.
[901]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)
[908]483          This should allow PyKota to work reasonably fine with HP Laserjet
484          4L/5L/6L, not perfect, but better than nothing.
[901]485          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
[908]486          For a more accurate accounting, never switch your HP printers
[925]487          off. This is untested, please report any problem.
[901]488         
[907]489        - A bug was fixed when edpykota --add was used with users who already
490          had a quota on the specified printer.
491         
[913]492        - A small display bug in repykota was introduced in preliminary
493          1.03 versions, and fixed later on.
[915]494         
495        - Some minor bugs which happened in rare situations were fixed.
[913]496       
[919]497        - Support for AppleTalk printers was added, see sample configuration
498          file for details.
[925]499         
500        - Users and group printing can now be controlled (limited) either by 
501          print quota or by account balance.
[919]502       
[877]503    - 1.02 :
[859]504   
[871]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         
[872]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         
[859]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       
[872]520        - Better general error handling.
[859]521       
[875]522        - Upgrade script for pre 1.01 PostgreSQL database schema is now
523          included as well.
524       
[852]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           
[853]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         
[852]539        - Manual pages are included since 1.00, but I forgot to   
540          add this information to this file.
541         
[855]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         
[846]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       
[833]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
[835]567          the previous user wasn't updated. This is now fixed.
[833]568         
[827]569    - 0.98 :
570   
571        - Correctly handle the case where the printer is switched off.
572       
[828]573        - Small bug wrt syslog fixed.
574       
[819]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             
[821]582        - If no user name is passed at all, then a default wildcard of "*"
[819]583          which means apply the command on ALL users for this printer is used.
584         
585        - Small bug fixes.
586       
[803]587    - 0.96 :
588
[808]589        - Options requester, policy, admin, adminmail and gracedelay can now
[807]590          be set either globally or per printer. The printer option has
591          priority if both are defined.
[803]592
[807]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.
[803]598
[797]599    - 0.95 :
600
[798]601        - External requesters for printers finally added.
[797]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.