root / pykota / trunk / TODO @ 1816

Revision 1816, 4.1 kB (checked in by jalet, 20 years ago)

Added a new entry

  • 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        - Add a configuration directive to forbid user account
25          creation if the user doesn't exist on the system.
26       
27        - Add an MD5 checksum of the job's datas to the
28          history, to be able to discover duplicate print
29          jobs. This is partially done : the checksum
30          is now computed and exported into the environment
31          variable PYKOTAMD5SUM, but it is not yet saved
32          into the database.
33         
34        - Maybe put "gracedelay" in the database.
35       
36        - Price multiplier/divisor which can be set on a per
37          user or per user group basis.
38
39        - Ink accounting ala PrintBill.
40       
41        - Price and statistics per page format.
42       
43        - Add a description field to users/groups.
44       
45        - Allow the admin to choose an action to take when the database
46          is unavailable (server is down or something like that) :
47          introduce two directives :
48         
49            nodb: accept|reject|hold
50            lognodb: /path/to/file/for/later/batch/update/of/database
51       
52        - CUPS accepts the "STATE: ..." message as backchannel
53          data : use this to tell CUPS what action has been taken
54          for current job.
55         
56        - Add frontbanner and rearbanner directives to pykota.conf
57          This directives will allow the launch (if executable)
58          or the use of the banner path passed as a parameter.
59          If executable, the banner content will be taken from
60          the command's output, else from the banner file
61          directly.
62         
63          Maybe allow frontbanner: +somepath and
64                      frontbanner: -somepath
65          to allow/deny accounting of the banner itself
66          (not sure because may be VERY DIFFICULT !)
67         
68        - Think about some possible client <=> PyKota dialog
69          possibilities, like embedding a small web server in
70          PyKota for example, or something like that.
71       
72        - Log something when --add is used with existing entries.
73          Maybe add a new command line option to force/not force
74          modification of existing entries.
75         
76        - Finish implementation of quota-then-balance and
77          balance-then-quota.
78         
79        - Test and document a possible workaround for knowing
80          if the job is a banner (embed a postscript comment
81          in the banner).
82         
83        - Introduce the pkusers command.
84          pkusers --nogroup
85          pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,...
86         
87        - Allow the --ingroups command line option to repykota, to
88          report only users members of the specified groups.
89         
90        - Documentation...
91         
92        - Complete web administrative interface with graphical reports.
93       
94        - Group administrators (think quotagrpdmins for disk quotas).
95          Won't be implemented for now.
96         
97        - Multidatabase support, e.g. store users in LDAP, quota 
98          related datas in PostgreSQL, history in text file,
99          and so on... For 2.0, probably not before.
100       
101       
102============================================================
103
104Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.