root / pykota / trunk / TODO @ 2141

Revision 2139, 3.6 kB (checked in by jerome, 20 years ago)

Added the Log keyword property

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision Log
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        - Maybe per user "denyduplicates" : my 5 years old daughter
25          just prints again when the printer is off...
26         
27        - Now that the job size is ALWAYS precomputed, add a
28          MaxJobSize attribute to users and groups (printers as
29          well, maybe ?) to limit each job's size if needed.
30         
31        - Add precomputed job size (and price) to the history for
32          controlling purpose.
33         
34        - Try to talk to education based distribution coordinators
35          (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to
36          better integrate PyKota with these.
37         
38        - Allow soft and hard limits to be increased/decreased.
39       
40        - Web enabled pykotme.
41       
42        - Maybe put "gracedelay" and "denyduplicates" into the database.
43       
44        - Ink accounting ala PrintBill.
45       
46        - Price and statistics per page format.
47       
48        - Add a description field to users/groups.
49       
50        - Allow the admin to choose an action to take when the database
51          is unavailable (server is down or something like that), so
52          introduce two directives :
53         
54            nodb: accept|reject|hold
55            lognodb: /path/to/file/for/later/batch/update/of/database
56       
57        - CUPS accepts the "STATE: ..." message as backchannel
58          data : use this to tell CUPS what action has been taken
59          for current job.
60         
61        - Think about some possible client <=> PyKota dialog
62          possibilities, like embedding a small web server in
63          PyKota for example, or something like that.
64       
65        - Log something when --add is used with existing entries.
66          Maybe add a new command line option to force/not force
67          modification of existing entries.
68         
69        - Finish implementation of quota-then-balance and
70          balance-then-quota.
71         
72        - Introduce the pkusers command.
73          pkusers --nogroup
74          pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,...
75         
76        - Allow the --ingroups command line option to repykota, to
77          report only users members of the specified groups.
78         
79        - Documentation...
80         
81        - Learn more bits of PHP to help with phpPyKotaAdmin, which
82          is a GREAT tool !
83       
84        - Group administrators (think quotagrpdmins for disk quotas).
85          Won't be implemented for now.
86         
87        - Multidatabase support, e.g. store users in LDAP, quota 
88          related datas in PostgreSQL, history in text file,
89          and so on... For 2.0, probably not before.
90       
91       
92============================================================
93
94Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.