root / pykota / trunk / TODO @ 3157

Revision 3157, 4.6 kB (checked in by jerome, 17 years ago)

Added an item.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1it's a pyt# $Id$
2
3PyKota - Print Quotas for CUPS and LPRng
4
5(c) 2003, 2004, 2005, 2006, 2007 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
20============================================================
21
22TODO, in no particular order :
23       
24        - Add a third settable price for printers : a minimal cost
25          for a page, with a default value of 0.0. The value would
26          be used instead of the computed price in the case of ink
27          accounting if the computed price would be lower than this
28          minimal price. The value wouldn't be used (yet?) for
29          normal page accounting.
30         
31        - Allow for configurable setting wrt the fact that PyKota waits
32          for the printer being idle before asking for printer's internal
33          page counter before sending any data to the printer : if
34          the print server is correctly configured (i.e. only PyKota can
35          access to this particular printer), then we know for sure the
36          printer will be idle at this time, because we wait for it
37          to become idle again after having printed the job => we could
38          save up to 50% of waiting time, and handle more jobs
39          in the same time.
40         
41        - --orderby and --order ASC|DESC for dumpykota (or --asc | --desc)
42       
43        - Document the PYKOTA_HOME environment variable.
44       
45        - LDAP : See if setting cn=ThePrinter for user print quota entries
46          could be done, only in the case where userquotabase=user
47          (idem for groups). Would make direct modifications (e.g.
48          with gq) more easy.
49         
50        - Allow the disabling of an user print quota entry without
51          deleting it.
52       
53        - Store the value of the user's account balance in the
54          printing history (the value at the time of printing)
55          as well as in the payments history (as a safety check
56          in case an user complains).
57         
58        - PJL for non-networked backends (see ML's history)
59       
60        - Add the listing of the member printers in pkprinters if the printer
61          is a printer group.
62         
63        - Allow several levels of administrative priviledges by allowing
64          files like ~pykota/pykotadmin.someusername.conf (readonly by
65          user 'someusername'), and have the database server deal
66          with the permissions : no need for additionnal code or data
67          in PyKota's database !
68       
69        - Try to talk to education based distribution coordinators
70          (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to
71          better integrate PyKota with these.
72         
73        - Add most configuration directives to the database itself,
74          while still allowing to overwrite them with the configuration
75          files at run time.
76       
77        - Price and statistics per page format.
78       
79        - Allow the admin to choose an action to take when the database
80          is unavailable (server is down or something like that), so
81          introduce two directives :
82         
83            nodb: accept|reject|hold
84            lognodb: /path/to/file/for/later/batch/update/of/database
85       
86        - CUPS accepts the "STATE: ..." message as backchannel
87          data : use this to tell CUPS what action has been taken
88          for current job. I did some testing but wasn't able to
89          make it work...
90         
91        - Documentation...
92         
93        - Learn more bits of PHP to help with phpPyKotaAdmin, which
94          is a GREAT tool !
95       
96        - Multidatabase support, e.g. store users in LDAP, quota 
97          related datas in PostgreSQL, history in text file,
98          and so on... For 2.0, probably not before.
99         
100        - Re-add support for LPRng if interest is high enough (it is
101          not for now)
102       
103       
104============================================================
105
106Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.