it's a pyt# $Id$ PyKota - Print Quotas for CUPS and LPRng (c) 2003, 2004, 2005, 2006, 2007 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ============================================================ TODO, in no particular order : - --orderby and --order ASC|DESC for dumpykota (or --asc | --desc) - Document the PYKOTA_HOME environment variable. - LDAP : See if setting cn=ThePrinter for user print quota entries could be done, only in the case where userquotabase=user (idem for groups). Would make direct modifications (e.g. with gq) more easy. - Allow the disabling of an user print quota entry without deleting it. - Store the value of the user's account balance in the printing history (the value at the time of printing) as well as in the payments history (as a safety check in case an user complains). - PJL for non-networked backends (see ML's history) - Add the listing of the member printers in pkprinters if the printer is a printer group. - Allow several levels of administrative priviledges by allowing files like ~pykota/pykotadmin.someusername.conf (readonly by user 'someusername'), and have the database server deal with the permissions : no need for additionnal code or data in PyKota's database ! - Try to talk to education based distribution coordinators (SambaEdu, SkoleLinux, K12LTSP, ...) to see how to better integrate PyKota with these. - Add most configuration directives to the database itself, while still allowing to overwrite them with the configuration files at run time. - Price and statistics per page format. - 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. I did some testing but wasn't able to make it work... - Documentation... - Learn more bits of PHP to help with phpPyKotaAdmin, which is a GREAT tool ! - 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. - Re-add support for LPRng if interest is high enough (it is not for now) ============================================================ Please e-mail bugs to: alet@librelogiciel.com (Jerome Alet)