root / pykota / trunk / TODO @ 2323

Revision 2323, 4.7 kB (checked in by jerome, 19 years ago)

Now logs a warning when user/group doesn't exist when running edpykota.
NB : the message is only printed once all users/groups have been processed.
Severity : if you don't need this, you don't need to upgrade.

  • 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 and LPRng
4
5(c) 2003, 2004, 2005 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        - Adds configurability to what happens when the user/group doesn't exist
25          when running edpykota.
26         
27        - Add the listing of the member printers in pkprinters if the printer
28          is a printer group.
29         
30        - Add a new external hook to allow the overwriting of the job's ticket       
31          (mainly username and billing code) at startup time :
32         
33            1 - hook is launched and can do whatever it wants, like asking
34                the user for username+password or billing code
35               
36            2 - hook prints any (or all) of :   
37           
38                USER:some_username
39                BILLING:some_billingcode
40                DENY
41               
42                if hook doesn't print anything, job processed as usual.
43                if DENY, job is rejected.
44               
45            3 - if billing code or username is invalid, and if PyKota
46                is configured to loop in this case, hook is launched
47                again, otherwise job is rejected.
48               
49            4 - if billing code and/or username is valid, the job's
50                billing code and/or username are overwritten with
51                these values, and PyKota processes the job as usual.
52         
53        - Allow several levels of administrative priviledges by allowing
54          files like ~pykota/pykotadmin.someusername.conf (readonly by
55          user 'someusername'), and have the database server deal
56          with the permissions : no need for additionnal code or data
57          in PyKota's database !
58       
59        - Try to talk to education based distribution coordinators
60          (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to
61          better integrate PyKota with these.
62         
63        - Allow soft and hard limits to be increased/decreased.
64       
65        - Add most configuration directives to the database itself,
66          while still allowing to overwrite them with the configuration
67          files at run time.
68       
69        - Ink accounting ala PrintBill.
70       
71        - Price and statistics per page format.
72       
73        - Allow the admin to choose an action to take when the database
74          is unavailable (server is down or something like that), so
75          introduce two directives :
76         
77            nodb: accept|reject|hold
78            lognodb: /path/to/file/for/later/batch/update/of/database
79       
80        - CUPS accepts the "STATE: ..." message as backchannel
81          data : use this to tell CUPS what action has been taken
82          for current job. I did some testing but wasn't able to
83          make it work...
84         
85        - Think about some possible client <=> PyKota dialog
86          possibilities, like embedding a small web server in
87          PyKota for example, or something like that.
88       
89        - Log something when --add is used with existing entries.
90          Maybe add a new command line option to force/not force
91          modification of existing entries.
92         
93        - Finish implementation of quota-then-balance and
94          balance-then-quota.
95         
96        - Introduce the pkusers command.
97          pkusers --nogroup
98          pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,...
99         
100        - Allow the --ingroups command line option to repykota, to
101          report only users members of the specified groups.
102         
103        - Documentation...
104         
105        - Learn more bits of PHP to help with phpPyKotaAdmin, which
106          is a GREAT tool !
107       
108        - Multidatabase support, e.g. store users in LDAP, quota 
109          related datas in PostgreSQL, history in text file,
110          and so on... For 2.0, probably not before.
111       
112       
113============================================================
114
115Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.