In many organizations PaperCut NG is used to control and restrict users to sensible use by allocating a quota or allowance (a budget). For example a user may be allocated $10.00 a week. This type of control is particularly popular in schools and universities. The process of quota allocation can be automated via the Groups section.
To allocate a $10.00 a week to members of the Students group:
Navigate to the Group section
Add the Student group via Add/Remove Group if not already
listed.
Select the Student group
Under the Quota Scheduling section, select a period of Weekly and enter
10.00 in the Schedule amount.
Click the button to save the change.
To configure quotas correctly it is important to understand how quota allocations work. Users receive
quotas for all groups they belong to. For example, consider the sitations where Students and
Student Newspaper groups are defined in PaperCut NG, with $20/month and $10/month
quotas respectively. If a student belongs to both groups they will receive a $30/month of quota. If they
belong to only the Students group they will receive only $20/month.
If you configure a quota on the special [All Users] group then all users in the system will receive
this quota in addition to quotas defined on other groups.
Credit will be assigned to group members at just past 12:00am (midnight) on the day of the schedule. Administrators can verify that this has taken place by inspecting log entries in the Application event log and/or users' transaction logs.
| Task | Time |
|---|---|
Daily Allocations |
Applied at |
Weekly Allocations |
Applied at |
Monthly Allocations |
Applied at |
Table 4.1. Quota schedule times
One potential issue associated with quota allocation in some organizations (for example Schools or Universities) is that users can "bank up" their quota allowance over time leading to excessive use at periods of the year such as the end of semester. The Only allow accumulation up to option can be used to implement a "use it or lose it" policy!
Some organizations may require scheduling quota allocations for periods other than those available above. For example, an education organization may like to schedule quota allocation per term, semester (period) or academic year, which may not have set dates. This can be achieved by a manual update when necessary though Bulk user actions ... in the Users or Groups tab. More information is available in the section called ˇuBulk User Operationsˇv.
It is also possible to automate the allocation of user quota through the use of Server Commands (see the section called ˇuServer Commands (server-command)ˇv) or XML Web Services (see the section called ˇuThe XML Web Services APIˇv).
One way to automate quota allocation is through the use of Server Commands. Following is an example of how to use Server Commands to automate quota allocation in a Microsoft Windows environment:
North Shore High would like to automate their quota allocation on a per-term basis. There are four
terms in a year, and terms do not necessarily start on the same date every year. Junior students are to
receive $5 per term printing budget, and senior students are to receive $10 per term. The domain has
the groups junior-students and senior-students to reflect the
students' grade.
Using the information from the section called ˇuServer Commands (server-command)ˇv, we can see that the Server
Command adjust-user-account-balance-by-group will meet the needs of this situation.
Create a batch file with a name like assign_term_quotas.bat with content similar to
the following (depending on your environment):
cd "C:\Program Files\PaperCut NG\server\bin\win"
server-command adjust-user-account-balance-by-group "junior-students" \
+5.00 "$5 term budget for junior students"
server-command adjust-user-account-balance-by-group "senior-students" \
+10.00 "$10 term budget for senior students"
Note: backslash indicates text should appear on the same line.
Running this script will allocate $5 to all members of the group junior-students, and
$10 to all members of the group senior-students. The script can then be scheduled to
run at the specified dates by the use of a tool such as Windows Task Scheduler (
ˇ÷ ˇ÷ ).
This example can be found with your PaperCut NG installation under
[app-dir]/server/examples/scripting/batch/assign-term-quotas.bat.
c Copyright 1999-2006. PaperCut Software Pty Ltd. All rights reserved.