root / pykota / trunk / NEWS @ 1365

Revision 1365, 28.9 kB (checked in by jalet, 20 years ago)

Should fix the remaining bugs wrt printers groups and users groups.

  • 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-2004 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.18alpha10 :
25   
26        - Fixed nested printer groups accounting.
27       
28        - Fixed user groups + printer groups problem.
29       
30    - 1.18alpha9 :
31   
32        - Fix for LDAP problem when job price was 0.
33       
34        - Fix for empty user groups with LDAP.
35       
36        - Preliminary version of the snmpprinterstatus command added.
37       
38    - 1.18alpha8 :
39   
40        - Don't retrieve data when not needed.
41          This avoids many database queries.
42       
43    - 1.18alpha7 :
44   
45        - New experimental ldapcache directive to improve
46          LDAP caching.
47         
48    - 1.18alpha6 :
49       
50        - New configuration directive added : maildomain
51          to specify the domain to send mail to when user
52          email address is not set in PyKota database.
53         
54        - More complete email message headers. 
55         
56    - 1.18alpha5 :
57   
58        - Debian packaging specific files, contributed by
59          Peter Hawkins are now included in the project's tree.
60         
61        - Preliminary work on future low-level LDAP caching to speed
62          up modifications (at least).
63         
64    - 1.18alpha4 :
65   
66        - Applied some of the modifications suggested by
67          Peter Hawkins, for better Debian integration.
68          Most notably cupspykota, pykota, and the shell
69          scripts are now installed into /usr/share/pykota
70          instead of into /usr/bin
71          BEWARE : double check that your symbolic link
72          to cupspykota is correct, and that your pykota.conf
73          file use correct path for the shell scripts like
74          waitprinter.sh and al.
75         
76        - pkhint command added, to help in configuring correct
77          accounting method for PyKota.
78         
79    - 1.18alpha3 :
80   
81        - Fixed a rare bug in cupspykota backend which gave
82          incorrect "CUPS backend died abnormally" messages.
83       
84    - 1.18alpha2 :
85   
86        - Added the pkprinters command line tool to manage printers
87          exclusively.
88       
89    - 1.18alpha1 :
90   
91        - Preliminary work on Relationnal Database Independance.
92       
93        - Sample report made from OpenOffice.org added as PDF and SXC.
94       
95    - 1.17 :
96   
97        - Finalized release.
98       
99    - 1.17alpha2 :
100   
101        - Fix stupid software accounting bug in the CUPS backend.
102       
103    - 1.17alpha1 :
104   
105        - User/Group deletion code in edpykota rewritten.
106       
107    - 1.16 :
108   
109        - Preliminary documentation on how to use OpenOffice.org
110          to create personnalized reports for PyKota + PostgreSQL.
111         
112        - Spanish installation guide for CUPS+PyKota+PostgreSQL
113          added to the documentation. Doesn't yet document v1.16
114          though.
115       
116        - Portuguese Portuguese translation replaces Brasilian
117          Portuguese Translation. Brasilian portuguese
118          translation is still available under the 'br' locale.
119       
120    - 1.16beta3 :
121   
122        - Swedish translation added.
123       
124        - Small fix in documentation.
125       
126    - 1.16beta2 :
127   
128        - Small fix for job cancelling code while job already
129          printing in CUPS backend.
130         
131        - Big fix wrt printing policies for unknown users. 
132       
133    - 1.16beta1 :
134   
135        - Manpages upgraded.
136       
137    - 1.16alpha26 :
138   
139        - Job price is now computed like this :
140       
141          SUM((NbPages * PricePerPage) + PricePerJob)
142         
143          For current printer and all the printers groups it is
144          a member of, if any.
145         
146          This may be difficult to grasp, but offers unprecedented
147          flexibility.
148         
149    - 1.16alpha25 :
150   
151        - Email address can be set at user creation time,
152          using the following syntax :
153         
154            $ edpykota --add username/email@yourdomain.com
155       
156    - 1.16alpha24 :
157   
158        - CGI script now can show the printing history.
159       
160        - Bug wrt number of copies should be fixed.
161       
162        - Major code refactoring => It is now possible to
163          automatically add printers on first print.
164       
165    - 1.16alpha23 :
166   
167        - Fixed potential accuracy problem if a user printed on
168          several printers at the very same time.
169       
170    - 1.16alpha22 :
171   
172        - edpykota now allows adding printers to printer groups
173       
174    - 1.16alpha21 :
175   
176        - Allows the dot in user and printer names.
177       
178        - Printer groups are now cached too.
179       
180    - 1.16alpha20 :
181   
182        - Fixed several small bugs with the help of PyChecker.
183       
184    - 1.16alpha19 :
185     
186        - Fixed a bug in PostgreSQL backend's code.
187       
188    - 1.16alpha18 :
189   
190        - Initial code for printer groups support. Printer groups have
191          to be added with external tools like psql or gq for example.
192          Printer groups seems to work fine with users. Untested with user
193          groups for now.
194
195        - Several minor visual problems fixed in reports.
196       
197        - Fixed a bug in LDAP date handling.
198       
199        - Fix for LDAP problem with some combination of OpenLDAP + Python-LDAP
200          + some particular settings.
201         
202        - mailandpopup.sh shell script added. See sample configuration file
203          for details.
204       
205        - Several environment variables are now exported when executing
206          external commands (accounters, requesters, mailers) :
207           
208            PYKOTAUSERNAME => user who is printing
209            PYKOTAPRINTERNAME => printer on which the job is being sent
210            PYKOTATITLE => Job's title
211            PYKOTAFILENAME => Job's filename
212            PYKOTACOPIES => number of copies asked
213            PYKOTAOPTIONS => print command options (-o with CUPS)
214         
215    - 1.16alpha17 :
216   
217        - Added portugues translation.
218       
219        - Major code refactoring in accounters.
220       
221    - 1.16alpha16 :
222   
223        - Code refactoring, and addition of a real HTML reporter, to
224          have nice looking and useful web based reports (in the future).
225       
226        - Added utolower configuration option to convert all usernames
227          to lowercase during printing.
228         
229    - 1.15alpha15 :
230   
231        - Now includes the papwaitprinter.sh shell script to wait for
232          AppleTalk enabled printers.
233         
234    - 1.16alpha14 :
235   
236        - Now printing on a printer not defined in the Quota Storage,
237          results in the job being cancelled or stopped, depending
238          on the printing system.
239         
240    - 1.16alpha13 :
241   
242        - Small bugfix wrt Python v2.1
243       
244        - If username is an empty string, user root is assumed.
245       
246        - 'postgresql' is not recognized anymore as a storage backend,
247          you have to use 'pgstorage' instead. 'postgresql' used to
248          be supported for compatibility with very old PyKota versions,
249          this is not the case anymore.
250         
251    - 1.16alpha12 :
252   
253        - Job price added to job history, to keep accounting correct
254          if a printer price per page or per job is modified and the
255          history is not reset : the history would have given a false
256          amount of money charged before the printer's prices were
257          modified, this addition solves the problem.
258         
259    - 1.16alpha11 :
260   
261        - Some preliminary modifications to the database structure for
262          PostgreSQL and OpenLDAP. A script to upgrade a PostgreSQL
263          database is now provided. LDAP attributes now support
264          eq, pres and sub indexes.
265         
266        - Job history now contains additional informations : 
267          number of copies, filename, title and print options.
268         
269    - 1.16alpha10 :
270       
271        - Some modifications done to external policy handling.
272          See sample configuration file for details.
273   
274        - Spanish translation added.
275       
276    - 1.16alpha9 :
277   
278        - mailto can be set to external(...) to warn users above
279          quota with any command of your choice (e.g. linpopup).
280          Several parameters are available, see sample configuration
281          file for details.
282         
283    - 1.16alpha8 :
284   
285        - Now cupspykota transmits SIGTERMS to the original 
286          backend when the user deletes a job being processed.
287         
288        - The documentation is now licensed under the terms of the
289          GNU GPL too.
290         
291    - 1.16alpha7 :
292   
293        - The CUPS backend is now fully functionnal (it seems).
294       
295        - From now on, the use of the pykota filter with CUPS
296          is deprecated. The pykota filter still has to be
297          used with LPRng though.
298       
299    - 1.16alpha6 :
300   
301        - Bug fixed : when edpykota was used to add a printer
302          with no user or group name, a bad user/group name "*" was
303          added to the database.
304         
305    - 1.16alpha5 :
306   
307        - New CUPS backend supports device enumeration !
308          This means that NO manual CUPS configuration has to
309          be done. All can now be done from CUPS web interface.
310       
311    - 1.16alpha4 :
312   
313        - New CUPS backend added.
314       
315    - 1.16alpha3 :
316       
317        - Minimal FAQ document added.
318       
319    - 1.16alpha2 :
320   
321        - CGI script now partially supports browser's language preference
322       
323    - 1.16alpha1 :
324   
325        - Ensures that the LDAP connection is really closed at end.
326       
327        - More complete error messages in case of LDAP operation failure.
328       
329    - 1.15 :
330     
331        - Documentation improved.
332       
333    - 1.15beta :
334   
335        - Command line tools now accept multiple printer
336          names or wildcards, separated with commas.
337         
338    - 1.15alpha9 :
339   
340        - External policy can be used to auto-add unknown users
341          and any other interesting things you may want to do.
342          WARNING : You can't auto-add printers for now.
343          They have to be created manually before.
344          Look at sample configuration file for examples.
345         
346    - 1.15alpha8 :
347   
348        - Job history can be disabled if needed.
349          This feature may be useful for people who use the LDAP
350          backend and don't want their LDAP tree to grow out of
351          control.
352       
353    - 1.15alpha7 :
354   
355        - More work done on caching wrt groups.
356       
357    - 1.15alpha6 :
358   
359        - Performance bottleneck with LDAP solved.
360       
361    - 1.15alpha5 :
362   
363        - Caching mechanism for all database queries.
364
365    - 1.15alpha4 :
366   
367        - Problem with Python 2.3 fixed. Needs some definitive
368          modification.
369         
370    - 1.15alpha3 :
371   
372        - CGI script now tries to restrict view when the
373          REMOTE_USER environment variable is set. This allows
374          people to protect its use with .htaccess files.
375          When unprotected, or if REMOTE_USER is 'root', then
376          unrestricted access is granted.
377          NB : REMOTE_USER is automatically set by the web server
378          (e.g. Apache) when a page with restricted access is viewed.
379         
380    - 1.15alpha2 :
381   
382        - Better detection of LPRng.
383       
384        - Outputs a warning if printing system is unknown.
385       
386    - 1.15alpha1 :
387   
388        - Bug fix in SQL code.
389       
390    - 1.14 :
391   
392        - The PostgreSQL database connection is now always closed before
393          exit. The LDAP database connection too, but it didn't suffer
394          from the problem anyway, AFAICT.
395       
396    - 1.14beta2 :
397   
398        - An LDAP-specific configuration field was introduced, usermail.
399          Use it to specify which LDAP attribute contains a valid email
400          address for the user. See sample configuration file for
401          details.
402       
403    - 1.14beta :
404   
405        - Two new LDAP-specific configuration fields were introduced,
406          newuser and newgroup. Use them to specify if you want to add
407          quota information to existing entries or elsewhere.
408          See sample configuration file for details.
409         
410    - 1.14alpha9 :
411   
412        - Documentation improved.
413       
414        - pykotme now also prints the user's account balance value
415          if the user is registered in the Quota Storage and his
416          limiting factor is "balance".
417         
418    - 1.14alpha8 :
419   
420        - bin/waitprinter.sh is now included to wait for
421          SNMP enabled printers to be idle again before
422          asking for their internal page counter.
423          See sample configuration file for details.
424         
425    - 1.14alpha7 :
426   
427        - edpykota now doesn't check if the user/group is above
428          quota. The check is only done at print time. This
429          prevents the sending of email messages when creating
430          user quotas if quota is already reached at creation
431          time.
432         
433    - 1.14alpha6 :
434   
435        - Configuration file split and moved to /etc/pykota/pykota.conf
436          and /etc/pykota/pykotadmin.conf to prevent simple users to
437          have Read/Write access to the Quota Database.
438          Don't forget to :
439         
440                $ chmod 640 /etc/pykota/pykotadmin.conf
441               
442        - storageuser and storageuserpw configuration fields reintroduced
443          for the same reason.
444         
445        - Code cleaning for future implementation of email addresses
446          support in the PostgreSQL and LDAP backends.
447         
448    - 1.14alpha5 :
449       
450        - Big bug fixed when changing the prices for a printer
451       
452    - 1.14alpha4 :
453   
454        - When adding an user, the user itself and its account balance
455          are now added in the same LDAP entry. Before they were added
456          as two different LDAP entries.
457         
458    - 1.14alpha3 :
459   
460        - Email field added to PostgreSQL database. An upgrade script
461          is included in initscripts/postgresql.
462       
463    - 1.14alpha2 :
464   
465        - Typo fixed when using the --prototype option to edpykota
466       
467    - 1.14alpha1 :
468   
469        - Poor man's treshold included : users with a low account
470          balance (below 1.0 by default, configurable) are sent
471          a warning message.
472         
473        - All warning messages to users are now configurable. 
474          NB : Warning messages to the administrator are not.
475       
476    - 1.13 :
477   
478        - Some small fixes wrt group handling.
479       
480        - The whole module code was passed through PyChecker and
481          several small code inconsistencies were fixed,
482          as well as a bug in the groups code.
483         
484    - 1.13alpha1 :
485   
486        - Bug fix wrt LDAP.
487       
488    - 1.12 :
489   
490        - More complete test added in edpykota.
491       
492    - 1.12alpha2 :
493   
494        - The previous bug fix was incomplete. This is corrected.
495       
496    - 1.12alpha1 :
497   
498        - Small bug fix.
499       
500    - 1.11 :
501   
502        - Now includes the pykotme command line tool, to produce
503          printing quotes for users.
504         
505    - 1.10 :
506   
507        - Bug fixed wrt quota reports when print limiting is by
508          account balance.
509         
510    - 1.09 :
511   
512        - Translations finalized.
513       
514        - Manpages updated.
515       
516        - Installation documentation improved wrt LDAP support.
517       
518    - 1.09beta2 :
519   
520        - The CGI script for quota reports works again, and
521          is much more powerful.
522       
523    - 1.09beta :
524   
525        - edpykota finalized
526       
527    - 1.09alpha2 :
528   
529        - LDAP schema modified a bit. Please upgrade.
530       
531        - LDAP backend works !
532       
533        - repykota and warnpykota allow the root user to pass
534          users or groups names on the command line. Users
535          and groups names may contain wildcards.
536         
537        - repykota and warnpykota only reports or warns the
538          current user when launched by non-root users.
539         
540        - Minor bug fixes. 
541   
542    - 1.09alpha1 :
543   
544        - More work on LDAP storage backend. Many options
545          were added to /etc/pykota.conf to give some
546          hints to the LDAP storage backend.
547         
548        - Severe database access optimizations were done by
549          rewriting most of the Quota Storage backends drivers.
550     
551    - 1.08 :
552   
553        - Major bug fix wrt LPRng support for remote jobs.
554       
555        - Major bug fix wrt increase/decrease account balances.
556       
557    - 1.08alpha8 :
558   
559        - Code refactoring.
560       
561        - A single user/password pair is used to connect
562          to the database backend. The storageuser configuration
563          field, and its associated passwords storageuserpw, are
564          not used anymore.
565         
566        - You can now set PyKota in debug mode, see sample configuration 
567          file for details.
568          WARNING : only Quota Storage backend queries are logged in
569          debug mode, for now.
570       
571    - 1.08alpha7 :
572   
573        - Very latest LDAP schema.
574       
575        - Code enhancement wrt easy pluggability of PyKota attributes
576          and object classes into an existing LDAP directory.
577       
578    - 1.08alpha6 :
579   
580        - Minor bug corrections
581       
582        - More work on LDAP : new schema
583       
584    - 1.08alpha5 :
585   
586        - More good work on LDAP storage.
587          repykota now works reasonably well with the sample LDAP directory.
588       
589    - 1.08alpha4 :
590   
591        - LDAP schema included.
592          THIS IS JUST FOR PEOPLE TO DISCUSS ABOUT THIS.
593          LDAP SUPPORT DOESN'T WORK YET, AND THE SCHEMA
594          MAY CHANGE IN THE FUTURE. PLEASE TELL US
595          WHAT YOU THINK ABOUT THIS SCHEMA ON THE
596          MAILING LIST.
597         
598    - 1.08alpha3 :
599   
600        - External accounting methods were partly rewritten :
601         
602          - No more "broken pipe" should happen.
603         
604          - They now take care of the number of copies
605            This may be unneeded though, if the postscript
606            file already does this, because this would
607            overcharge users (number of copies counted
608            two times). NEEDS MORE TESTING.
609           
610          - The sample configuration file now contains 
611            an external accounting method example which should
612            work with all DSC compliant Postscript files.
613           
614        - Some small bugs were fixed.   
615       
616    - 1.08alpha2 :
617   
618        - Now works with net-snmp v5.0 and above.
619          It already worked, but the sample configuration
620          file didn't contain appropriate values...
621       
622    - 1.07 : Release of the Shame !
623   
624        - The external accounting methods driver was left out of
625          the CVS tree. Nobody could use it since it wasn't included !
626         
627    - 1.06 :
628   
629        - Severe bug fixed : if you had a printer in
630          power saving state which couldn't answer immediately,
631          a bug was triggered.
632          It was caused by a bad copy/paste which
633          forgot to import a Python module at run time.
634         
635    - 1.05 :
636   
637        - External accounters are finally available !
638          This means that you can plug any page accounting
639          method you like by setting the appropriate
640          'accounter' field in /etc/pykota.conf
641          See the sample conf/pykota.conf.sample to
642          learn how to do.
643         
644          NB : Both 'external' and 'stupid' accounting methods
645               account a job size just before *this* job is
646               sent to the printer.
647               The original 'querying' method accounts a job
648               size just before *the next* job is sent to
649               the printer.
650       
651    - 1.05alpha3 :
652   
653        - A 'stupid' and unreliable accounting method was
654          implemented to serve as an example on how to
655          do this sort of things. This method only counts
656          the 'showpage' statements in the input data.
657          See sample configuration file for details.
658          Pluggable accounting methods work, but I advise
659          you TO NOT USE THIS ONE WHICH IS JUST AN EXAMPLE.
660          It is not reliable enough to be used.
661          Use the 'querying' accounting method instead.
662         
663    - 1.05alpha2 :
664   
665        - Pluggable accounting methods.
666       
667        - Better error handling.
668       
669    - 1.05alpha1 :
670   
671        - SECURITY file added to help improve PyKota's security.
672       
673        - Extracting the printer's internal page counter is now
674          tried several times, waiting several seconds between
675          two tries. This lets the time to warm up for some printers
676          which don't answer when they are sleeping (my Apple
677          LaserWriter 16/600 PS is in this case, maybe others too)
678         
679        - Small display bug fixed in repykota
680         
681    - 1.04 :
682   
683        - Default print policy for users/groups unknown from
684          the print quota system is now DENY instead of ALLOW,
685          since ALLOW can generate inaccurate results
686          (incorrect job sizes charged to the wrong persons)
687         
688        - LPRng support works !
689       
690        - A bug was introduced some time ago wrt printers' default
691          policy for unknown users. It is now corrected.
692       
693        - repykota now displays prices per job and per page for each
694          printer, if they are defined.
695         
696        - Minor display bug fixed in repykota.
697       
698        - Problem when running repykota with an empty database was fixed.
699       
700    - 1.03 :
701   
702        - Upgrade script included for earlier versions.
703          Please look inside the initscripts subdirectory.
704          THE DATABASE SCHEMA HAS CHANGED, PLEASE UPGRADE.
705         
706        - repykota now reports account balances too.
707       
708        - PyKota now has a nice logo, see the logos
709          subdirectory.
710       
711        - Manual pages were finally updated.
712       
713        - Group quotas seem to work now !
714       
715        - The new database schema allows to keep an history of all
716          jobs as well as charge users per page and/or per job,
717          and track users' account balance.
718         
719        - edpykota now accepts much more command line options to 
720          use the new functionnalities. See edpykota --help for
721          details.
722         
723        - The installation script now allows to install the sample
724          configuration file during first installation.
725         
726        - More group quota code works, but still not finished. 
727       
728        - The CGI script displays a link to PyKota's website.
729       
730        - The job history is now kept, this will allow per-period
731          reports in the future.
732         
733        - After having modified the quota for an user with edpykota,
734          a quota check is done to eventually warn the user/admin about
735          a quota which is too low to print.
736         
737        - A workaround is provided for HP Printers : their internal
738          page counter is only saved to NVRAM in a 10 increment, so
739          if you switch them off and then on, the reported page counter
740          may be lower than the real number of pages printed.
741          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
742          We unconditionnally set the last job's page count to
743          abs(int((10 - abs(lastcounter(snmp) - lastcounter(storage)) / 2))
744          in this case.
745          For a more accurate accounting, never switch your HP printers
746          off.
747         
748        - A fix is provided for printers which only have a volatile 
749          page counter (reset to 0 every time you switch the printer on)
750          This should allow PyKota to work reasonably fine with HP Laserjet
751          4L/5L/6L, not perfect, but better than nothing.
752          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
753          For a more accurate accounting, never switch your HP printers
754          off. This is untested, please report any problem.
755         
756        - A bug was fixed when edpykota --add was used with users who already
757          had a quota on the specified printer.
758         
759        - A small display bug in repykota was introduced in preliminary
760          1.03 versions, and fixed later on.
761         
762        - Some minor bugs which happened in rare situations were fixed.
763       
764        - Support for AppleTalk printers was added, see sample configuration
765          file for details.
766         
767        - Users and group printing can now be controlled (limited) either by 
768          print quota or by account balance.
769       
770    - 1.02 :
771   
772        - The installation script now checks for software availability
773          and in case a software is missing asks the user if he
774          wants to continue with the installation or abort it.
775         
776        - The configuration file pykota.conf is now expected to be
777          found in /etc instead of in /etc/cups
778          The installation script prompts the user to see if he
779          wants to move an old configuration file to the new location
780          if needed.
781         
782        - Improved documentation.
783       
784        - You can now set the tcp/ip port on which the Quota Storage
785          Server is listening, see sample configuration file for details.
786       
787        - Better general error handling.
788       
789        - Upgrade script for pre 1.01 PostgreSQL database schema is now
790          included as well.
791       
792    - 1.01 :
793   
794        - The configuration file now accepts an option   
795          to choose the recipient(s) of the email messages :
796         
797            - DevNull means no one will receive them.
798            - User means only the user will receive them.
799            - Admin means only the admin will receive them.
800            - Both means the User and the Admin will receive them.
801           
802        - The configuration file now uses hard-coded default values
803          when an option is not set. See sample configuration file
804          for details.
805         
806        - Manual pages are included since 1.00, but I forgot to   
807          add this information to this file.
808         
809        - Redistribution terms for the official package have 
810          softened and are now fully GPL compatible :
811          unrestricted modification is now allowed even for
812          the version number.
813         
814    - 1.00 :
815   
816        - edpykota now accepts a --noquota option. This
817          disable quota checking while still doing page
818          accounting. This is really useful for people
819          who don't want to limit their users but want
820          to know how much pages they print.
821         
822        - Some untested scripts were added to retrieve
823          the life time page counter of non-SNMP printers.
824         
825        - Every directory now has a specific README file. 
826       
827    - 0.99 :
828   
829        - Under some circumstances while the user wasn't allowed
830          to print, he didn't receive any email message. It is
831          now fixed.
832         
833        - When an user wasn't allowed to print, the quota for
834          the previous user wasn't updated. This is now fixed.
835         
836    - 0.98 :
837   
838        - Correctly handle the case where the printer is switched off.
839       
840        - Small bug wrt syslog fixed.
841       
842    - 0.97 :
843   
844        - edpykota accepts wildcards on its command line for users/groups too
845          if the --add option is not set, e.g. :
846         
847              $ edpykota --printer lp --softlimit 50 --hardlimit 100 "jer*"
848             
849        - If no user name is passed at all, then a default wildcard of "*"
850          which means apply the command on ALL users for this printer is used.
851         
852        - Small bug fixes.
853       
854    - 0.96 :
855
856        - Options requester, policy, admin, adminmail and gracedelay can now
857          be set either globally or per printer. The printer option has
858          priority if both are defined.
859
860        - More powerful configuration parser.
861       
862        - If all options are defined globally, there's no need to
863          define a section for each printer in the configuration
864          file anymore. Just define a [global] section and it's ok.
865
866    - 0.95 :
867
868        - External requesters for printers finally added.
869
870        - Full internationalization (english and french are supported)
871 
872        - More complete quota usage report
873
874        - CGI script to access to the quota usage report
875
876        - Several bugs fixed.
877
878
879    - 0.9 :
880
881        - First public version
Note: See TracBrowser for help on using the browser.