# $Id$ PyKota - Print Quota for CUPS and LPRng (c) 2003, 2004, 2005 Jerome Alet This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ============================================================ TODO, in no particular order : - Maybe per user "denyduplicates" : my 5 years old daughter just prints again when the printer is off... - Now that the job size is ALWAYS precomputed, add a MaxJobSize attribute to users and groups (printers as well, maybe ?) to limit each job's size if needed. - Add precomputed job size (and price) to the history for controlling purpose. - Try to talk to education based distribution coordinators (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to better integrate PyKota with these. - Allow soft and hard limits to be increased/decreased. - Web enabled pykotme. - Maybe put "gracedelay" and "denyduplicates" into the database. - Ink accounting ala PrintBill. - Price and statistics per page format. - Add a description field to users/groups. - Allow the admin to choose an action to take when the database is unavailable (server is down or something like that), so introduce two directives : nodb: accept|reject|hold lognodb: /path/to/file/for/later/batch/update/of/database - CUPS accepts the "STATE: ..." message as backchannel data : use this to tell CUPS what action has been taken for current job. - Think about some possible client <=> PyKota dialog possibilities, like embedding a small web server in PyKota for example, or something like that. - Log something when --add is used with existing entries. Maybe add a new command line option to force/not force modification of existing entries. - Finish implementation of quota-then-balance and balance-then-quota. - Introduce the pkusers command. pkusers --nogroup pkusers --ingroups gr1,gr2,... --outgroups gr3,gr4,... - Allow the --ingroups command line option to repykota, to report only users members of the specified groups. - Documentation... - Learn more bits of PHP to help with phpPyKotaAdmin, which is a GREAT tool ! - Group administrators (think quotagrpdmins for disk quotas). Won't be implemented for now. - Multidatabase support, e.g. store users in LDAP, quota related datas in PostgreSQL, history in text file, and so on... For 2.0, probably not before. ============================================================ Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)