root / pykota / trunk / NEWS @ 1178

Revision 1178, 20.1 kB (checked in by jalet, 21 years ago)

New CUPS backend supports device enumeration

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