root / pykota / trunk / NEWS @ 1363

Revision 1363, 28.8 kB (checked in by jalet, 20 years ago)

Fix for LDAP problem when job price was 0.

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