root / pykota / trunk / initscripts / ldap / pykota.schema @ 2096

Revision 2054, 11.0 kB (checked in by jalet, 20 years ago)

Big database structure changes. Upgrade script is now included as well as
the new LDAP schema.
Introduction of the -o | --overcharge command line option to edpykota.
The output of repykota is more complete, but doesn't fit in 80 columns anymore.
Introduction of the new 'maxdenybanners' directive.

  • 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, or denied : ( "ALLOW" |  "DENY" )'
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'
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
229#       
230# PyKota Object Classes
231#
232
233# pykotaAccount
234objectclass ( 1.3.6.1.4.1.16868.1.2.1 NAME 'pykotaAccount' SUP top AUXILIARY
235        DESC 'PyKota Auxiliary User Account'
236        MUST ( uid )
237        MAY  ( pykotaUserName $ pykotaLimitBy $ mail ) )
238       
239# pykotaGroup       
240objectclass ( 1.3.6.1.4.1.16868.1.2.2 NAME 'pykotaGroup' SUP top AUXILIARY
241        DESC 'PyKota Auxiliary Group'
242        MUST ( cn )
243        MAY  ( pykotaGroupName $ pykotaLimitBy $ memberUid $ uniqueMember $ member ) )
244       
245# pykotaPrinter       
246objectclass ( 1.3.6.1.4.1.16868.1.2.3 NAME 'pykotaPrinter' SUP top AUXILIARY
247        DESC 'PyKota Printer'
248        MUST ( cn )
249        MAY  ( description $ pykotaPrinterName $ pykotaPricePerPage $ pykotaPricePerJob $ pykotaPrinterCoefficient $ uniqueMember ) )
250       
251# pykotaUserPQuota       
252objectclass ( 1.3.6.1.4.1.16868.1.2.4 NAME 'pykotaUserPQuota' SUP top AUXILIARY
253        DESC 'PyKota User Quota on a Printer'
254        MUST ( cn $ pykotaUserName $ pykotaPrinterName )
255        MAY  ( pykotaPageCounter $ pykotaLifePageCounter $ pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit $ pykotaWarnCount ) )
256       
257# pykotaGroupPQuota       
258objectclass ( 1.3.6.1.4.1.16868.1.2.5 NAME 'pykotaGroupPQuota' SUP top AUXILIARY
259        DESC 'PyKota Group Quota on a Printer'
260        MUST ( cn $ pykotaGroupName $ pykotaPrinterName )
261        MAY  ( pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit ) )
262       
263# pykotaJob       
264objectclass ( 1.3.6.1.4.1.16868.1.2.6 NAME 'pykotaJob' SUP top AUXILIARY
265        DESC 'An entry in the job history for a printer'
266        MUST ( cn $ pykotaUserName $ pykotaPrinterName $ pykotaJobId )
267        MAY  ( pykotaBillingCode $ pykotaPrinterPageCounter $ pykotaJobSize $ pykotaAction $ pykotaJobPrice $ pykotaFileName $ pykotaTitle $ pykotaCopies $ pykotaOptions $ pykotaHostName $ pykotaJobSizeBytes $ pykotaMD5Sum $ pykotaPages ) )
268       
269# pykotaAccountBalance
270objectclass ( 1.3.6.1.4.1.16868.1.2.7 NAME 'pykotaAccountBalance' SUP top AUXILIARY
271        DESC 'PyKota User account balance'
272        MAY  ( pykotaUserName $ pykotaBalance $ pykotaLifeTimePaid $ pykotaOverCharge $ pykotaPayments ) )
273       
274# pykotaLastJob       
275objectclass ( 1.3.6.1.4.1.16868.1.2.8 NAME 'pykotaLastJob' SUP top AUXILIARY
276        DESC 'Last job information for a printer'
277        MUST ( pykotaLastJobIdent )
278        MAY ( pykotaPrinterName ) )
279       
280# pykotaObject - Use it if you have to
281objectclass ( 1.3.6.1.4.1.16868.1.2.9 NAME 'pykotaObject' SUP top STRUCTURAL
282        DESC 'PyKota Object'
283        MUST ( cn ) )
284       
285       
Note: See TracBrowser for help on using the browser.