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>