[1015] | 1 | # $Id$ |
---|
| 2 | # |
---|
| 3 | # pykota.schema |
---|
| 4 | # |
---|
| 5 | # LDAP Schema for Pykota Quota System |
---|
| 6 | # |
---|
[1098] | 7 | # Include it in OpenLDAP's configuration file (/etc/ldap/slapd.conf) |
---|
| 8 | # and restart slapd. |
---|
| 9 | # |
---|
[1015] | 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 | # |
---|
[1108] | 19 | # Contributors : Leif Johansson - Stockholm University |
---|
[1017] | 20 | # |
---|
[1015] | 21 | |
---|
[1017] | 22 | # |
---|
| 23 | # PyKota Attributes Types |
---|
| 24 | # |
---|
[1015] | 25 | |
---|
[1017] | 26 | # pykotaLimitBy |
---|
[1015] | 27 | attributetype ( 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 | |
---|
[1017] | 32 | # pykotaBalance |
---|
[1015] | 33 | attributetype ( 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 | |
---|
[1017] | 38 | # pykotaLifeTimePaid |
---|
[1015] | 39 | attributetype ( 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 | |
---|
[1017] | 44 | # pykotaPricePerPage |
---|
[1015] | 45 | attributetype ( 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 | |
---|
[1017] | 50 | # pykotaPricePerJob |
---|
[1015] | 51 | attributetype ( 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 | |
---|
[1017] | 56 | # pykotaSoftLimit |
---|
| 57 | attributetype ( 1.3.6.1.4.1.16868.1.1.6 NAME 'pykotaSoftLimit' |
---|
[1015] | 58 | DESC 'Soft limit in maximal number of pages' |
---|
[1041] | 59 | EQUALITY caseIgnoreIA5Match |
---|
| 60 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
[1015] | 61 | |
---|
[1017] | 62 | # pykotaHardLimit |
---|
| 63 | attributetype ( 1.3.6.1.4.1.16868.1.1.7 NAME 'pykotaHardLimit' |
---|
[1015] | 64 | DESC 'Hard limit in maximal number of pages' |
---|
[1041] | 65 | EQUALITY caseIgnoreIA5Match |
---|
| 66 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
[1015] | 67 | |
---|
[1017] | 68 | # pykotaDateLimit |
---|
| 69 | attributetype ( 1.3.6.1.4.1.16868.1.1.8 NAME 'pykotaDateLimit' |
---|
[1015] | 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 | |
---|
[1017] | 74 | # pykotaPageCounter |
---|
| 75 | attributetype ( 1.3.6.1.4.1.16868.1.1.9 NAME 'pykotaPageCounter' |
---|
[1015] | 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 | |
---|
[1017] | 80 | # pykotaLifePageCounter |
---|
| 81 | attributetype ( 1.3.6.1.4.1.16868.1.1.10 NAME 'pykotaLifePageCounter' |
---|
[1015] | 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 | |
---|
[1017] | 86 | # pykotaJobId |
---|
| 87 | attributetype ( 1.3.6.1.4.1.16868.1.1.11 NAME 'pykotaJobId' |
---|
[1015] | 88 | DESC 'Id of a job in a printer history of jobs' |
---|
[1017] | 89 | EQUALITY caseExactIA5Match |
---|
| 90 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
[1015] | 91 | |
---|
[1017] | 92 | # pykotaPrinterPageCounter |
---|
| 93 | attributetype ( 1.3.6.1.4.1.16868.1.1.12 NAME 'pykotaPrinterPageCounter' |
---|
[1015] | 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 | |
---|
[1017] | 98 | # pykotaJobSize |
---|
| 99 | attributetype ( 1.3.6.1.4.1.16868.1.1.13 NAME 'pykotaJobSize' |
---|
[1015] | 100 | DESC 'Current job size in number of pages in the history' |
---|
[1200] | 101 | EQUALITY integerMatch |
---|
| 102 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) |
---|
[1015] | 103 | |
---|
[1017] | 104 | # pykotaAction |
---|
| 105 | attributetype ( 1.3.6.1.4.1.16868.1.1.14 NAME 'pykotaAction' |
---|
[1018] | 106 | DESC 'Was the job allowed, or denied : ( "ALLOW" | "DENY" )' |
---|
| 107 | EQUALITY caseExactIA5Match |
---|
[1015] | 108 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 109 | |
---|
[1017] | 110 | # pykotaPrinterName |
---|
| 111 | attributetype ( 1.3.6.1.4.1.16868.1.1.15 NAME 'pykotaPrinterName' |
---|
| 112 | DESC 'PyKota printer name as received from the printing subsystem' |
---|
[1200] | 113 | EQUALITY caseExactIA5Match |
---|
| 114 | SUBSTR caseExactIA5SubstringsMatch |
---|
[1015] | 115 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
[1017] | 116 | |
---|
| 117 | # pykotaUserName |
---|
| 118 | attributetype ( 1.3.6.1.4.1.16868.1.1.16 NAME 'pykotaUserName' |
---|
| 119 | DESC 'PyKota user name' |
---|
| 120 | EQUALITY caseExactIA5Match |
---|
[1200] | 121 | SUBSTR caseExactIA5SubstringsMatch |
---|
[1017] | 122 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 123 | |
---|
| 124 | # pykotaGroupName |
---|
| 125 | attributetype ( 1.3.6.1.4.1.16868.1.1.17 NAME 'pykotaGroupName' |
---|
| 126 | DESC 'PyKota group name' |
---|
| 127 | EQUALITY caseExactIA5Match |
---|
[1200] | 128 | SUBSTR caseExactIA5SubstringsMatch |
---|
[1017] | 129 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 130 | |
---|
[1018] | 131 | # pykotaLastJobIdent |
---|
| 132 | attributetype ( 1.3.6.1.4.1.16868.1.1.18 NAME 'pykotaLastJobIdent' |
---|
| 133 | DESC 'Identifies the last job in the history' |
---|
[1017] | 134 | EQUALITY caseExactIA5Match |
---|
| 135 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 136 | |
---|
[1200] | 137 | # pykotaFileName |
---|
| 138 | attributetype ( 1.3.6.1.4.1.16868.1.1.19 NAME 'pykotaFileName' |
---|
| 139 | DESC 'Print job filename' |
---|
[1455] | 140 | EQUALITY caseExactMatch |
---|
| 141 | SUBSTR caseExactSubstringsMatch |
---|
| 142 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) |
---|
[1200] | 143 | |
---|
| 144 | # pykotaTitle |
---|
| 145 | attributetype ( 1.3.6.1.4.1.16868.1.1.20 NAME 'pykotaTitle' |
---|
| 146 | DESC 'Print job title' |
---|
[1455] | 147 | EQUALITY caseIgnoreMatch |
---|
| 148 | SUBSTR caseIgnoreSubstringsMatch |
---|
| 149 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) |
---|
[1200] | 150 | |
---|
| 151 | # pykotaCopies |
---|
| 152 | attributetype ( 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 |
---|
| 158 | attributetype ( 1.3.6.1.4.1.16868.1.1.22 NAME 'pykotaOptions' |
---|
| 159 | DESC 'Print job options' |
---|
[1480] | 160 | EQUALITY caseIgnoreMatch |
---|
| 161 | SUBSTR caseIgnoreSubstringsMatch |
---|
| 162 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) |
---|
[1200] | 163 | |
---|
[1203] | 164 | # pykotaJobPrice |
---|
| 165 | attributetype ( 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 | |
---|
[1473] | 170 | # pykotaHostName |
---|
| 171 | attributetype ( 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} ) |
---|
[1520] | 176 | |
---|
| 177 | # pykotaJobSizeBytes |
---|
| 178 | attributetype ( 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 ) |
---|
[1473] | 182 | |
---|
[1520] | 183 | # pykotaPayments |
---|
| 184 | attributetype ( 1.3.6.1.4.1.16868.1.1.26 NAME 'pykotaPayments' |
---|
[1522] | 185 | DESC 'Stores all payments made by an user, encoded to store both date and amount, separated by a # between two spaces' |
---|
[1520] | 186 | EQUALITY caseExactIA5Match |
---|
| 187 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) |
---|
[1996] | 188 | |
---|
[2054] | 189 | # pykotaOverCharge |
---|
| 190 | attributetype ( 1.3.6.1.4.1.16868.1.1.27 NAME 'pykotaOverCharge' |
---|
| 191 | DESC 'OverCharging factor for a particular user, float' |
---|
[1996] | 192 | EQUALITY caseIgnoreIA5Match |
---|
| 193 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 194 | |
---|
| 195 | # pykotaWarnCount |
---|
| 196 | attributetype ( 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 |
---|
| 202 | attributetype ( 1.3.6.1.4.1.16868.1.1.29 NAME 'pykotaMD5Sum' |
---|
[1997] | 203 | DESC 'MD5 Sum of the job datas' |
---|
[1996] | 204 | EQUALITY caseExactIA5Match |
---|
| 205 | SUBSTR caseExactIA5SubstringsMatch |
---|
| 206 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) |
---|
| 207 | |
---|
| 208 | # pykotaPages |
---|
| 209 | attributetype ( 1.3.6.1.4.1.16868.1.1.30 NAME 'pykotaPages' |
---|
[1997] | 210 | DESC 'Descriptor for each page settings in the history' |
---|
[1996] | 211 | EQUALITY caseExactIA5Match |
---|
| 212 | SUBSTR caseExactIA5SubstringsMatch |
---|
| 213 | SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) |
---|
| 214 | |
---|
| 215 | # pykotaPrinterCoefficient |
---|
| 216 | attributetype ( 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 ) |
---|
[1520] | 220 | |
---|
[2024] | 221 | # pykotaBillingCode |
---|
| 222 | attributetype ( 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 | |
---|
[1996] | 228 | |
---|
[1017] | 229 | # |
---|
| 230 | # PyKota Object Classes |
---|
| 231 | # |
---|
[1015] | 232 | |
---|
[1223] | 233 | # pykotaAccount |
---|
[1017] | 234 | objectclass ( 1.3.6.1.4.1.16868.1.2.1 NAME 'pykotaAccount' SUP top AUXILIARY |
---|
[1015] | 235 | DESC 'PyKota Auxiliary User Account' |
---|
[1018] | 236 | MUST ( uid ) |
---|
[1223] | 237 | MAY ( pykotaUserName $ pykotaLimitBy $ mail ) ) |
---|
[1015] | 238 | |
---|
[1017] | 239 | # pykotaGroup |
---|
[1015] | 240 | objectclass ( 1.3.6.1.4.1.16868.1.2.2 NAME 'pykotaGroup' SUP top AUXILIARY |
---|
| 241 | DESC 'PyKota Auxiliary Group' |
---|
[1018] | 242 | MUST ( cn ) |
---|
| 243 | MAY ( pykotaGroupName $ pykotaLimitBy $ memberUid $ uniqueMember $ member ) ) |
---|
[1015] | 244 | |
---|
[1017] | 245 | # pykotaPrinter |
---|
| 246 | objectclass ( 1.3.6.1.4.1.16868.1.2.3 NAME 'pykotaPrinter' SUP top AUXILIARY |
---|
[1015] | 247 | DESC 'PyKota Printer' |
---|
[1018] | 248 | MUST ( cn ) |
---|
[1996] | 249 | MAY ( description $ pykotaPrinterName $ pykotaPricePerPage $ pykotaPricePerJob $ pykotaPrinterCoefficient $ uniqueMember ) ) |
---|
[1015] | 250 | |
---|
[1017] | 251 | # pykotaUserPQuota |
---|
| 252 | objectclass ( 1.3.6.1.4.1.16868.1.2.4 NAME 'pykotaUserPQuota' SUP top AUXILIARY |
---|
[1015] | 253 | DESC 'PyKota User Quota on a Printer' |
---|
[1017] | 254 | MUST ( cn $ pykotaUserName $ pykotaPrinterName ) |
---|
[1996] | 255 | MAY ( pykotaPageCounter $ pykotaLifePageCounter $ pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit $ pykotaWarnCount ) ) |
---|
[1015] | 256 | |
---|
[1017] | 257 | # pykotaGroupPQuota |
---|
| 258 | objectclass ( 1.3.6.1.4.1.16868.1.2.5 NAME 'pykotaGroupPQuota' SUP top AUXILIARY |
---|
[1015] | 259 | DESC 'PyKota Group Quota on a Printer' |
---|
[1017] | 260 | MUST ( cn $ pykotaGroupName $ pykotaPrinterName ) |
---|
[1015] | 261 | MAY ( pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit ) ) |
---|
| 262 | |
---|
[1017] | 263 | # pykotaJob |
---|
| 264 | objectclass ( 1.3.6.1.4.1.16868.1.2.6 NAME 'pykotaJob' SUP top AUXILIARY |
---|
[1015] | 265 | DESC 'An entry in the job history for a printer' |
---|
[1017] | 266 | MUST ( cn $ pykotaUserName $ pykotaPrinterName $ pykotaJobId ) |
---|
[2024] | 267 | MAY ( pykotaBillingCode $ pykotaPrinterPageCounter $ pykotaJobSize $ pykotaAction $ pykotaJobPrice $ pykotaFileName $ pykotaTitle $ pykotaCopies $ pykotaOptions $ pykotaHostName $ pykotaJobSizeBytes $ pykotaMD5Sum $ pykotaPages ) ) |
---|
[1015] | 268 | |
---|
[1017] | 269 | # pykotaAccountBalance |
---|
| 270 | objectclass ( 1.3.6.1.4.1.16868.1.2.7 NAME 'pykotaAccountBalance' SUP top AUXILIARY |
---|
| 271 | DESC 'PyKota User account balance' |
---|
[2054] | 272 | MAY ( pykotaUserName $ pykotaBalance $ pykotaLifeTimePaid $ pykotaOverCharge $ pykotaPayments ) ) |
---|
[1017] | 273 | |
---|
| 274 | # pykotaLastJob |
---|
| 275 | objectclass ( 1.3.6.1.4.1.16868.1.2.8 NAME 'pykotaLastJob' SUP top AUXILIARY |
---|
| 276 | DESC 'Last job information for a printer' |
---|
[1018] | 277 | MUST ( pykotaLastJobIdent ) |
---|
| 278 | MAY ( pykotaPrinterName ) ) |
---|
[1017] | 279 | |
---|
[1018] | 280 | # pykotaObject - Use it if you have to |
---|
| 281 | objectclass ( 1.3.6.1.4.1.16868.1.2.9 NAME 'pykotaObject' SUP top STRUCTURAL |
---|
| 282 | DESC 'PyKota Object' |
---|
[1017] | 283 | MUST ( cn ) ) |
---|
| 284 | |
---|
| 285 | |
---|