root / pykota / trunk / TODO @ 1871

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

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