Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Operating System

Windows XP


JDK

1.5.0_12


Maven

2.0.9

M2_HOME

C:\apache-maven-2.0.9

M2_OPTS

-Xms256m -Xmx512m

M2_REPO

C:\JavaLib\mvnrepository


Application Server

localhost

Application Container

Tomcat 5.5.23

CATALINA_HOME

C:\Tomcat 5.5


IDE

Eclipse Ganymede 3.4.0

Workspace

C:\Development\KualiRice.workspace

Rice Source Directory

C:\Development\KualiRice.workspace\KualiRice0.9.3

Build Sheet

  1. Create Maven Project Directory
    Open a command prompt
    Navigate to C:\Development\KualiRice.workspace
    Create a new project directory M2Rice
    Code Block
    
    C:\Development\KualiRice.workspace> mkdir M2Rice
    
    Create Maven Project
    Navigate to the M2Rice directory
    Create a web application project using the maven-archetype-webapp archetype (aka project template)
    Code Block
    C:\Development\KualiRice.workspace\M2Rice> mvn archetype:create -DgroupId=edu.ucdavis.iet -DartifactId=M2Rice -DarchetypeArtifactId=maven-archetype-webapp
    
    This creates a directory named M2Rice (after the artifactId) in C:\Development\KualiRice.workspace

  2. Import Project into Eclipse
    Start Eclipse
    Go to File -> New -> Project -> Maven Project
    Check the Use default Workspace location box and click Next
    Select Internal as the catalog
    From the list of archetypes, select the maven-archetype-webapp Arctifact Id and click Next

    For Group Id, enter edu.ucdavis.iet
    For Artifact Id, enter M2Rice

    Click Finish

  3. Embed the Kuali Service Bus and Kuali Enterprise Workflow
    • Identify Rice dependencies
      Add the following to your pom.xml
      Code Block
      titlepom.xml
      <repository>
      	<id>kuali</id>
      	<name>Kuali Repository</name>
      	<url>https://test.kuali.org/maven/</url>
      </repository>
      
      <dependency>
      	<groupId>org.kuali.rice</groupId>
      	<artifactId>rice-ksb</artifactId>
      	<version>0.9.3</version>
      </dependency>
      

    • Configure KSB Dispatcher Servlet
      Add the following code to web.xml
      Code Block
      title/WEB-INF/web.xml
      <servlet>
        <servlet-name>remoting</servlet-name>
        <servlet-class>edu.iu.uis.eden.messaging.servlet.KSBDispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>remoting</servlet-name>
        <url-pattern>/remoting/*</url-pattern>
      </servlet-mapping>
      

    • Create Rice runtime configuration file
      In the project structure, right-click on src/main/webapp/WEB-INF, then New -> File
      Name the file M2Rice-config.xml
      Code Block
      titlesrc/main/webapp/WEB-INF/M2Rice-config.xml
      <config>
      
          <!-- Core -->
          <param name="application.url">http://localhost:8080/M2Rice</param>
      
          <!-- Database -->
          <param name="datasource.url">jdbc:mysql://localhost:3306/kricedev</param>
          <param name="datasource.username">KRICEDEV</param>
          <param name="datasource.password">*** password ***</param>
          <param name="datasource.ojb.platform">MySQL</param>
          <param name="datasource.platform">org.kuali.rice.database.platform.MySQLPlatform</param>
          <param name="datasource.driver.name">com.mysql.jdbc.Driver</param>
          <param name="datasource.pool.validationQuery">select 1 from dual</param>
          <param name="datasource.pool.maxWait">30000</param>
          <param name="datasource.pool.minSize">2</param>
          <param name="datasource.pool.maxSize">5</param>
      
          <!-- KSB -->
          <param name="serviceServletUrl">${application.url}/remoting/</param>
          <param name="keystore.file">/usr/local/rice/rice.keystore</param>
          <param name="keystore.alias">*** key alias ***</param>
          <param name="keystore.password">*** password ***</param>
      
          <!-- KEW -->
          <param name="workflow.url">${application.url}/en</param>
          <param name="client.protocol">embedded</param>
          <param name="plugin.dir">/usr/local/rice/plugins</param>
          <param name="attachment.dir.location">/usr/local/rice/kew_attachments</param>
      
      </config>
      

...