Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Panel
borderStyle
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titlePre-Requisitessolid
  1. Completed Kuali Rice SLAs and T&Cs
  2. User Accounts to Rice Databases
  3. PSL Firewall Access
  4. Data Center Firewall Access
  5. Access to IET Subversion Repository
  6. Access to IET Maven Repository
  7. Access to JIRA
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleInitial SetupborderStylesolid

Setup Project Directories

  1. Create a directory where you will store working copies of files to be checked out from Subversion, such as <PATH>/subversion

Checkout Sample Embedded Client Project

  1. Navigate to <PATH>/subversion
  2. Code Block
    borderStylesolid
    [<PATH>/subversion]$ svn co https://mware.ucdavis.edu/svn/kuali/RiceApplications/sample-embedded-client/trunk/sample-embedded-client
    

Checkout the Kuali Impex Tool

Code Block
borderStylesolid
[<PATH>/subversion]$ svn co https://test.kuali.org/svn/kul-cfg-dbs/trunk
Info

This creates a directory <PATH>/subversion/trunk. To make the directory structure more readable, rename trunk to kul-cfg-dbs.


Checkout the Sample Embedded Client Database Configuration Files

Code Block
borderStylesolid
[<PATH>/subversion]$ svn co https://test.kuali.org/svn/rice-cfg-dbs/rice-client-db/branches/rice-release-1-0-0-br
Info

This creates a directory <PATH>/subversion/rice-release-1-0-0-br. To make the directory structure more readable, rename rice-release-1-0-0-br to rice-client-db.


Prepare Database Import Configuration

  1. Copy <PATH>/subversion/kul-cfg-dbs/impex/impex-build.properties to <HOME>/impex-build.properties
  2. Set the following property values in /wiki/spaces/UCDK/pages/119111688:

    Property

    Sample Value

    svn.module

    rice-cfg-dbs

    svn.base

    branches/rice-release-1-0-0-br

    torque.schema.dir

    <PATH>/subversion/rice-client-db

    drivers.directory

    <path to your client database JDBC driver> Use forward slashes, even in Windows!!!

    import.torque.database.url

    jdbc:oracle:thin:@<DB Host>.ucdavis.edu:1521:<DB SID>

    import.torque.database.user

    <user you will log in as> SYS, schema, etc.

    import.torque.database.schema

    <SCHEMA> Must be in UPPER CASE

    import.torque.database.password

    <password>


Set Environment Variables

  1. Navigate to <HOME>/subversion/kul-cfg-dbs/impex
  2. Set JAVA_HOME
    Code Block
    borderStylesolid
    [<PATH>/subversion/kul-cfg-dbs/impex]$ export JAVA_HOME=<path to Java>
    
  3. Set the classpath
    Code Block
    borderStylesolid
    [<PATH>/subversion/kul-cfg-dbs/impex]$ export classpath=<PATH>/subversion/kul-cfg-dbs/impex/lib
    

Execute the Database Import

  • If you're starting with a blank database:
    Code Block
    borderStylesolid
    [<PATH>/subversion/kul-cfg-dbs/impex]$ ant import
    
  • If you're adding to an existing database:
    1. Code Block
      borderStylesolid
      [<PATH>/subversion/kul-cfg-dbs/impex]$ ant create-ddl
      
    2. Code Block
      borderStylesolid
      [<PATH>/subversion/kul-cfg-dbs/impex]$ ant dataxml-to-sql
      
    3. Navigate to <PATH>/subversion/rice-client-db/sql and execute the generated SQL statements.
    4. Navigate to <PATH>/subversion/rice-client-db/datasql and execute the generated SQL statements.
Tip

If you are updating the Database Configuration Files project from Kuali's Subversion repository and updating your client Rice database structure, delete <PATH>/subversion/rice-cfg-dbs/sql and /datasql subdirectories before running ant import, ant create-ddl, or ant dataxml-to-sql.

Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleSpring Configuration
Code Block
borderStylesolid
Code Block
borderStyle
title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/SpringBeans.xmlsolid
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="properties" ref="configProperties" />
</bean>

<bean id="config" class="org.kuali.rice.core.config.spring.ConfigFactoryBean">
	<property name="configLocations">
		<list>
			<value>classpath:edu/sampleu/embedded/config/sample-embedded-client-config.xml</value>
		</list>
	</property>
</bean>
	
<bean id="configProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
	<property name="targetObject" ref="config" />
	<property name="targetMethod" value="getProperties" />
</bean>

<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean">
	<property name="defaultTimeout" value="${transaction.timeout}"/>
</bean>
	
<bean id="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
	<property name="transactionManager" ref="jotm"/>
	<property name="userTransaction" ref="jotm"/>
</bean>

<bean id="dataSource" class="org.kuali.rice.core.database.XAPoolDataSource">
	<property name="transactionManager" ref="jotm" />
	<property name="driverClassName" value="${datasource.driver.name}" />
	<property name="url" value="${datasource.url}" />
	<property name="maxSize" value="${datasource.pool.size}" />
	<property name="minSize" value="${datasource.initialSize}" />
	<property name="maxWait" value="${datasource.pool.maxWait}" />
	<property name="validationQuery" value="${datasource.pool.validationQuery}" />
	<property name="username" value="${datasource.username}" />
	<property name="password" value="${datasource.password}" />
</bean>

<bean id="nonTransactionalDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="${datasource.driver.name}" />
	<property name="url" value="${datasource.url}" />
	<property name="maxActive" value="${datasource.pool.maxActive}" />
	<property name="minIdle" value="${datasource.minIdle}" />
	<property name="initialSize" value="${datasource.initialSize}" />
	<property name="validationQuery" value="${datasource.pool.validationQuery}" />
	<property name="username" value="${datasource.username}" />
	<property name="password" value="${datasource.password}" />
	<property name="accessToUnderlyingConnectionAllowed" value="${datasource.accessToUnderlyingConnectionAllowed}" />
</bean>

<bean id="standaloneDataSource" class="org.kuali.rice.core.database.XAPoolDataSource">
	<property name="transactionManager" ref="jotm" />
	<property name="driverClassName" value="${standalone.datasource.driver.name}" />
	<property name="url" value="${standalone.datasource.url}" />
	<property name="maxSize" value="${standalone.datasource.pool.size}" />
	<property name="minSize" value="${standalone.datasource.initialSize}" />
	<property name="maxWait" value="${standalone.datasource.pool.maxWait}" />
	<property name="validationQuery" value="${standalone.datasource.pool.validationQuery}" />
	<property name="username" value="${standalone.datasource.username}" />
	<property name="password" value="${standalone.datasource.password}" />
</bean>

<bean id="ricewhitePagesDataSource" destroy-method="close" class="org.kualiapache.ricecommons.coredbcp.config.RiceConfigurerBasicDataSource">
	
        <property name="dataSourcedriverClassName" refvalue="dataSource" ${datasource.driver.name}"/>
	<property name="nonTransactionalDataSource" ref="nonTransactionalDataSource"/>
	<property name="serverDataSource" ref="standaloneDataSource"/>
	<property name="transactionManager" ref="jotm" />
	<property name="userTransaction" ref="jotm" />
	<property name="serviceNamespace" value="RSEC" />
	<property name="environment" value="dev" />
	<property name="rootConfig" ref="config" />
	<property name="ksbConfigurer">
		<bean class="org.kuali.rice.ksb.messaging.config.KSBConfigurer">
			<property name="serviceServletUrl" value="${serviceServletUrl}" />
		</bean>
	</property>
	<property name="kewConfigurer">
		<bean class="org.kuali.rice.kew.config.KEWConfigurer">
			<property name="clientProtocol" value="local" />
		</bean>
	</property>
	<property name="knsConfigurer">
		<bean class="org.kuali.rice.kns.config.KNSConfigurer"/>
	</property>
	<property name="kimConfigurer">
		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
	</property>
	<property name="kcbConfigurer">
		<bean class="org.kuali.rice.kcb.config.KCBConfigurer"/>
	</property>
	<property name="additionalSpringFiles">
		<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
	</property>
</bean>
</beans>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
titleUCD KIM Spring Configuration
borderStylesolid
Code Block
title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/UCDKIMSpringBeans.xml
borderStylesolid

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
>
    <bean id="whitePagesDataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${datasource.driver.name}"/>
        <property name="url" value="${datasource.url}"/>
        <property name="usernameurl" value="${datasourcethe.db.where.my.privileged.whitepages.db.username.lives.url}"/>
        <property name="passwordusername" value="${datasource.password}"/>
    </bean>

	<bean id="whitePagesService" class="edu.ucdavis.iet.whitepages.WhitePagesServiceImpl"my.privileged.whitepages.db.username}"/>
        <property name="whitePagesDataSourcepassword" refvalue="whitePagesDataSource" />
    ${my.privileged.whitepages.db.password}"/>
</bean>
   

	<bean id="contextSourceldapPersonContextSource" class="org.springframework.ldap.core.support.LdapContextSource">
    	<property name="url" value="${ldap.url}" />
    	<property name="base" value="${ldap.base}" />
    	<property name="pooled" value="${ldap.pool}" />
    	<property name="userDn" value="${my.ldap.userservice.account}" />
    	<property name="password" value="${my.ldap.service.account.password}" />
    </bean>

	<bean id="ldapTemplateldapListingsContextSource" class="org.springframework.ldap.core.LdapTemplatesupport.LdapContextSource">
    	<property   <constructor-arg ref="contextSourcename="url" value="${ldap.url}" />
    </bean>
	<property 	<bean idname="ldapPersonDAObase" classvalue="edu.ucdavis.iet.commons.${ldap.dao.impl.LdapPersonDAOSpringImpl"listings.base}" />
        	<property name="ldapTemplatepooled" refvalue="ldapTemplate${ldap.pool}" />
    </bean>
	<property 	<bean idname="ldapPersonServiceuserDn" classvalue="edu.ucdavis.iet.commons.${my.ldap.service.impl.LdapPersonServiceImpl"account}" />
        	<property name="ldapPersonDAO" ref="ldapPersonDAOpassword" value="${my.ldap.service.account.password}" />

   </bean>

	<bean id="ldapListingsContextSourcerice" class="org.springframeworkkuali.ldaprice.core.supportconfig.LdapContextSourceRiceConfigurer">

   	<property name="urldataSource" valueref="${ldap.url}dataSource" />
   
	<property name="basenonTransactionalDataSource" valueref="${ldap.listings.base}" nonTransactionalDataSource"/>
    	<property name="pooledserverDataSource" valueref="${ldap.pool}" />
    standaloneDataSource"/>
	<property name="userDntransactionManager" valueref="${ldap.user}jotm" />
  
 	<property name="passworduserTransaction" valueref="${ldap.password}jotm" />
    </bean>
    
    <bean id="listingsLdapTemplate" class="org.springframework.ldap.core.LdapTemplate">
       <constructor-arg ref="ldapListingsContextSource	<property name="serviceNamespace" value="RSEC" />
	<property name="environment" value="dev" />
	<property name="rootConfig" ref="config"  </bean>
>
	<bean<property idname="ldapMailListingDAOksbConfigurer">
		<bean class="eduorg.ucdaviskuali.ietrice.commonsksb.ldapmessaging.daoconfig.impl.LdapMailListingDAOSpringImplKSBConfigurer">
        			<property name="ldapTemplateserviceServletUrl" refvalue="listingsLdapTemplate" />
    ${serviceServletUrl}" />
		</bean>
	</property>
   
    <bean id	<property name="ldapMailListingServicekewConfigurer">
		<bean class="eduorg.ucdaviskuali.ietrice.commonskew.ldap.service.impl.LdapMailListingServiceImplconfig.KEWConfigurer">
     			<property name="ldapMailListingDAOclientProtocol" refvalue="ldapMailListingDAOlocal" />
    		</bean>
	</property>
  	<property name="knsConfigurer">
	
	<bean id="kimIdentityService" class="edu.ucdavis.ietorg.kuali.rice.kimkns.serviceconfig.impl.IdentityServiceUCDImplKNSConfigurer"/>
	</property>
	<property name="ldapPersonServicekimConfigurer">
ref="ldapPersonService" 		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
	</property>
	<property name="whitePagesServicekcbConfigurer">
ref="whitePagesService" />
			<bean class="org.kuali.rice.kcb.config.KCBConfigurer"/>
	</property>
	<property name="ldapMailListingServiceadditionalSpringFiles" ref="ldapMailListingService" />
	>
		<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
	</property>
</bean>	
</beans>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRice Configuration
Code Block
borderStylesolid
code
title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/sample-embedded-client-config.xmlborderStylesolid
<config>
	<!-- LDAP Settings -->
	<param name="ldap.url">ldaps://ldap.ucdavis.edu</param>
	<param name="ldap.base">ou=People,dc=ucdavis,dc=edu</param>
	<param name="ldap.pool">true</param>
	<param name="ldap.user">uid=my_ldap_uid,ou=Special Users,dc=ucdavis,dc=edu</param>
	<param name="ldap.password">my_ldap_password</param>
		
	<!-- Client Database Settings -->
	<param name="datasource.ojb.platform">MySQL</param>
	<param name="datasource.platform">org.kuali.rice.core.database.platform.MySQLPlatform</param>
	<param name="datasource.url">jdbc:mysql://localhost:3306/MyDB</param>
	<param name="datasource.driver.name">com.mysql.jdbc.Driver</param>
	<param name="datasource.pool.validationQuery">select 1</param>
	<param name="datasource.pool.maxWait">30000</param>
	<param name="datasource.pool.size">30</param>
	<param name="datasource.pool.maxActive">50</param>
	<param name="datasource.minIdle">7</param>
	<param name="datasource.initialSize">7</param>
	<param name="datasource.accessToUnderlyingConnectionAllowed">true</param>
	<param name="datasource.username">embeddeduser</param>
	<param name="datasource.password">embeddedpassword</param>
	
	<!--  Rice Standalone Database Settings -->
	<param name="standalone.datasource.ojb.platform">Oracle9i</param>
	<param name="standalone.datasource.platform">org.kuali.rice.core.database.platform.OraclePlatform</param>
	<param name="standalone.datasource.url">jdbc:oracle:thin:@dbhost.ucdavis.edu:1521:SID</param>
	<param name="standalone.datasource.driver.name">oracle.jdbc.driver.OracleDriver</param>
	<param name="standalone.datasource.pool.validationQuery">select 1 from dual</param>
	<param name="standalone.datasource.pool.maxWait">30000</param>
	<param name="standalone.datasource.pool.size">30</param>
	<param name="standalone.datasource.pool.maxActive">50</param>
	<param name="standalone.datasource.minIdle">7</param>
	<param name="standalone.datasource.initialSize">7</param>
	<param name="standalone.datasource.accessToUnderlyingConnectionAllowed">true</param>
	<param name="standalone.datasource.username">riceuser</param>
	<param name="standalone.datasource.password">ricepassword</param>
	
	<!--  log4j Settings -->
	<param name="log4j.reload.minutes">5</param>
	<param name="log4j.settings.path">classpath:META-INF/log4j.properties</param>

	<!--  Bus Configuration  -->
	<param name="dev.mode">false</param>
	<param name="message.persistence">true</param>
	<param name="message.delivery">async</param>
	<param name="Routing.ImmediateExceptionRouting">true</param>
	<param name="RouteQueue.timeIncrement">60000</param>
	<param name="RouteQueue.maxRetryAttempts">6</param>

	<!--  Quartz Configuration  -->
	<param name="useQuartzDatabase">true</param>
	<param name="ksb.org.quartz.scheduler.instanceName">Embedded KSB Scheduler</param>
	<param name="ksb.org.quartz.scheduler.instanceId">AUTO</param>
<!--	<param name="ksb.org.quartz.jobStore.tablePrefix">KRSB_QRTZ_</param>-->
<!--	<param name="ksb.org.quartz.jobStore.isClustered">true</param>-->
	<param name="ksb.org.quartz.threadPool.threadCount">5</param>
	<param name="ksb.org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</param>

	<!--  Workflow Upload Configuration (for stand-alone)  -->
	<param name="data.xml.pollIntervalSecs">30</param>
	<param name="initialDelaySecs">10</param>
	<param name="simpleDocumentActionsService.security">true</param>
	<param name="secure.workflowdocument.javaservice.endpoint">true</param>
	<param name="secure.workflowutility.javaservice.endpoint">true</param>
	<param name="keystore.file">security/rice.keystore</param>
	<param name="keystore.alias">rice</param>
	<param name="keystore.password">r1c3pw</param>
	
	<param name="transaction.timeout">600</param>
	<!-- Standalone Server URL -->
	<param name="serviceServletUrl">http://ricehost.ucdavis.edu/rice-context/remoting</param>
	
	<!-- XML ingester directories -->
	<param name="data.xml.root.location">/opt/ears/${environment}/en/xml</param>
	<param name="data.xml.pending.location">${data.xml.root.location}pending</param>
	<param name="data.xml.loaded.location">${data.xml.root.location}loaded</param>
	<param name="data.xml.problem.location">${data.xml.root.location}problem</param>
	<param name="attachment.dir.location">/opt/ears/</param>
	
	<!-- External Configuration Files -->
	<param name="config.location">classpath:META-INF/common-config-defaults.xml</param>
<!--	<param name="config.location">/usr/local/rice/embedded-client-config.xml</param>-->
</config>
Panel
borderStyle
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRequired Librariessolid
  1. rice-api-1.0.0
  2. rice-impl-1.0.0
  3. iet-commons-ldap-1.0.0
  4. ucd-kim-impl-1.0.0
  5. asm 3.0
  6. spring-ldap-core 1.3.0.RELEASE
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRemoved LibrariesborderStylesolid
  1. asm-1.5.3
  2. asm-attrs-1.5.3
  3. cglib-2.1

Reference: CXF: Dependency Incompatibility with Hibernate

Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleMaven Configuration
Code Block
borderStylesolid
Code Block
title~/sample-embedded-client/pom.xmlborderStylesolid
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.kuali.rice</groupId>
<artifactId>embedded-client</artifactId>
<packaging>jar</packaging>
<name>embedded-client</name>
<version>1.0.0</version>
<build>
	<plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.5</source>
				<target>1.5</target>
			</configuration>
		</plugin>
	</plugins>
</build>

<properties>
  	<iet-commons-ldap.version>1.0.0</iet-commons-ldap.version>
  	<ucd-kim-impl.version>1.0.0RC1</ucd-kim-impl.version>
  	<rice.version>1.0.0-SNAPSHOT</rice.version>
	<asm.version>3.0</asm.version>
</properties>

<dependencies>
	<dependency>
    		<groupId>edu.ucdavis.iet.commons</groupId>
    		<artifactId>iet-commons-ldap</artifactId>
    		<version>${iet-commons-ldap.version}</version>
    		<exclusions>
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-tx</artifactId>
    			</exclusion> 	
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-beans</artifactId>
    			</exclusion>     
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-core</artifactId>
    			</exclusion>   		
    		</exclusions>
  	</dependency>
  	<dependency>
    		<groupId>edu.ucdavis.iet.kuali.rice</groupId>
    		<artifactId>ucd-kim-impl</artifactId>
    		<version>${ucd-kim-impl.version}</version>
    		<exclusions>
    			<exclusion>
    				<groupId>asm</groupId>
    				<artifactId>asm</artifactId>
    			</exclusion> 	
    			<exclusion>
    				<groupId>asm</groupId>

    				<artifactId>asm-attrs</artifactId>
    			</exclusion>     
    			<exclusion>
    				<groupId>cglib</groupId>
    				<artifactId>cglib</artifactId>
    			</exclusion>   		
    		</exclusions>	    		
  	</dependency>   	
  	<dependency>
		<groupId>asm</groupId>
		<artifactId>asm</artifactId>
		<version>${asm.version}</version>
	</dependency>	  		
	<dependency>
		<groupId>org.kuali.rice</groupId>
		<artifactId>rice-api</artifactId>
		<version>${rice.version}</version>
	</dependency>
	<dependency>
		<groupId>org.kuali.rice</groupId>
		<artifactId>rice-impl</artifactId>
		<version>${rice.version}</version>			 			
	</dependency>
	<dependency>
        	<groupId>javax.servlet</groupId>
           	<artifactId>servlet-api</artifactId>
        	<version>2.4</version>
        	<scope>provided</scope>
        </dependency>
	</dependencies>

<repositories>
	<repository>
		<id>kuali</id>
		<name>Kuali Repository</name>
		<url>https://test.kuali.org/maven</url>
	</repository>
</repositories>

</project>