On Tue, 4 Nov 2003, Hans Peter Verne wrote: HPV> Indeed. So where is the rest of that document, Henrik?
Coming up soon, real soon now. It still lacks some flow, and there are some holes in the reasoning at this point. But then I am an engineer (working in an imperfect world) and not a research professor (believing in a perfect world). :-) HPV> What are the requirements you refer to? Requirements Here the requirements of a solution to the problem will be given. Each requirement is given an identification number to the right for later reference. 3.1 Common Shall interoperate with printers from different manufacturers [1] Printers from several manufacturers are used and the solution shall work with all of them without special configuration exceptions. 3.2 Accounting Shall interoperate with LPRng [2] Shall receive an user name, a job timestamp, a printer name and a job name from LPRng. It shall also be able to notify LPRng of what to do with the job, which includes allowing it, retrying it later or denying it. Shall interoperate with PostgreSQL [3] All data needed between sessions shall be stored in a database managed by the PostgresSQL database management system. Shall manage access to printing by an user database [4] Users with printing access shall be stored in a database. Users that do not exist in the database shall be denied access to printing. It shall be possible to drop and rename users from the database. When a user is dropped, all user associated data stored in the database shall also be dropped. Shall calculate and store accounting data [5] The number of impressions used during a job shall be counted in an accurate way and stored in the database as printing history for each job, together with user name, job timestamp, printer name and job name. Shall support per user quota to limit printing access [6] It shall be possible per user basis to enable quota. Quota shall be checked before each job and the user shall not be able to print if quota is zero or below. The user shall be allowed to print if the number of impressions is unknown until after the job has finished. The number of impressions shall be deducted from user quota when job has finished printing and the resulting user quota shall be negative if result is negative. It shall be possible to increase or decrease the user quota manually. Shall store quota transactions history per user if quota is active [7] For each change to the user quota, an entry in the transactions history shall be made in the database. No transactions history shall be kept for users that do not have quota. An entry in the transactions history shall consist of a user name, a transaction timestamp, the change and a comment about the transaction. Shall be able on request to output accounting status in PostScript format [8] The output shall include current quota (if applicable), a recent printing history, a monthly summary for the last twelve months and a recent transactions history (if available). It shall be possible to include the output in a banner page. Shall send a message by mail if user does not have access to print [9] If user does not have access to print, an attempt shall be made to send the user a message by mail about this fact. Shall send a message by mail if user does not have enough quota to print [10] If user does not have enough quota to print, an attempt shall be made to send the user a message by mail about this fact. The message shall include a recent transactions history. 3.3 Status Notification Shall notify by mail at start of job if printer is signaling a down status [11] If printer is signaling a down status at the start of a job, an attempt shall be made to send the user a message by mail about this. The message shall include printer name, job name, job timestamp, and a request that the user attempt to verify printer condition and take appropiate measures. Shall notify by mail during job if printer is signaling a down status [12] If printer is signaling a down status during the job, an attempt shall be made to send the user a message by mail about this. The message shall include printer name, job name, job timestamp, and a request that the user attempt to verify printer condition and take appropiate measures. Shall notify by mail about normal completion if requested by user [13] If user request that a message by mail is sent upon normal completion of a job, an attempt shall be made to send the user such a message. The message shall include the number of impressions of the job. If the user has quota, the message shall include the quota balance after the job. // Henrik ----------------------------------------------------------------------------- YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST The address you post from MUST be your subscription address If you need help, send email to [EMAIL PROTECTED] (or lprng-requests or lprng-digest-requests) with the word 'help' in the body. For the impatient, to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED] with: | example: subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED] unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED] If you have major problems, send email to [EMAIL PROTECTED] with the word LPRNGLIST in the SUBJECT line. -----------------------------------------------------------------------------
