[prev in list] [next in list] [prev in thread] [next in thread]
List: kolab-devel
Subject: [Kolab-devel] Adding features to kolab2.schema
From: Martin Konold <martin.konold () erfrakon ! de>
Date: 2009-02-26 11:50:46
Message-ID: 200902261250.47814.martin.konold () erfrakon ! de
[Download RAW message or body]
Hi,
I am proposing the attached patch to kolab2.schema and adding some external
definitions (external.kolab.schema) to the Kolab delivery.
The ideas are following:
- add the following attributes to kolabInetOrgPerson
-- dateOfBirth
-- placeOfBirth
-- birthName
-- gender
-- countryOfCitizenship
-- countryOfResidence
-- legalForm
-- tradeRegisterLocation
-- tradeRegisterIdentifier
-- VATNumber
-- germanTaxId
- and add the following new objectclasses
-- kolabExternalPop3Account
--- this is useful to integrate agregation of externel pop3 accounts e.g. via
fetchmail
-- kolabGermanBankArrangement
--- often used for billing etc.
All newly added features and modifications are 100% backwards compatible and
currently erfrakon.de runs on this enhanced LDAP directory schema.
In general I would like to hear your opinion about the proposed change.
Especially I would like to know if you think that the added complexity of
seperating legal person (like a company or a foundation) from a natural person
(individual) is worthwile?
(I have my doubts because mail for a company is not so much different from
mail for an individual)
Yours,
-- martin
--
e r f r a k o n
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker
Sitz: Adolfstraße 23, 70469 Stuttgart, Partnerschaftsregister Stuttgart PR 126
http://www.erfrakon.com/
["external.kolab.schema" (text/plain)]
# /kolab/etc/openldap/schema/external.kolab.schema
# LDAP schema extension for Kolab
#
# Prefix for OIDs: depending on source
# Prefix for names: depending on source
# Postfix for object classes: Object
#
# extended from apple.schema
attributetype ( 1.3.6.1.4.1.63.1000.1.1.1.1.27
NAME ( 'apple-birthday' 'dateOfBirth' 'dateOfIncorporation' )
DESC 'Birthday or date of incorporation'
EQUALITY generalizedTimeMatch
SUBSTR caseExactIA5SubstringsMatch
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
# from http://www.stroeder.com/stroeder.com.schema
attributetype ( 1.3.6.1.4.1.5427.1.389.4.12
NAME ( 'birthPlace' 'placeOfBirth' )
DESC 'Place of birth'
SUP l
SINGLE-VALUE )
# from http://www.stroeder.com/stroeder.com.schema
attributetype ( 1.3.6.1.4.1.5427.1.389.4.14
NAME 'birthName'
DESC 'Last name at time of birth, e.g. maiden name'
SUP sn
SINGLE-VALUE )
# from http://www.stroeder.com/stroeder.com.schema
# The following data items and codes are used (see ISO 5218):
# Not known 0
# Male 1
# Female 2
# Not specified 9
#
attributetype ( 1.3.6.1.4.1.5427.1.389.4.7
NAME 'gender'
DESC 'Representation of human sex (see ISO 5218)'
EQUALITY integerMatch
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{1} )
# from http://www.stroeder.com/stroeder.com.schema
# tax ID of person or company within Germany
#
attributetype ( 1.3.6.1.4.1.5427.1.389.4.666
NAME 'germanTaxId'
DESC 'tax ID of person or company within Germany'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{20} )
# rfc 3039
# ISO 3166 Country Code
# multiple citizenships are possible!
attributetype ( 1.3.6.1.5.5.7.9.4
NAME 'countryOfCitizenship'
DESC 'Country of citizenship'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.11 )
# ISO 3166 Country Code
attributetype ( 1.3.6.1.5.5.7.9.5
NAME 'countryOfResidence'
DESC 'Country of residence'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.11 )
attributetype ( 1.3.6.1.4.1.5427.1.389.4.661
NAME 'germanBankAccountNumber'
DESC 'The 8-digits number of a german bank account without spaces'
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{10} )
attributetype ( 1.3.6.1.4.1.5427.1.389.4.662
NAME 'germanBankCode'
DESC 'The 8-digits number of a german bank code (BLZ) without spaces'
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{8} )
attributetype ( 1.3.6.1.4.1.5427.1.389.4.663
NAME 'germanBankName'
DESC 'The name of a german bank registered in the BLZ table published by Deutsche \
Bundesbank.' SUP name
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.5427.1.389.4.664
NAME 'germanBankAccountInfo'
DESC 'Composed field containing a one-line human-readable representation of all \
necessary information.' SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
attributetype ( 1.3.6.1.4.1.5427.1.389.4.665
NAME 'germanBankAccountHolder'
DESC 'The name of the holder of a german bank account commonly used as recipient \
name.' SINGLE-VALUE
SUP name )
# http://www.daasi.de/
attributetype ( 1.3.6.1.4.1.5062.1.1.3.16
NAME 'legalForm'
DESC 'legal form of a company'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# http://www.daasi.de/
# location of the trade register authority
attributetype ( 1.3.6.1.4.1.5062.1.1.3.17
NAME 'tradeRegisterLocation'
DESC 'Location of the trade registrar where the organization is registered'
SUP l
SINGLE-VALUE )
# http://www.daasi.de/
# registration number a the trade register authority
attributetype ( 1.3.6.1.4.1.5062.1.1.3.18
NAME 'tradeRegisterIdentifier'
DESC 'Idientifier with which an organization is registered'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SINGLE-VALUE
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# https://forxa.mancomun.org/plugins/scmsvn/viewcvs.php/trunk/ldap/dxpisi.schema?annotate=29&root=mancomun
# VATNumber
# Identifier number for companies and persons. In Spain it is the same as NIF/CIF.
# In Germany it is called Umsatzsteueridentifikationsnummer.
attributetype ( 1.3.6.1.4.1.27994.1.3.4
NAME 'VATNumber'
DESC 'Identifier number for companies and persons'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{10} )
objectclass ( 1.3.6.1.4.1.5427.11.3.6.1.4.1.5427.1.389.6.660
NAME 'germanBankArrangement'
DESC 'German bank account information'
SUP top STRUCTURAL
MUST ( germanBankAccountNumber $ germanBankCode )
MAY ( germanBankAccountHolder $ germanBankName $ germanBankAccountInfo ) )
# end of external Kolab schema
["kolab2.schema.patch" (text/x-patch)]
Index: kolab2.schema
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab2.schema,v
retrieving revision 1.33
diff -u -u -r1.33 kolab2.schema
--- kolab2.schema 30 Jan 2009 12:00:49 -0000 1.33
+++ kolab2.schema 26 Feb 2009 11:17:04 -0000
@@ -1,6 +1,6 @@
# $Id: kolab2.schema,v 1.33 2009/01/30 12:00:49 thomas Exp $
# (c) 2003, 2004 Tassilo Erlewein <tassilo.erlewein@erfrakon.de>
-# (c) 2003-2007 Martin Konold <martin.konold@erfrakon.de>
+# (c) 2003-2009 Martin Konold <martin.konold@erfrakon.de>
# (c) 2003 Achim Frank <achim.frank@erfrakon.de>
#
# Redistribution and use in source and binary forms, with or without
@@ -38,6 +38,12 @@
# include /kolab/etc/openldap/schema/rfc2739.schema
# include /kolab/etc/openldap/schema/kolab2.schema
+# Prefix for OIDs: 1.3.6.1.4.1.19414 <- registered
+# Prefix for OIDs: 1.3.6.1.4.1.19414.2000 <-- temporarily reserved for ob
+# Prefix for attributes: 1.3.6.1.4.1.19414.1
+# Prefix for attributes: 1.3.6.1.4.1.19414.2
+# Prefix for objectclasses: 1.3.6.1.4.1.19414.3
+# nameprefix: kolab
#
####################
# kolab attributes #
@@ -317,20 +323,136 @@
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{512} )
-# kolabFolderType describes the kind of Kolab folder
-# as defined in the kolab format specification.
-# We will annotate all folders with an entry
-# /vendor/kolab/folder-type containing the attribute
-# value.shared set to: <type>[.<subtype>].
-# The <type> can be: mail, event, journal, task, note,
-# or contact. The <subtype> for a mail folder can be
-# inbox, drafts, sentitems, or junkemail (this one holds
-# spam mails). For the other <type>s, it can only be
-# default, or not set. For other types of folders
-# supported by the clients, these should be prefixed with
-# "k-" for KMail, "h-" for Horde and "o-" for Outlook, and
-# look like for example "kolab.o-voicemail". Other third-party
-# clients shall use the "x-" prefix.
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.19
+ NAME 'kolabSalutation'
+ DESC 'Salutation like Mr., Mrs, Herr, Frau)'
+ EQUALITY caseIgnoreMatch
+ SUBSTR caseIgnoreSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} )
+
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.20
+ NAME 'kolabMaritalStatus'
+ DESC 'ledig(0), verh.(1)} DEFAULT ledig'
+ EQUALITY integerMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{1} )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.21
+ NAME ( 'homeFacsimileTelephoneNumber' 'homeFaxNumber' )
+ DESC 'private facsimilie telephone number'
+ SUP telephoneNumber )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.25
+ NAME 'bylawURI'
+ DESC 'URI pointing at the bylaw'
+ SUP labeledURI
+ SINGLE-VALUE )
+
+# Single string with $ seperated lines consisting of
+# surname $
+# givenName $
+# dateOfBirth $
+# restrictions $
+# signer of contract ('true'/'false')
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.27
+ NAME 'legalRepresentative'
+ DESC 'legal representative'
+ EQUALITY caseIgnoreListMatch
+ SUBSTR caseIgnoreListSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
+
+# Single string with $ seperated lines consisting of
+# surname $
+# givenName $
+# dateOfBirth $
+# restrictions $
+# signer of contract ('true'/'false')
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.28
+ NAME 'commercialProcuration'
+ DESC 'described person which has commercial procuration'
+ EQUALITY caseIgnoreListMatch
+ SUBSTR caseIgnoreListSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.29
+ NAME 'legalRepresentationPolicy'
+ DESC 'described how legal representation works'
+ EQUALITY caseIgnoreMatch
+ SUBSTR caseIgnoreSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.31
+ NAME 'inLiquidation'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.32
+ NAME 'tradeRegisterRegisteredCapital'
+ EQUALITY integerMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.33
+ NAME 'tradeRegisterType'
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.36
+ NAME 'tradeRegisterURI'
+ SUP labeledURI
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.37
+ NAME 'tradeRegisterLastChangedDate'
+ EQUALITY generalizedTimeMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.38
+ NAME 'kolabGermanBankAccountNumber'
+ DESC 'The 8-digits number of a german bank account without spaces'
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{10} )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.39
+ NAME 'kolabGermanBankCode'
+ DESC 'The 8-digits number of a german bank code (BLZ) without spaces'
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{8} )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.40
+ NAME 'kolabGermanBankName'
+ DESC 'The name of a german bank registered in the BLZ table published by Deutsche \
Bundesbank.' + SUP name
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.41
+ NAME 'kolabGermanBankAccountInfo'
+ DESC 'Composed field containing a one-line human-readable representation of all \
necessary information.' + SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+
+attributetype ( 1.3.6.1.4.1.19414.1.1.1.42
+ NAME 'kolabGermanBankAccountHolder'
+ DESC 'The name of the holder of a german bank account commonly used as recipient \
name.' + SINGLE-VALUE
+ SUP name )
+
+# kolabFolderType describes the kind of Kolab folder
+# as defined in the kolab format specification.
+# We will annotate all folders with an entry
+# /vendor/kolab/folder-type containing the attribute
+# value.shared set to: <type>[.<subtype>].
+# The <type> can be: mail, event, journal, task, note,
+# or contact. The <subtype> for a mail folder can be
+# inbox, drafts, sentitems, or junkemail (this one holds
+# spam mails). For the other <type>s, it can only be
+# default, or not set. For other types of folders
+# supported by the clients, these should be prefixed with
+# "k-" for KMail, "h-" for Horde and "o-" for Outlook, and
+# look like for example "kolab.o-voicemail". Other third-party
+# clients shall use the "x-" prefix.
# We then use the ANNOTATEMORE IMAP extension to
# associate the folder type with a folder.
attributetype ( 1.3.6.1.4.1.19414.2.1.7
@@ -569,6 +691,81 @@
NAME 'proftpd-userPassword'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
+########################################################################
+# pop3 service attributes (suitable to integrate external pop3 sources #
+########################################################################
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1001
+ NAME 'externalPop3AccountDescription'
+ DESC 'a human readable description of the external POP3 account e.g. my gmail \
account' + SUP description
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1002
+ NAME 'externalPop3AccountMail'
+ DESC 'email address associated with the external POP3 account e.g. \
givenname.surname@gmail.com' + SUP mail )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1003
+ NAME 'externalPop3AccountServer'
+ DESC 'Pop3 server associated with the external POP3 account e.g. \
pop3.provider.com' + SUP fqdnhostname
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1004
+ NAME 'externalPop3AccountPort'
+ DESC 'TCP port number used for pop3 service associated with the external POP3 \
account e.g. 110' + EQUALITY integerMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{5} )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1005
+ NAME 'externalPop3AccountUseSSL'
+ DESC 'boolean defining if SSL must be used for external POP3 account - requires \
suitable externalPop3AccountPort' + EQUALITY booleanMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1006
+ NAME 'externalPop3AccountUseTLS'
+ DESC 'boolean defining if TLS must be used for external POP3 account'
+ EQUALITY booleanMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
+
+# sometimes useful for self-signed certificates
+attributetype ( 1.3.6.1.4.1.19414.2.1.1007
+ NAME 'externalPop3AccountCheckServerCertificate'
+ DESC 'allows to disable checking server certificates when using SSL or TLS - \
beware of MIT-attacks!' + EQUALITY booleanMatch
+ SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1008
+ NAME 'externalPop3AccountLoginName'
+ DESC 'name used to login into pop3 account often this uid is equivalent to the \
email address' + SUP uid
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1009
+ NAME 'externalPop3EncryptedAccountPassword'
+ DESC 'encryped password for the external POP3 account - secret key must be known \
to the pop3 fetch service' + SINGLE-VALUE
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.40)
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1010
+ NAME 'externalPop3AccountKeepMailOnServer'
+ DESC 'controls if fetched message shall remain on external POP3 server - beware \
this is often unreliable' + EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
+
+attributetype ( 1.3.6.1.4.1.19414.2.1.1011
+ NAME 'externalPop3AccountLoginMethod'
+ DESC 'login method used for external POP3 account - currently these are plainText, \
LOGIN, PLAIN, NTLM, DIGEST-MD5, CRAM-MD5, GSSAPI and APOP' + EQUALITY \
caseIgnoreIA5Match + SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} )
+
########################
# kolab object classes #
########################
@@ -675,6 +872,17 @@
kolabForwardKeepCopy $
kolabForwardUCE $
kolabAllowSMTPRecipient $
+ dateOfBirth $
+ placeOfBirth $
+ birthName $
+ gender $
+ countryOfCitizenship $
+ countryOfResidence $
+ legalForm $
+ tradeRegisterLocation $
+ tradeRegisterIdentifier $
+ VATNumber $
+ germanTaxId $
kolabDeleteflag $
kolabComment ) )
@@ -711,3 +919,29 @@
SUP groupOfNames STRUCTURAL
MAY ( mail $
kolabDeleteflag ) )
+
+objectclass ( 1.3.6.1.4.1.19414.3.2.6
+ NAME 'kolabExternalPop3Account'
+ DESC 'kolab fetch messages via POP3 from external sources'
+ SUP top STRUCTURAL
+ MUST ( externalPop3AccountServer $
+ externalPop3AccountLoginName $
+ externalPop3EncryptedAccountPassword )
+ MAY ( externalPop3AccountDescription $
+ externalPop3AccountMail $
+ externalPop3AccountPort $
+ externalPop3AccountUseSSL $
+ externalPop3AccountUseTLS $
+ externalPop3AccountLoginMethod $
+ externalPop3AccountCheckServerCertificate $
+ externalPop3AccountKeepMailOnServer ) )
+
+objectclass ( 1.3.6.1.4.1.19414.3.2.7
+ NAME 'kolabGermanBankArrangement'
+ DESC 'German bank account information'
+ SUP top STRUCTURAL
+ MUST ( kolabGermanBankAccountNumber $
+ kolabGermanBankCode )
+ MAY ( kolabGermanBankAccountHolder $
+ kolabGermanBankName $
+ kolabGermanBankAccountInfo ) )
_______________________________________________
Kolab-devel mailing list
Kolab-devel@kolab.org
https://kolab.org/mailman/listinfo/kolab-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic