- Contents
Using LDAP for CIC Contact Lists Technical Reference
i3person_map.txt example file
The following attribute mapping file is available at https://my.inin.com/support/products/ic40/Pages/Utilities-Downloads.aspx.
;****************************************************************************** ;* CIC Contact Attribute Mapping File for the "i3person" ObjectClass* ;* * ;* Purpose: To define the mappings between the CIC contact attributes and the * ;* corresponding LDAP attributes. In addition, it also allows * ;* the (optional) specification of a default value, as well as * ;* whether or not the attribute is read-only or read-write. * ;* * ;* Syntax/Notes: * ;* 1) The basic syntax is: * ;* <ICAttrib> : [<LDAPAttrib>[,<RoRwFlag>[,<DefaultVal>]]] * ;* - or - * ;* NON_IC_ATTRIB_<num> : <LDAPAttrib>,RO[,<DefaultVal>] * ;* See 6 note below for extended syntax for ICAttr; see note 7 * ;* below for information on non-IC attributes. * ;* 2) Blank or comment lines are ignored; comment lines start with * ;* a semicolon. * ;* 3) The case of the attributes and the case of the RO/RW flag * ;* does not matter. * ;* 4) If an LDAP attribute is not specified (i.e. blank), then it * ;* implies that there is no LDAP attribute for the corresponding * ;* CIC attribute - which will cause the CIC attribute to be * ;* ignored/disabled. * ;* 5) The RO/RW flag can be set to: * ;* a. RO - The value is read-only and will not be updated. * ;* However, if a default value is specified, it will be * ;* used for inserting. Note that for non-CIC attributes, * ;* RO is always used. * ;* b. RW - The value is read-write and will be updated. If a * ;* default value is specified, it will be used for * ;* inserting. * ;* c. (blank) - The default, which is RW for CIC attributes, RO * ;* for non-CIC attributes. * ;* 6) If the attribute is multi-valued, and you want the multiple * ;* values to be presented together with a separator string * ;* between each, then append a [<sep>] to the attribute. * ;* For example: objectclass[;] * ;* When specifying multiple default values, use this separator * ;* between each; for example: top;person;organizationalperson * ;* Note that separator strings may have more than one character * ;* (e.g. &&, --foo--), and it is up to you to choose a separator * ;* string that will not happen to occur in the middle of any * ;* values. * ;* 7) You may specify other, non-CIC attributes; this is very useful * ;* for inserting values for required, non-CIC attributes. The * ;* "CIC" attribute you use is NON_IC_ATTRIB_<num>, where num is * ;* the sequential number of the attribute, starting from 1. * ;* For example: * ;* NON_IC_ATTRIB_1, NON_IC_ATTRIB_2, NON_IC_ATTRIB_3, etc. * ;* Note: There cannot be any gaps in the sequence; so if you * ;* were to delete NON_IC_ATTRIB_2, you must rename * ;* NON_IC_ATTRIB_3 to NON_IC_ATTRIB_2 (and so on for all * ;* non-IC attributes greater than 2). * ;* 8) You may use substitution variables (defined in a user mapping * ;* file) for default values. For example: * ;* OWNER : i3owner, RO, $USER$ * ;* See the online help in IA for documentation for the user * ;* mapping file usage and syntax. * ;* Notes: 1. User-related substitution values are only useful * ;* for private contact sources. * ;* 2. Case is preserved (i.e. you need to match what * ;* was given in the user mapping file). * ;* 9) You may use the built-in substitution variables for default * ;* values. These are: * ;* $ICUID - The CIC user ID (note that this is really only * ;* useful for private contact sources). * ;* $CONTACTSOURCE - The contact (DataManager) data source. * ;* For example: Our Public Contacts * ;* $BINDDN - The DN used to bind with, as specified in the * ;* CIC data source configuration. * ;* $SEARCHDN - The search DN as specified in the CIC data source* ;* or overridden in the contact list source, * ;* $SEARCHDNPARENT - The parent DN of the configured search DN* ;* $ENTRYDN - The DN of this contact entry. * ;* Note: These must be in UPPER case. * ;* * ;****************************************************************************** ;------------------------------------------------------------------------------ ; CIC Attribute : LDAP Attribute[sep], RO/RW, Default Value ;------------------------------------------------------------------------------ ID : dn, RO OWNER : i3owner, RO, $ICUID ACCESS : i3access NAME : cn LASTNAME : sn FIRSTNAME : givenname HOMEADDRESS : i3homeaddress HOMECITY : i3homecity HOMESTATE : i3homestate HOMEZIP : i3homezip HOMEPHONE : homephone COMPANY : o TITLE : title DEPARTMENT : departmentnumber BUSINESSADDRESS : street BUSINESSCITY : l BUSINESSSTATE : st BUSINESSZIP : postalcode BUSINESSCOUNTRY : i3businesscountry BUSINESSEMAIL : mail ASSISTANT : secretary HOMECOUNTRY : i3homecountry HOMEEMAIL : i3homeemail BUSINESSPHONE : telephonenumber BUSINESSPHONE2 : i3businessphone2 HOMEPHONE2 : i3homephone2 MOBILE : mobile FAX : facsimiletelephonenumber PAGER : pager ASSISTANTPHONE : i3assistantphone URL : labeleduri PRIMARYNUMBER : i3primarynumber NOTES : description ;---------------- Other non-CIC, but needed attributes--------------------- NON_IC_ATTRIB_1 : objectclass[;], RO, top;Person;organizationalperson;inetorgperson;i3person ; By default, both PUBLIC and PRIVATE contact entries are parented by by ; a folder (i3genfolder by default), and therefore do not have ACI entries ; (i.e. they use the ACI of their parent folder). ; This ACI would be suitable for a PRIVATE contact source that has the contact ; entries parented directly by the user entry. ; NON_IC_ATTRIB_2 : aci[&&], RO, (target="ldap:///$ENTRYDN")(targetattr="*")(version 3.0; acl "Hide from everyone except EIC and contact owner."; deny (all) userdn != "ldap:///$BINDDN||ldap:///$SEARCHDN";) && (target="ldap:///$ENTRYDN")(targetattr="*")(version 3.0; acl "Allow EIC and contact owner all access."; allow (all) userdn = "ldap:///$BINDDN||ldap:///$SEARCHDN";) ; This ACI would be suitable for a PUBLIC contact source that has the contact ; entries parented by a non-folder entry (e.g. the People ou). ; NON_IC_ATTRIB_2 : aci[&&], RO, (target="ldap:///$ENTRYDN")(targetattr="*")(version 3.0; acl "Allow CIC all access."; allow (all) userdn = "ldap:///$BINDDN";)

