subjectApi.source.ldap.id = eduLDAP
subjectApi.source.ldap.name = EDU Ldap
subjectApi.source.ldap.types = person
subjectApi.source.ldap.adapterClass = edu.internet2.middleware.grouper.subj.GrouperLdapSourceAdapter2_5
subjectApi.source.ldap.param.ldapServerId.value = demo
subjectApi.source.ldap.param.SubjectID_AttributeType.value = employeeNumber
subjectApi.source.ldap.param.Name_AttributeType.value = cn
subjectApi.source.ldap.param.Description_AttributeType.value = cn
subjectApi.source.ldap.param.emailAttributeName.value = mail
subjectApi.source.ldap.numberOfAttributes = 7
subjectApi.source.ldap.attribute.0.name = uid
subjectApi.source.ldap.attribute.0.subjectIdentifier = true
subjectApi.source.ldap.attribute.0.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.0.formatToLowerCase = false
subjectApi.source.ldap.attribute.1.name = cn
subjectApi.source.ldap.attribute.1.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.1.formatToLowerCase = false
subjectApi.source.ldap.attribute.2.name = mail
subjectApi.source.ldap.attribute.2.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.2.formatToLowerCase = false
subjectApi.source.ldap.attribute.3.name = givenName
subjectApi.source.ldap.attribute.3.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.3.formatToLowerCase = false
subjectApi.source.ldap.attribute.4.name = sn
subjectApi.source.ldap.attribute.4.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.4.formatToLowerCase = false
subjectApi.source.ldap.attribute.5.name = employeeNumber
subjectApi.source.ldap.attribute.5.translationType = sourceAttributeSameAsSubjectAttribute
subjectApi.source.ldap.attribute.5.formatToLowerCase = false
subjectApi.source.ldap.attribute.6.name = searchAttribute0
subjectApi.source.ldap.attribute.6.translationType = translation
subjectApi.source.ldap.attribute.6.translation = ${subject_attribute__employeenumber + '|' + subject_attribute__uid + '|' + subject_attribute__cn}
subjectApi.source.ldap.attribute.6.internal = true
subjectApi.source.ldap.attribute.6.formatToLowerCase = true
subjectApi.source.ldap.search.search.param.filter.value = (&(|(uid=%TERM%)(employeeNumber=%TERM%)(cn=*%TERM%*))(objectclass=eduPerson))

#todo ??? not created by UI: subjectApi.source.ldap.search.search.param.base.value = ou=people,dc=internet2,dc=edu
#todo ??? not created by UI: subjectApi.source.ldap.search.search.param.scope.value = SUBTREE_SCOPE

subjectApi.source.ldap.search.searchSubject.param.base.value = ou=people,dc=internet2,dc=edu
subjectApi.source.ldap.search.searchSubject.param.filter.value = (&(employeeNumber=%TERM%)(objectclass=eduPerson))
subjectApi.source.ldap.search.searchSubject.param.scope.value = SUBTREE_SCOPE

subjectApi.source.ldap.search.searchSubjectByIdentifier.param.filter.value = (&(uid=%TERM%)(objectclass=eduPerson))

#todo ??? not created by UI: subjectApi.source.ldap.search.searchSubjectByIdentifier.param.base.value = ou=people,dc=internet2,dc=edu
#todo ??? not created by UI: subjectApi.source.ldap.search.searchSubjectByIdentifier.param.scope.value = SUBTREE_SCOPE


subjectApi.source.ldap.searchAttributeCount = 1
subjectApi.source.ldap.searchAttribute.0.attributeName = searchAttribute0
subjectApi.source.ldap.sortAttribute.0.attributeName = employeeNumber
subjectApi.source.ldap.sortAttributeCount = 1

subjectApi.source.ldap.param.stringToFindOnCheckConfig.value = Dawn Gilmore
subjectApi.source.ldap.param.subjectIdToFindOnCheckConfig.value = 800002999
subjectApi.source.ldap.param.subjectIdentifierToFindOnCheckConfig.value = dgilmore

# STATUS SECTION for searches to filter out inactives and allow
# the user to filter by status with e.g. status=all
# this is optional, and advanced
#
# field in database or ldap or endpoint that is the status field
#subjectApi.source.example.param.statusDatastoreFieldName.value = status

# search string from user which represents the status.  e.g. status=active
#subjectApi.source.example.param.statusLabel.value = status

# available statuses from screen (if not specified, any will be allowed). comma separated list.
# Note, this is optional and you probably dont want to configure it, it is mostly necessary
# when you have multiple sources with statuses...  if someone types an invalid status
# and you have this configured, it will not filter by it
#subjectApi.source.example.param.statusesFromUser.value = Active, Inactive, Pending, All

# all label from the user
#subjectApi.source.example.param.statusAllFromUser.value = All

# if no status is specified, this will be used (e.g. for active only).  Note, the value should be of the
# form the user would type in
#subjectApi.source.example.param.statusSearchDefault.value = status=active

# translate between screen values of status, and the data store value.  Increment the 0 to 1, 2, etc for more translations.
# so the user could enter: status=active, and that could translate to status_col=A.  The 'user' is what the user types in,
# the 'datastore' is what is in the datastore.  The user part is not case-sensitive.  Note, this could be a many to one
#subjectApi.source.example.param.statusTranslateUser0.value = active
#subjectApi.source.example.param.statusTranslateDatastore0.value = A

# subject identifier to store in grouper's member table.  this is used to increase speed of loader and perhaps for provisioning
# you can have up to max 1 subject identifier
# todo is this valid for GrouperLdapSourceAdapter2_5?
#subjectApi.source.ldap.param.subjectIdentifierAttribute0.value = employeeNumber


#searchSubjectByIdentifier: find a subject by identifier.  Identifier is anything that uniquely
#  identifies the user, e.g. jsmith or jsmith@institution.edu.
#  Subjects can have multiple identifiers.  Note: it is nice to have if identifiers are unique
#  even across sources.  Returns one result when searching for one identifier.
# todo needed for GrouperLdapSourceAdapter2_5?
#subjectApi.source.ldap.search.searchSubjectByIdentifier.param.scope.value = SUBTREE_SCOPE
#subjectApi.source.ldap.search.searchSubjectByIdentifier.param.base.value = ou=people,dc=internet2,dc=edu

#   search: find subjects by free form search.  Returns multiple results.