root / pykota / trunk / TODO @ 2256

Revision 2256, 5.3 kB (checked in by jerome, 19 years ago)

New item 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, 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
19
20============================================================
21
22TODO, in no particular order :
23       
24        - Add a way to strip off "smbprn.????????" from the left of
25          print jobs' titles (only appear when printing as raw from
26          Winboxes it seems)
27
28        - Ensures that all special characters in strings are properly
29          escaped when dumping datas : quotes, xml entities, etc...
30       
31        - Add date filtering options to dumpykota, something like
32                date=+20050101 date=-20050201
33          to dump all jobs printed between January 1st 2005 included     
34          and February 1st 2005 not included. This looks ugly but
35          at least we avoid the problematic '<' and '>' on command
36          lines, which would mandate the use of quotes...
37       
38        - Make the PyKota's logo URL a new configuration directive.
39       
40        - Pass-through mode for printers : history correctly filled (including
41          job size) but no impact on user's page counter or account
42          balance : this is meant to be a temporary situation for
43          a printer to be in pass-through mode, for example during
44          an exam where the faculty pays for the printouts and we
45          don't want our users to complain about their credits being
46          "eaten" for mandatory printouts.
47         
48        - Allow several levels of administrative priviledges by allowing
49          files like ~pykota/pykotadmin.someusername.conf (readonly by
50          user 'someusername'), and have the database server deal
51          with the permissions : no need for additionnal code or data
52          in PyKota's database !
53       
54        - Add a "printing denied" indicator on user print quota entries, 
55          to temporarily forbid an user to print on a particular printer.
56         
57        - Maybe per user "denyduplicates" : my 5 years old daughter
58          just prints again when the printer is off...
59         
60        - Now that the job size is ALWAYS precomputed, add a
61          MaxJobSize attribute to users and groups (printers as
62          well, maybe ?) to limit each job's size if needed.
63         
64        - Add precomputed job size (and price) to the history for
65          controlling purpose.
66         
67        - Try to talk to education based distribution coordinators
68          (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to
69          better integrate PyKota with these.
70         
71        - Allow soft and hard limits to be increased/decreased.
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        - Ink accounting ala PrintBill.
78       
79        - Price and statistics per page format.
80       
81        - Add a description field to users/groups.
82       
83        - Allow the admin to choose an action to take when the database
84          is unavailable (server is down or something like that), so
85          introduce two directives :
86         
87            nodb: accept|reject|hold
88            lognodb: /path/to/file/for/later/batch/update/of/database
89       
90        - CUPS accepts the "STATE: ..." message as backchannel
91          data : use this to tell CUPS what action has been taken
92          for current job. I did some testing but wasn't able to
93          make it work...
94         
95        - Think about some possible client <=> PyKota dialog
96          possibilities, like embedding a small web server in
97          PyKota for example, or something like that.
98       
99        - Log something when --add is used with existing entries.
100          Maybe add a new command line option to force/not force
101          modification of existing entries.
102         
103        - Finish implementation of quota-then-balance and
104          balance-then-quota.
105         
106        - Introduce the pkusers command.
107          pkusers --nogroup
108          pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,...
109         
110        - Allow the --ingroups command line option to repykota, to
111          report only users members of the specified groups.
112         
113        - Documentation...
114         
115        - Learn more bits of PHP to help with phpPyKotaAdmin, which
116          is a GREAT tool !
117       
118        - Multidatabase support, e.g. store users in LDAP, quota 
119          related datas in PostgreSQL, history in text file,
120          and so on... For 2.0, probably not before.
121       
122       
123============================================================
124
125Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.