root / pykota / branches / specialauth / initscripts / ldap / pykota.schema @ 3357

Revision 2631, 12.5 kB (checked in by jerome, 19 years ago)

Added support for the CANCEL command in subprocesses launched from the
overwrite_jobticket directive : this will allow end users to be asked
if they really want to proceed to printing once the new version
of pykoticon will be ready.
Several minor fixes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1# $Id$
2#
3# pykota.schema
4#
5# LDAP Schema for Pykota Quota System
6#
7# Include it in OpenLDAP's configuration file (/etc/ldap/slapd.conf)
8# and restart slapd.
9#
10# Written 2003-05-28 by Wayne Godoy and John Flynn <wgodoy =AT= ub -DOT- edu -DOT- bz>
11#
12# Modified by Jerome Alet 2003-06-01
13#
14# 16868.x       => Conseil Internet & Logiciels Libres
15# 16868.1.x     => Pykota
16# 16868.1.1.x   => attributes
17# 16868.1.2.x   => classes
18#
19# Contributors : Leif Johansson - Stockholm University
20#
21
22#       
23# PyKota Attributes Types
24#
25
26# pykotaLimitBy
27attributetype ( 1.3.6.1.4.1.16868.1.1.1 NAME 'pykotaLimitBy'
28        DESC 'How to limit the user/group : quota or balance'
29        EQUALITY caseIgnoreIA5Match
30        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
31
32# pykotaBalance
33attributetype ( 1.3.6.1.4.1.16868.1.1.2 NAME 'pykotaBalance'
34        DESC 'Current account balance for the user, float'
35        EQUALITY caseIgnoreIA5Match
36        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
37
38# pykotaLifeTimePaid
39attributetype ( 1.3.6.1.4.1.16868.1.1.3 NAME 'pykotaLifeTimePaid'
40        DESC 'Total money paid by the user to fill his account balance, float'
41        EQUALITY caseIgnoreIA5Match
42        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
43
44# pykotaPricePerPage
45attributetype ( 1.3.6.1.4.1.16868.1.1.4 NAME 'pykotaPricePerPage'
46        DESC 'Price per page for a printer, float'
47        EQUALITY caseIgnoreIA5Match
48        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
49
50# pykotaPricePerJob
51attributetype ( 1.3.6.1.4.1.16868.1.1.5 NAME 'pykotaPricePerJob'
52        DESC 'Price per job for a printer, float'
53        EQUALITY caseIgnoreIA5Match
54        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
55
56# pykotaSoftLimit
57attributetype ( 1.3.6.1.4.1.16868.1.1.6 NAME 'pykotaSoftLimit'
58        DESC 'Soft limit in maximal number of pages'
59        EQUALITY caseIgnoreIA5Match
60        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
61       
62# pykotaHardLimit       
63attributetype ( 1.3.6.1.4.1.16868.1.1.7 NAME 'pykotaHardLimit'
64        DESC 'Hard limit in maximal number of pages'
65        EQUALITY caseIgnoreIA5Match
66        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
67
68# pykotaDateLimit
69attributetype ( 1.3.6.1.4.1.16868.1.1.8 NAME 'pykotaDateLimit'
70        DESC 'Date at which the soft limit becomes a hard one'
71        EQUALITY caseIgnoreIA5Match
72        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
73
74# pykotaPageCounter
75attributetype ( 1.3.6.1.4.1.16868.1.1.9 NAME 'pykotaPageCounter'
76        DESC 'Current page counter for the user on a particular printer'
77        EQUALITY integerMatch
78        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
79
80# pykotaLifePageCounter
81attributetype ( 1.3.6.1.4.1.16868.1.1.10 NAME 'pykotaLifePageCounter'
82        DESC 'Total page counter for the user on a particular printer'
83        EQUALITY integerMatch
84        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
85
86# pykotaJobId
87attributetype ( 1.3.6.1.4.1.16868.1.1.11 NAME 'pykotaJobId'
88        DESC 'Id of a job in a printer history of jobs'
89        EQUALITY caseExactIA5Match
90        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
91
92# pykotaPrinterPageCounter
93attributetype ( 1.3.6.1.4.1.16868.1.1.12 NAME 'pykotaPrinterPageCounter'
94        DESC 'Life time page counter of a printer when the job began'
95        EQUALITY integerMatch
96        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
97
98# pykotaJobSize
99attributetype ( 1.3.6.1.4.1.16868.1.1.13 NAME 'pykotaJobSize'
100        DESC 'Current job size in number of pages in the history'
101        EQUALITY integerMatch
102        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
103
104# pykotaAction
105attributetype ( 1.3.6.1.4.1.16868.1.1.14 NAME 'pykotaAction'
106        DESC 'Was the job allowed, denied, warned, cancelled or failed : ( "ALLOW" |  "DENY" | "WARN" | "CANCEL" | "PROBLEM" )'
107        EQUALITY caseExactIA5Match
108        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
109       
110# pykotaPrinterName       
111attributetype ( 1.3.6.1.4.1.16868.1.1.15 NAME 'pykotaPrinterName'
112        DESC 'PyKota printer name as received from the printing subsystem'
113        EQUALITY caseExactIA5Match
114        SUBSTR caseExactIA5SubstringsMatch
115        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
116       
117# pykotaUserName       
118attributetype ( 1.3.6.1.4.1.16868.1.1.16 NAME 'pykotaUserName'
119        DESC 'PyKota user name'
120        EQUALITY caseExactIA5Match
121        SUBSTR caseExactIA5SubstringsMatch
122        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
123       
124# pykotaGroupName       
125attributetype ( 1.3.6.1.4.1.16868.1.1.17 NAME 'pykotaGroupName'
126        DESC 'PyKota group name'
127        EQUALITY caseExactIA5Match
128        SUBSTR caseExactIA5SubstringsMatch
129        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
130       
131# pykotaLastJobIdent       
132attributetype ( 1.3.6.1.4.1.16868.1.1.18 NAME 'pykotaLastJobIdent'
133        DESC 'Identifies the last job in the history'
134        EQUALITY caseExactIA5Match
135        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
136       
137# pykotaFileName       
138attributetype ( 1.3.6.1.4.1.16868.1.1.19 NAME 'pykotaFileName'
139        DESC 'Print job filename'
140        EQUALITY caseExactMatch
141        SUBSTR caseExactSubstringsMatch
142        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
143       
144# pykotaTitle       
145attributetype ( 1.3.6.1.4.1.16868.1.1.20 NAME 'pykotaTitle'
146        DESC 'Print job title'
147        EQUALITY caseIgnoreMatch
148        SUBSTR caseIgnoreSubstringsMatch
149        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
150       
151# pykotaCopies
152attributetype ( 1.3.6.1.4.1.16868.1.1.21 NAME 'pykotaCopies'
153        DESC 'Number of copies of the current print job'
154        EQUALITY integerMatch
155        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
156       
157# pykotaOptions       
158attributetype ( 1.3.6.1.4.1.16868.1.1.22 NAME 'pykotaOptions'
159        DESC 'Print job options'
160        EQUALITY caseIgnoreMatch
161        SUBSTR caseIgnoreSubstringsMatch
162        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
163       
164# pykotaJobPrice
165attributetype ( 1.3.6.1.4.1.16868.1.1.23 NAME 'pykotaJobPrice'
166        DESC 'Price of a particular job in the history, float'
167        EQUALITY caseIgnoreIA5Match
168        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
169
170# pykotaHostName
171attributetype ( 1.3.6.1.4.1.16868.1.1.24 NAME 'pykotaHostName'
172        DESC 'The host the job is coming from'
173        EQUALITY caseIgnoreMatch
174        SUBSTR caseIgnoreSubstringsMatch
175        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
176       
177# pykotaJobSizeBytes
178attributetype ( 1.3.6.1.4.1.16868.1.1.25 NAME 'pykotaJobSizeBytes'
179        DESC 'Current job size in number of bytes in the history'
180        EQUALITY integerMatch
181        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
182
183# pykotaPayments
184attributetype ( 1.3.6.1.4.1.16868.1.1.26 NAME 'pykotaPayments'
185        DESC 'Stores all payments made by an user, encoded to store both date and amount, separated by a # between two spaces'
186        EQUALITY caseExactIA5Match
187        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
188       
189# pykotaOverCharge
190attributetype ( 1.3.6.1.4.1.16868.1.1.27 NAME 'pykotaOverCharge'
191        DESC 'OverCharging factor for a particular user, float'
192        EQUALITY caseIgnoreIA5Match
193        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
194       
195# pykotaWarnCount
196attributetype ( 1.3.6.1.4.1.16868.1.1.28 NAME 'pykotaWarnCount'
197        DESC 'Number of times the user was warned because a banner was denied'
198        EQUALITY integerMatch
199        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
200       
201# pykotaMD5Sum       
202attributetype ( 1.3.6.1.4.1.16868.1.1.29 NAME 'pykotaMD5Sum'
203        DESC 'MD5 Sum of the job datas'
204        EQUALITY caseExactIA5Match
205        SUBSTR caseExactIA5SubstringsMatch
206        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
207       
208# pykotaPages       
209attributetype ( 1.3.6.1.4.1.16868.1.1.30 NAME 'pykotaPages'
210        DESC 'Descriptor for each page settings in the history'
211        EQUALITY caseExactIA5Match
212        SUBSTR caseExactIA5SubstringsMatch
213        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
214       
215# pykotaPrinterCoefficient
216attributetype ( 1.3.6.1.4.1.16868.1.1.31 NAME 'pykotaPrinterCoefficient'
217        DESC 'Coefficient for a particular page format. Contains label # coeff, e.g. A3 # 2.0'
218        EQUALITY caseIgnoreIA5Match
219        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
220
221# pykotaBillingCode
222attributetype ( 1.3.6.1.4.1.16868.1.1.32 NAME 'pykotaBillingCode'
223        DESC 'Optional billing code for the print job'
224        EQUALITY caseIgnoreMatch
225        SUBSTR caseIgnoreSubstringsMatch
226        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
227       
228# pykotaPrecomputedJobSize
229attributetype ( 1.3.6.1.4.1.16868.1.1.33 NAME 'pykotaPrecomputedJobSize'
230        DESC 'Precomputed job size in number of pages in the history'
231        EQUALITY integerMatch
232        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
233
234# pykotaPrecomputedJobPrice
235attributetype ( 1.3.6.1.4.1.16868.1.1.34 NAME 'pykotaPrecomputedJobPrice'
236        DESC 'Precomputed Price of a particular job in the history, float'
237        EQUALITY caseIgnoreIA5Match
238        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
239       
240# pykotaMaxJobSize
241attributetype ( 1.3.6.1.4.1.16868.1.1.35 NAME 'pykotaMaxJobSize'
242        DESC 'Maximum size allowed for a job'
243        EQUALITY integerMatch
244        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
245
246# pykotaPassThrough
247attributetype ( 1.3.6.1.4.1.16868.1.1.36 NAME 'pykotaPassThrough'
248        DESC 'Indicates if the printer is in pass through mode'
249        EQUALITY caseIgnoreIA5Match
250        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
251
252#       
253# PyKota Object Classes
254#
255
256# pykotaAccount
257objectclass ( 1.3.6.1.4.1.16868.1.2.1 NAME 'pykotaAccount' SUP top AUXILIARY
258        DESC 'PyKota Auxiliary User Account'
259        MUST ( uid )
260        MAY  ( pykotaUserName $ pykotaLimitBy $ mail $ description ) )
261       
262# pykotaGroup       
263objectclass ( 1.3.6.1.4.1.16868.1.2.2 NAME 'pykotaGroup' SUP top AUXILIARY
264        DESC 'PyKota Auxiliary Group'
265        MUST ( cn )
266        MAY  ( pykotaGroupName $ pykotaLimitBy $ memberUid $ uniqueMember $ member $ description ) )
267       
268# pykotaPrinter       
269objectclass ( 1.3.6.1.4.1.16868.1.2.3 NAME 'pykotaPrinter' SUP top AUXILIARY
270        DESC 'PyKota Printer'
271        MUST ( cn )
272        MAY  ( pykotaMaxJobSize $ pykotaPassThrough $ description $ pykotaPrinterName $ pykotaPricePerPage $ pykotaPricePerJob $ pykotaPrinterCoefficient $ uniqueMember ) )
273       
274# pykotaUserPQuota       
275objectclass ( 1.3.6.1.4.1.16868.1.2.4 NAME 'pykotaUserPQuota' SUP top AUXILIARY
276        DESC 'PyKota User Quota on a Printer'
277        MUST ( cn $ pykotaUserName $ pykotaPrinterName )
278        MAY  ( pykotaMaxJobSize $ pykotaPageCounter $ pykotaLifePageCounter $ pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit $ pykotaWarnCount ) )
279       
280# pykotaGroupPQuota       
281objectclass ( 1.3.6.1.4.1.16868.1.2.5 NAME 'pykotaGroupPQuota' SUP top AUXILIARY
282        DESC 'PyKota Group Quota on a Printer'
283        MUST ( cn $ pykotaGroupName $ pykotaPrinterName )
284        MAY  ( pykotaMaxJobSize $ pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit ) )
285       
286# pykotaJob       
287objectclass ( 1.3.6.1.4.1.16868.1.2.6 NAME 'pykotaJob' SUP top AUXILIARY
288        DESC 'An entry in the job history for a printer'
289        MUST ( cn $ pykotaUserName $ pykotaPrinterName $ pykotaJobId )
290        MAY  ( pykotaPrecomputedJobPrice $ pykotaPrecomputedJobSize $ pykotaBillingCode $ pykotaPrinterPageCounter $ pykotaJobSize $ pykotaAction $ pykotaJobPrice $ pykotaFileName $ pykotaTitle $ pykotaCopies $ pykotaOptions $ pykotaHostName $ pykotaJobSizeBytes $ pykotaMD5Sum $ pykotaPages ) )
291       
292# pykotaAccountBalance
293objectclass ( 1.3.6.1.4.1.16868.1.2.7 NAME 'pykotaAccountBalance' SUP top AUXILIARY
294        DESC 'PyKota User account balance'
295        MAY  ( pykotaUserName $ pykotaBalance $ pykotaLifeTimePaid $ pykotaOverCharge $ pykotaPayments ) )
296       
297# pykotaLastJob       
298objectclass ( 1.3.6.1.4.1.16868.1.2.8 NAME 'pykotaLastJob' SUP top AUXILIARY
299        DESC 'Last job information for a printer'
300        MUST ( pykotaLastJobIdent )
301        MAY ( pykotaPrinterName ) )
302       
303# pykotaBilling
304objectclass ( 1.3.6.1.4.1.16868.1.2.10 NAME 'pykotaBilling' SUP top AUXILIARY
305        DESC 'Allowed billing codes'
306        MUST ( cn $ pykotaBillingCode )
307        MAY ( pykotaPageCounter $ pykotaBalance $ description ) )
308       
309# pykotaObject - Use it if you have to
310objectclass ( 1.3.6.1.4.1.16868.1.2.9 NAME 'pykotaObject' SUP top STRUCTURAL
311        DESC 'PyKota Object'
312        MUST ( cn ) )
313       
314       
Note: See TracBrowser for help on using the browser.