Embedded Client Configuration
- Completed Kuali Rice SLAs and T&Cs
- User Accounts to Rice Databases
- PSL Firewall Access
- Data Center Firewall Access
- Access to IET Subversion Repository
- Access to IET Maven Repository
- Access to JIRA
Setup Project Directories
- 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
- Navigate to <PATH>/subversion
[<PATH>/subversion]$ svn co https://mware.ucdavis.edu/svn/kuali/RiceApplications/sample-embedded-client/trunk/sample-embedded-client
Checkout the Kuali Impex Tool
[<PATH>/subversion]$ svn co https://test.kuali.org/svn/kul-cfg-dbs/trunk
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
[<PATH>/subversion]$ svn co https://test.kuali.org/svn/rice-cfg-dbs/rice-client-db/branches/rice-release-1-0-0-br
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
- Copy <PATH>/subversion/kul-cfg-dbs/impex/impex-build.properties to <HOME>/impex-build.properties
- 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
- Navigate to <HOME>/subversion/kul-cfg-dbs/impex
- Set JAVA_HOME
[<PATH>/subversion/kul-cfg-dbs/impex]$ export JAVA_HOME=<path to Java>
- Set the classpath
[<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:
[<PATH>/subversion/kul-cfg-dbs/impex]$ ant import
- If you're adding to an existing database:
[<PATH>/subversion/kul-cfg-dbs/impex]$ ant create-ddl
[<PATH>/subversion/kul-cfg-dbs/impex]$ ant dataxml-to-sql
- Navigate to <PATH>/subversion/rice-client-db/sql and execute the generated SQL statements.
- Navigate to <PATH>/subversion/rice-client-db/datasql and execute the generated SQL statements.
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.
<!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="whitePagesDataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${datasource.driver.name}"/>
<property name="url" value="${the.db.where.my.privileged.whitepages.db.username.lives.url}"/>
<property name="username" value="${my.privileged.whitepages.db.username}"/>
<property name="password" value="${my.privileged.whitepages.db.password}"/>
</bean>
<bean id="ldapPersonContextSource" 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.service.account}" />
<property name="password" value="${my.ldap.service.account.password}" />
</bean>
<bean id="ldapListingsContextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="${ldap.url}" />
<property name="base" value="${ldap.listings.base}" />
<property name="pooled" value="${ldap.pool}" />
<property name="userDn" value="${my.ldap.service.account}" />
<property name="password" value="${my.ldap.service.account.password}" />
</bean>
<bean id="rice" class="org.kuali.rice.core.config.RiceConfigurer">
<property name="dataSource" ref="dataSource" />
<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>
<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>
- rice-api-1.0.0
- rice-impl-1.0.0
- iet-commons-ldap-1.0.0
- ucd-kim-impl-1.0.0
- asm 3.0
- spring-ldap-core 1.3.0.RELEASE
<?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>