/[pdpsoft]/trunk/nl.nikhef.ndpf.tools/nikhef-directory-schema/schac.schema
ViewVC logotype

Contents of /trunk/nl.nikhef.ndpf.tools/nikhef-directory-schema/schac.schema

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2570 - (show annotations) (download)
Thu Oct 25 12:09:09 2012 UTC (9 years, 2 months ago) by davidg
File size: 19956 byte(s)
Fixup typo in schac

1 #----------------------------------------------------------------------
2 #
3 # schac v: 20061212-1.3.0
4 #
5 # SCHema for ACademia
6 # Attribute definitions for individual data
7 #
8 # The latest version of this document is avaliable at
9 # http://www.terena.org/activities/tf-emc2/docs/schac/schac-20061212-1.3.0.schema.txt
10 #
11 #----------------------------------------------------------------------
12 #
13 # Changelog
14 #
15 # 20061212 - 1.3.0
16 # - Changed references from terena.nl to terena.org.
17 # 20061125 - Changed schacPersonalPosition and schacUserStaus format
18 # and samples
19 # 20061017 - Delete shacUUID attribute (TF-EMC2 Málaga)
20 # 20060928 - Changed schacHomeOrganization syntax OID
21 # - New definition of shacUUID attribute
22 # 20060504 - 1.2.0
23 # - Changed schacUserPresenceID syntax from URN to URI.
24 # - Added references to the TERENA URN registry.
25 # - Clarify schaExpiryDate scope.
26 # 20060327 - SCHAC URN assigned: urn:mace:terena.org:schac
27 # 20060310 - 1.1.1
28 # - TERENA OID assigned: 1.3.6.1.4.1.25178
29 # 20060210 - Second release
30 # 20051122 - Initial release
31 #
32
33 objectIdentifier TERENA 1.3.6.1.4.1.25178
34
35 objectIdentifier schac TERENA:1
36 objectIdentifier schacObjectClass schac:1
37 objectIdentifier schacAttributeType schac:2
38
39
40 #----------------------------------------------------------------------
41 # Attributes
42 #----------------------------------------------------------------------
43
44 #
45 # schacMotherTongue
46 #
47 # Descrip: Is the language a person learns first. Correspondingly,
48 # the person is called a native speaker of the language.
49 # Usually a child learns the basics of their first language
50 # from their family.
51 #
52 # Format: See RFC 3066 Tags for the Identification of Languages
53 #
54 # Example: schacMotherTongue: fr
55 # Example: schacMotherTongue: es-ES
56 #
57 attributetype ( schacAttributeType:1
58 NAME 'schacMotherTongue'
59 DESC 'RFC 3066 code for prefered language of communication'
60 EQUALITY caseExactMatch
61 SINGLE-VALUE
62 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
63
64 #
65 # schacGender
66 #
67 # Descrip: The state of being male or female. The gender attribute
68 # specifies the legal gender of the subject it is associated with.
69 # "Either of the two groups that people, animals and plants are
70 # divided into according to their function of producing young"
71 # (Oxford Advanced Learner's Dictionary)
72 #
73 # Format: 0 Not known
74 # 1 Male
75 # 2 Female
76 # 9 Not specified
77 #
78 # Example: schacGender: 2
79 #
80 attributetype ( schacAttributeType:2
81 NAME 'schacGender'
82 DESC 'Representation of human sex (see ISO 5218)'
83 EQUALITY integerMatch
84 SINGLE-VALUE
85 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
86
87 #
88 # schacDateOfBirth
89 #
90 # Descrip: The date of birth for the subject it is associated with
91 #
92 # Format: Numeric value YYYYMMDD, using 4 digits for year, 2 digits
93 # for month and 2 digits for day as described in RFC 3339
94 # 'Date and Time on the Internet: Timestamps' as reference
95 # using the 'full-date' format from paragraph 5.6 but without
96 # the dashes.
97 #
98 # Example: schacDateOfBirth: 19660412
99 #
100 attributetype ( schacAttributeType:3
101 NAME 'schacDateOfBirth'
102 DESC 'Date of birth (format YYYYMMDD, only numeric chars)'
103 EQUALITY numericStringMatch
104 ORDERING numericStringOrderingMatch
105 SUBSTR numericStringSubstringsMatch
106 SINGLE-VALUE
107 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )
108
109 #
110 # schacPlaceOfBirth
111 #
112 # Descrip: Specifies the place of birth for the subject it is associated with.
113 #
114 # Format: Free string
115 #
116 # Example: schacPlaceOfBirth: Algeciras, Spain
117 #
118 attributetype ( schacAttributeType:4
119 NAME 'schacPlaceOfBirth'
120 DESC 'Birth place of a person'
121 EQUALITY caseIgnoreMatch
122 ORDERING caseIgnoreOrderingMatch
123 SUBSTR caseIgnoreSubstringsMatch
124 SINGLE-VALUE
125 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
126
127 #
128 # schacCountryOfCitizenship
129 #
130 # Descrip: Specifies the (claimed) countries of citizenship for the
131 # subject it is associated with.
132 #
133 # Format: Two-letter country acronym in accordance with ISO 3166.
134 #
135 # Example: schacCountryOfCitizenship: es
136 #
137 attributetype ( schacAttributeType:5
138 NAME 'schacCountryOfCitizenship'
139 DESC 'Country of citizenship of a person. Format two-letter acronym according to ISO 3166'
140 EQUALITY caseIgnoreMatch
141 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
142
143 #
144 # schacSn1
145 #
146 # Descrip: First surname of a person ("the surname" in international terms)
147 #
148 # schacSn1 would contain whatever values the described person
149 # thinks they should contain. Splitting shall be done by humans.
150 # That means that, when filling a SCHAC-based description that
151 # allows the use of schacSn1 and schacSn2, the administrators
152 # must ask for 1st surname and 2nd surname (if applicable) as
153 # well as they do for givenName, surname, etc.
154 #
155 # Format: Free string
156 #
157 # Example: In Spain, if sn = Lopez de la Moraleda y de Las Altas Alcurnias
158 # and that person uses Lopez de la Moraleda as the first component
159 # of the surname we can write:
160 #
161 # schacSn1: Lopez de la Moraleda
162 #
163 # In Poland, if sn = Gorecka-Wolniewicz and we decide to use the
164 # national convention for the sn attribute, we can write:
165 #
166 # schacSn1: Wolniewicz
167 #
168 attributetype ( schacAttributeType:6
169 NAME 'schacSn1'
170 DESC 'First surname of a person'
171 EQUALITY caseIgnoreMatch
172 ORDERING caseIgnoreOrderingMatch
173 SUBSTR caseIgnoreSubstringsMatch
174 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
175
176 #
177 # schacSn2
178 #
179 # Descrip: Second surname of a person (how this is assigned is a local matter).
180 #
181 # schacSn2 would contain whatever values the described person
182 # thinks they should contain. Splitting shall be done by humans.
183 # That means that, when filling a SCHAC-based description that
184 # allows the use of schacSn1 and schacSn2, the administrators
185 # must ask for 1st surname and 2nd surname (if applicable) as well
186 # as they do for givenName, surname, etc.
187 #
188 # Format: Free string
189 #
190 # Example: In Spain, if sn = Lopez de la Moraleda y de Las Altas Alcurnias
191 # and that person uses Lopez de la Moraleda as the second component
192 # of the surname we can write:
193 #
194 # schacSn2: de Las Altas Alcurnias
195 #
196 # In Poland, if sn = Gorecka-Wolniewicz and we decide to use the
197 # national convention for the sn attribute, we can write:
198 #
199 # schacSn2: Gorecka
200 #
201 attributetype ( schacAttributeType:7
202 NAME 'schacSn2'
203 DESC 'Second surname of a person'
204 EQUALITY caseIgnoreMatch
205 ORDERING caseIgnoreOrderingMatch
206 SUBSTR caseIgnoreSubstringsMatch
207 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
208
209 #
210 # schacPersonalTitle
211 #
212 # Descrip: The Personal Title attribute type specifies a personal title
213 # or salutation for a person. Examples of personal titles are
214 # "Ms", "Dr", "Prof", "Rev", "Sr".
215 #
216 # Format: Free string
217 #
218 # Example: schacPersonalTitle: Prof
219 #
220 attributetype ( schacAttributeType:8
221 NAME 'schacPersonalTitle'
222 DESC 'RFC1274: personal title'
223 EQUALITY caseIgnoreMatch
224 SUBSTR caseIgnoreSubstringsMatch
225 SINGLE-VALUE
226 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
227
228 #
229 # schacHomeOrganization
230 #
231 # Descrip: Specifies a person´s home organization using the domain name
232 # of the organization
233 #
234 # Format: Domain name acording to RFC 1035.
235 #
236 # Example: schacHomeOrganization: tut.fi
237 #
238 attributetype ( schacAttributeType:9
239 NAME 'schacHomeOrganization'
240 DESC 'Domain name of the home organization'
241 EQUALITY caseIgnoreMatch
242 SUBSTR caseIgnoreSubstringsMatch
243 SINGLE-VALUE
244 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
245
246 #
247 # schacHomeOrganizationType
248 #
249 # Descrip: Type of a Home Organization
250 #
251 # Format: urn:mace:terena.org:schac:homeOrganizationType:<country-code>:<string>
252 #
253 # - The <country-code> must be a valid two-letter ISO 3166
254 # country code identifier or the string "int", and assigned by
255 # TERENA URN Registry for this attribute at
256 # http://www.terena.org/registry/terena.org/schac/homeOrganizationType/
257 #
258 # - <string> from a nationally controlled vocabulary, published
259 # through the URI identified at the above mentioned TERENA URN
260 # registry
261 #
262 # Example: Common values:
263 #
264 # urn:mace:terena.org:schac:homeOrganizationType:int:university
265 # urn:mace:terena.org:schac:homeOrganizationType:int:uas
266 # urn:mace:terena.org:schac:homeOrganizationType:int:research-institution
267 # urn:mace:terena.org:schac:homeOrganizationType:int:university-hospital
268 # urn:mace:terena.org:schac:homeOrganizationType:int:nren
269 # urn:mace:terena.org:schac:homeOrganizationType:int:other
270 #
271 # National extensions:
272 #
273 # urn:mace:terena.org:schac:homeOrganizationType:ch:vho
274 # urn:mace:terena.org:schac:homeOrganizationType:es:opi
275 #
276 attributetype ( schacAttributeType:10
277 NAME 'schacHomeOrganizationType'
278 DESC 'Type of the home organization'
279 EQUALITY caseIgnoreMatch
280 SINGLE-VALUE
281 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
282
283 #
284 # schacCountryOfResidence
285 #
286 # Descrip: Specifies the (claimed) country of residence for the subject
287 # is associated with.
288 #
289 # Format: Two-letter country acronym in accordance with ISO 3166 country
290 # code identifier.
291 #
292 # Example: schacCountryOfResidence: es
293 #
294 attributetype ( schacAttributeType:11
295 NAME 'schacCountryOfResidence'
296 DESC 'Country of citizenship of a person. Format two-letter acronym according to ISO 3166'
297 EQUALITY caseIgnoreMatch
298 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
299
300 #
301 # schacUserPresenceID
302 #
303 # Descrip: To store a set of user identifiers in presence and instant
304 # messaging systems and protocols
305 #
306 # Format: URI
307 #
308 # Example: schacUserPresenceID: xmpp:pepe@im.univx.es
309 # schacUserPresenceID: sip:jose.perez@myweb.es
310 # schacUserPresenceID: sip:+34-95-505-6600@univx.es;transport=TCP;user=phone
311 # schacUserPresenceID: sips:alice@atlanta.com?subject=project%20x&priority=urgent
312 # schacUserPresenceID: h323:pepe@myweb.fi:808;pars
313 # schacUserPresenceID: skype:pepe.perez
314 #
315 attributetype ( schacAttributeType:12
316 NAME 'schacUserPresenceID'
317 DESC 'Used to store a set of values related to the network presence'
318 EQUALITY caseExactMatch
319 SUBSTR caseExactSubstringsMatch
320 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
321
322 #
323 # schacPersonalPosition
324 #
325 # Descrip: Specifies a personal position inside an institution
326 #
327 # Format: urn:mace:terena.org:schac:personalPosition:<country-code><domain><iNSS>
328 #
329 # - The <country-code> must be a valid two-letter ISO 3166 country
330 # code identifier or the string "int", and assigned by the
331 # TERENA URN Registry for this attribute at
332 # http://www.terena.org/registry/terena.org/schac/personalPosition/
333 #
334 # - <domain> is the institution domain name acording to RFC 1035
335 #
336 # - <iNSS> is a Namespace Specific String as defined in RFC 2141
337 # but case insenstitive. Valid components for it are those
338 # specified (or explicitly delegated) by the TERENA URN Registry
339 # for this attribute at
340 # http://www.terena.org/registry/terena.org/schac/personalPosition/
341 #
342 # Example: schacPersonalPosition: urn:mace:terena.org:schac:personalPosition:umk.pl:programmer
343 #
344 attributetype ( schacAttributeType:13
345 NAME 'schacPersonalPosition'
346 DESC 'Position inside an institution'
347 EQUALITY caseIgnoreMatch
348 SUBSTR caseIgnoreSubstringsMatch
349 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
350
351 #
352 # schacPersonalUniqueCode
353 #
354 # Descrip: Specifies a "unique code" for the subject it is associated with.
355 # Its value does not necessarily correspond to any identifier
356 # outside the scope of the directories using this schema.
357 #
358 # This might be Student number, Employee number,...
359 #
360 # Format: urn:mace:terena.org:schac:personalUniqueCode:<country-code>:<iNSS>
361 #
362 # - The <country-code> must be a valid two-letter ISO 3166 country
363 # code identifier or the string "int", and assigned by the TERENA
364 # URN Registry for this attribute at
365 # http://www.terena.org/registry/terena.org/schac/personalUniqueCode/
366 #
367 # - <iNSS> is a Namespace Specific String as defined in RFC 2141
368 # but case insensitive.
369 #
370 # Example: Common Values:
371 #
372 # urn:mace:terena.org:schac:personalUniqueCode:int:studentID:<country-code>:<code>
373 #
374 # National extensions:
375 #
376 # urn:mace:terena.org:schac:personalUniqueCode:fi:tut.fi:hetu:010161-995A
377 # urn:mace:terena.org:schac:personalUniqueCode:es:uma:estudiante:a3b123c12
378 # urn:mace:terena.org:schac:personalUniqueCode:se:LIN:87654321
379 #
380 attributetype ( schacAttributeType:14
381 NAME 'schacPersonalUniqueCode'
382 DESC 'unique code for the subject'
383 EQUALITY caseIgnoreMatch
384 ORDERING caseIgnoreOrderingMatch
385 SUBSTR caseIgnoreSubstringsMatch
386 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
387
388 #
389 # schacPersonalUniqueID
390 #
391 # Descrip: Specifies a "legal unique identifier" for the subject it
392 # is associated with.
393 # This might be DNI in Spain, FIC in Finland, NIN in Sweden.
394 #
395 # Format: urn:mace:terena.org:schac:personalUniqueID:<country-code>:<idType>:<idValue>
396 #
397 # - The <country-code> must be a valid two-letter ISO 3166 country
398 # code identifier or the string "int", and assigned by the TERENA
399 # URN Registry for this attribute at
400 # http://www.terena.org/registry/terena.org/schac/personalUniqueID/
401 #
402 # - <idType>. Acceptable values must be declared per each country
403 # code through the URI identified at the above mentioned TERENA URN
404 # registry.
405 #
406 # - <idValue>
407 #
408 # Example: National extensions
409 #
410 # urn:mace:terena.org:schac:personalUniqueID:fi:FIC:260667-123F
411 # urn:mace:terena.org:schac:personalUniqueID:es:NIF:31241312L
412 # urn:mace:terena.org:schac:personalUniquelD:se:NIN:12345678
413 #
414 attributetype ( schacAttributeType:15
415 NAME 'schacPersonalUniqueID'
416 DESC 'Unique identifier for the subject'
417 EQUALITY caseExactMatch
418 ORDERING caseExactOrderingMatch
419 SUBSTR caseExactSubstringsMatch
420 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
421
422 #
423 # schacExpiryDate
424 #
425 # Descrip: The date from which the set of data is to be considered
426 # invalid (specifically, in what refers to rights and
427 # entitlements). This date applies to the entry as a whole.
428 #
429 # Format: schacExpiryDate values MUST be expressed Greenwich Mean
430 # Time (Zulu) and MUST include seconds (i.e., times are
431 # YYYYMMDDhhmmssZ), even where the number of seconds is zero.
432 # GeneralizedTime values MUST NOT include fractional seconds.
433 #
434 # Example: schacExpiryDate: 20051231125959Z
435 #
436 attributetype ( schacAttributeType:17
437 NAME 'schacExpiryDate'
438 DESC 'Date from which the set of data is to be considered invalid (format YYYYMMDDhhmmssZ)'
439 EQUALITY generalizedTimeMatch
440 ORDERING generalizedTimeOrderingMatch
441 SINGLE-VALUE
442 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
443
444 #
445 # schacUserPrivateAttribute
446 #
447 # Descrip: Used to model privacy requirements, as expressed by the user
448 # and/or the organizational policies. The values are intended
449 # to be attribute type names and applies to the attribute and i
450 # any subtypes of it for a given entity.
451 #
452 # In what respects to data exchange, it applies to the
453 # expression of privacy requirements.
454 #
455 # This attribute can also have specific operational semantics
456 # that will be defined in a separate document.
457 #
458 # Format: An attribute type identifier.
459 # Operational semantics may imply specific values as wildcards.
460 #
461 # Example: Attributes mail and telephoneNumber are considered private
462 #
463 # schacUserPrivateAttribute: mail
464 # schacUserPrivateAttribute: telephoneNumber
465 #
466 attributetype ( schacAttributeType:18
467 NAME 'schacUserPrivateAttribute'
468 DESC 'Set of denied access attributes'
469 EQUALITY caseIgnoreIA5Match
470 SUBSTR caseIgnoreIA5SubstringsMatch
471 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
472
473 #
474 # schacUserStatus
475 #
476 # Descrip: Used to store a set of status of a person as user of services
477 #
478 # Format: urn:mace:terena.org:schac:userStatus:<country-code>:<domain>:<iNSS>
479 #
480 # - The <country-code> must be a valid two-letter ISO 3166 country
481 # code identifier or the string "int", and assigned by the TERENA
482 # URN Registry for this attribute at
483 # http://www.terena.org/registry/terena.org/schac/userStatus/
484 #
485 # - <domain> is the institution domain name acording to RFC 1035
486 #
487 # - <iNSS> is a Namespace Specific String as defined in RFC 2141
488 # but case insensitive.
489 #
490 # Example: To store different user activity states at University of
491 # Málaga (uma.es):
492 #
493 # urn:mace:terena.org:schac:userStatus:es:uma.es:affiliation:expired
494 # urn:mace:terena.org:schac:userStatus:es:uma.es:sendMail:expired
495 # urn:mace:terena.org:schac:userStatus:es:uma.es:getMail:active
496 #
497 # A parameter in the URN can be used to represent the temporal
498 # validity of the satus:
499 #
500 # urn:mace:terena.org:schac:userStatus:ujl.si:webmail:active+ttl=20060531
501 #
502 attributetype ( schacAttributeType:19
503 NAME 'schacUserStatus'
504 DESC 'Used to store a set of status of a person as user of services'
505 EQUALITY caseIgnoreMatch
506 SUBSTR caseIgnoreSubstringsMatch
507 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
508
509 #----------------------------------------------------------------------
510 # ObjectClasses
511 #----------------------------------------------------------------------
512 objectClass ( schacObjectClass:1
513 NAME 'schacPersonalCharacteristics'
514 DESC 'Personal characteristics describe the individual person represented by the entry'
515 AUXILIARY
516 MAY ( schacMotherTongue $ schacGender $ schacDateOfBirth $
517 schacPlaceOfBirth $ schacCountryOfCitizenship $
518 schacSn1 $ schacSn2 $ schacPersonalTitle ) )
519
520 objectClass ( schacObjectClass:2
521 NAME 'schacContactLocation'
522 DESC 'Primary means of locating and contacting potential collaborators and other persons-of-interest at peer institutions'
523 AUXILIARY
524 MAY ( schacHomeOrganization $ schacHomeOrganizationType $
525 schacCountryOfResidence $ schacUserPresenceID ) )
526
527 objectClass ( schacObjectClass:3
528 NAME 'schacEmployeeInfo'
529 DESC 'Employee information includes attributes that have relevance to the employee role, such as position, office hours, and job title'
530 AUXILIARY
531 MAY ( schacPersonalPosition ) )
532
533 objectClass ( schacObjectClass:4
534 NAME 'schacLinkageIdentifiers'
535 DESC 'Used to link a directory entry with records in external data stores or other directory entries'
536 AUXILIARY
537 MAY ( schacPersonalUniqueCode $ schacPersonalUniqueID ) )
538
539 objectClass ( schacObjectClass:5
540 NAME 'schacEntryMetadata'
541 DESC 'Used to contain information about the entry itself, often its status, birth, and death'
542 AUXILIARY
543 MAY ( schacExpiryDate ) )
544
545 objectClass ( schacObjectClass:6
546 NAME 'schacEntryConfidentiality'
547 DESC 'Used to indicate whether an entry is visible publicly, visible only to affiliates of the institution, or not visible at all'
548 AUXILIARY
549 MAY ( schacUserPrivateAttribute ) )
550
551 objectClass ( schacObjectClass:7
552 NAME 'schacUserEntitlements'
553 DESC 'Authorization for services'
554 AUXILIARY
555 MAY ( schacUserStatus ) )
556
557 #----------------------------------------------------------------------
558 # End of SCHAC schema
559 #----------------------------------------------------------------------
560

grid.support@nikhef.nl
ViewVC Help
Powered by ViewVC 1.1.28