root / pykota / trunk / TODO @ 1892

Revision 1892, 4.9 kB (checked in by jalet, 20 years ago)

Several entries added.

  • 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 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
22TODO, in no particular order :
23
24        - Improve the SECURITY document to include good PostgreSQL
25          and OpenLDAP default settings.
26         
27        - Try to talk to education based distribution coordinators
28          (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to
29          better integrate PyKota with these.
30         
31        - Write an IPP message parser, and extract the IPP
32          billing code, job originating hostname and ipp username
33          from job's control files : this would even solve the
34          actual page_log parsing problem.
35       
36        - Allow soft and hard limits to be increased/decreased.
37       
38        - Better --prototype option in edpykota
39       
40        - Web enabled pykotme and dumpykota.
41       
42        - Add a configuration directive to forbid user account
43          creation if the user doesn't exist on the system.
44       
45        - Add an MD5 checksum of the job's datas to the
46          history, to be able to discover duplicate print
47          jobs. This is partially done : the checksum
48          is now computed and exported into the environment
49          variable PYKOTAMD5SUM, but it is not yet saved
50          into the database.
51         
52        - Maybe put "gracedelay" in the database.
53       
54        - Price multiplier/divisor which can be set on a per
55          user or per user group basis.
56
57        - Ink accounting ala PrintBill.
58       
59        - Price and statistics per page format.
60       
61        - Add a description field to users/groups.
62       
63        - Allow the admin to choose an action to take when the database
64          is unavailable (server is down or something like that), so
65          introduce two directives :
66         
67            nodb: accept|reject|hold
68            lognodb: /path/to/file/for/later/batch/update/of/database
69       
70        - CUPS accepts the "STATE: ..." message as backchannel
71          data : use this to tell CUPS what action has been taken
72          for current job.
73         
74        - Add frontbanner and rearbanner directives to pykota.conf
75          This directives will allow the launch (if executable)
76          or the use of the banner path passed as a parameter.
77          If executable, the banner content will be taken from
78          the command's output, else from the banner file
79          directly.
80         
81          Maybe allow frontbanner: +somepath and
82                      frontbanner: -somepath
83          to allow/deny accounting of the banner itself
84          (not sure because may be VERY DIFFICULT !)
85         
86          Matt Hyclak has sent a patch for cupspykota which seems
87          to be ok, but we have to find how to do the same with
88          lprngpykota...
89         
90        - Think about some possible client <=> PyKota dialog
91          possibilities, like embedding a small web server in
92          PyKota for example, or something like that.
93       
94        - Log something when --add is used with existing entries.
95          Maybe add a new command line option to force/not force
96          modification of existing entries.
97         
98        - Finish implementation of quota-then-balance and
99          balance-then-quota.
100         
101        - Test and document a possible workaround for knowing
102          if the job is a banner (embed a postscript comment
103          in the banner).
104         
105        - Introduce the pkusers command.
106          pkusers --nogroup
107          pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,...
108         
109        - Allow the --ingroups command line option to repykota, to
110          report only users members of the specified groups.
111         
112        - Documentation...
113         
114        - Complete web administrative interface with graphical reports.
115       
116        - Group administrators (think quotagrpdmins for disk quotas).
117          Won't be implemented for now.
118         
119        - Multidatabase support, e.g. store users in LDAP, quota 
120          related datas in PostgreSQL, history in text file,
121          and so on... For 2.0, probably not before.
122       
123       
124============================================================
125
126Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.