<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<!-- Uncomment to use the sample GroupProvider (read the code to see exactly what it does!)

                Make sure to remove any other GroupProviders as there can only be one group provider active at any time.

	<bean id="org.sakaiproject.authz.api.GroupProvider"
			class="org.sakaiproject.provider.authzGroup.SampleGroupProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
	</bean>
-->

<!-- Uncomment to use the sample UserDirectoryProvider (read the code to see exactly what it does!)

                Make sure to remove any other UserDirectoryProviders as there can only be one user provider active at any time.

	<bean id="org.sakaiproject.user.api.UserDirectoryProvider"
			class="org.sakaiproject.provider.user.SampleUserDirectoryProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
	</bean>
-->

<!-- Uncomment to use the sample AllHandsGroup Provider 
     (read the code to see exactly what it does!)

        <bean id="org.sakaiproject.authz.api.GroupProvider"
                        class="org.sakaiproject.provider.authzGroup.AllHandsGroupProvider"
                        init-method="init"
                        destroy-method="destroy"
                        singleton="true">
        </bean>
-->

<!--    Uncomment to use the IMS Enterprise provider

                 Make sure to remove any other UserDirectoryProviders as there can only be one user provider active at any time.

	<bean id="org.sakaiproject.user.api.UserDirectoryProvider"
			class="org.sakaiproject.component.imsent.user.IMSEntUserDirectoryProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
		<property name="sqlService"><ref bean="org.sakaiproject.db.api.SqlService"/></property>
		<property name="autoDdl"><value>true</value></property>
	</bean>
-->

<!--    Uncomment and configure to use the JLDAP Provider.
                Default values below point to a test account at nldap.com (free ldap test server). 
                To login with the nldap.com test account -      username: ldap-admin 
                                                                password: admin
                
                 Make sure to remove any other UserDirectoryProviders as there can only be one user provider active at any time.

	<bean id="org.sakaiproject.user.api.UserDirectoryProvider"
			class="edu.amc.sakai.user.JLDAPDirectoryProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
		<property name="ldapHost"><value>nldap.com</value></property>
		<property name="ldapPort"><value>389</value></property> 
		<property name="secureConnection"><value>false</value></property>
		<property name="keystoreLocation"><value></value></property>
		<property name="keystorePassword"><value></value></property>
		<property name="basePath"><value>ou=sakai-ldap,ou=user,o=novell</value></property>
		<property name="operationTimeout"><value>5000</value></property>
		<property name="cacheTTL"><value>18000000</value></property>
		<property name="attributeMappings">
			<map>
				<entry key="login"><value>cn</value></entry>    
				<entry key="distinguishedName"><value>dn</value></entry>        
				<entry key="firstName"><value>givenName</value></entry> 
				<entry key="lastName"><value>sn</value></entry> 
				<entry key="email"><value>mail</value></entry>  
				<entry key="groupMembership"><value>groupMembership</value></entry>     
			</map>
		</property>
    </bean>
-->

<!--	Uncomment and configure to use the Kerberos Provider.

                 Make sure to remove any other UserDirectoryProviders as there can only be one user provider active at any time.

	<bean id="org.sakaiproject.user.api.UserDirectoryProvider"
			class="org.sakaiproject.component.kerberos.user.KerberosUserDirectoryProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
		<property name="domain"><value>mydomain.edu</value></property>
		<property name="loginContext"><value>KerberosAuthentication</value></property>
		<property name="cachettl"><value>600000</value></property>
		<property name="requireLocalAccount"><value>true</value></property>
		<property name="knownUserMsg"><value>Integrity check on decrypted field failed</value></property>
	</bean>
-->

<!-- Uncomment and configure to use the Federating UserDirectoryProvider.

   <bean
  		id="org.sakaiproject.user.api.UserDirectoryProvider"
  		class="org.sakaiproject.provider.user.FilterUserDirectoryProvider"
  		init-method="init" destroy-method="destroy" singleton="true">
  		<property name="myProvider">
  			<ref bean="org.sakaiproject.user.api.UserDirectoryProvider.provider1" />
  		</property>
  		<property name="nextProvider">
  			<ref bean="org.sakaiproject.user.api.UserDirectoryProvider.chain1" />
  		</property>
  	</bean>
  	<bean
  		id="org.sakaiproject.user.api.UserDirectoryProvider.chain1"
  		class="org.sakaiproject.provider.user.FilterUserDirectoryProvider"
  		init-method="init" destroy-method="destroy" singleton="true">
  		<property name="myProvider">
  			<ref bean="org.sakaiproject.user.api.UserDirectoryProvider.provider2" />
  		</property>
  	</bean>
 -->
 
	<!--
		CourseManagement-backed Group and Course Providers


	<bean id="org.sakaiproject.authz.api.GroupProvider"
			class="org.sakaiproject.coursemanagement.impl.provider.CourseManagementGroupProvider"
			init-method="init"
			destroy-method="destroy"
			singleton="true">
			<property name="cmService">
				<ref bean="org.sakaiproject.coursemanagement.api.CourseManagementService"/>
			</property>
			<property name="roleResolvers">
				<list>
					<bean class="org.sakaiproject.coursemanagement.impl.provider.SectionRoleResolver">
						<property name="roleMap">
							<map>
								<entry key="I" value="Instructor" />
								<entry key="S" value="Student" />
								<entry key="GSI" value="Teaching Assistant"/>
							</map>
						</property>
						<property name="officialInstructorRole" value="Instructor" />
						<property name="enrollmentStatusRoleMap">
							<map>
								<entry key="enrolled" value="Student" />
								<entry key="waitlisted" value="Student" />
							</map>
						</property>
					</bean>
					<bean class="org.sakaiproject.coursemanagement.impl.provider.CourseOfferingRoleResolver">
						<property name="roleMap">
							<map>
								<entry key="CourseAdmin" value="Instructor" />
								<entry key="I" value="Instructor" />
							</map>
						</property>
					</bean>
					<bean class="org.sakaiproject.coursemanagement.impl.provider.CourseSetRoleResolver">
						<property name="roleMap">
							<map>
								<entry key="DeptAdmin" value="Instructor" />
							</map>
						</property>
					</bean>
				</list>
			</property>
	</bean>
	
	<bean id="org.sakaiproject.site.api.CourseManagementProvider"
		class="org.sakaiproject.coursemanagement.impl.provider.CourseManagementProviderCMImpl">
			<property name="cmService">
				<ref bean="org.sakaiproject.coursemanagement.api.CourseManagementService"/>
			</property>
			<property name="cmGroupProvider">
				<ref bean="org.sakaiproject.authz.api.GroupProvider"/>
			</property>
			<property name="uds">
				<ref bean="org.sakaiproject.user.api.UserDirectoryService"/>
			</property>
			<property name="sectionMappingRoles">
				<list>
					<value>Instructor</value>
				</list>
			</property>
	</bean>
	-->

</beans>
