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 Groups section
Add the Student
group via Add/Remove Groups 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 situations 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 |
Custom Allocations |
Applied at |
Table 6.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!
In some cases quotas may need to be scheduled for unusual times. A good example of this is unusual term
or semester start dates. The Custom
quota scheduling period allows specifying any
date for which to run quotas. To set a custom quota scheduling period:
Select the group for which to allocate quotas
Under the Quota Scheduling section, select a Period of Custom.
Enter a date in the ISO international date format YYYY-MM-DD
(e.g.
2007-03-15
). Multiple dates may be entered, separated by a comma (e.g.
2007-03-15,2007-08-20
). *
wildcards are supported.
Click the
button to save the change.
The year may be omitted or replaced with a *
wildcard to specify that
quota allocations should take place on the same date every year. The same is true for months.
For example, entering *-03-15
or 03-15
will result in
quotas being allocated on March 15th every year.
Entering *-*-15
will result in quotas being allocated the 15th
of every month of every year.
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 “Bulk User Operations”.
It is also possible to automate the allocation of user quota through the use of Server Commands (see the section called “Server Commands (server-command)”) or XML Web Services (see the section called “The XML Web Services API”).
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 “Server Commands (server-command)”, 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-path]\server\examples\scripting\batch\assign-term-quotas.bat
.
© Copyright 1999-2009. PaperCut Software International Pty Ltd. All rights reserved.