root / pykota / trunk / NEWS @ 1202

Revision 1200, 21.7 kB (checked in by jalet, 21 years ago)

More complete job history.

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