slide1 n.
Download
Skip this Video
Download Presentation
Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University shyu@indiana

Loading in 2 Seconds...

play fullscreen
1 / 7

Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University shyu@indiana - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University shyu@indiana.edu. Customization with maven war/overlay. Provide configuration for institutional customization Extend Override Use Maven overlay Maven What is it?: build, dependency, project management tool

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University shyu@indiana' - phallon-caddell


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Lin-Long Shyu

System Analyst

Kuali Coeus Technical Team

Indiana University

shyu@indiana.edu

customization with maven war overlay
Customization with maven war/overlay
  • Provide configuration for institutional customization
  • Extend
  • Override
  • Use Maven overlay
  • Maven
  • What is it?: build, dependency, project management tool
  • Good : Dependency Management, many plugins, works with Eclipse
  • Bad : Poor documentation, rigid, high learning curve, not all plugins well tested.
  • Maven/war plugin/Overlay
  • shares common resources across multiple web applications.
  • Merges between an original war and other code/files that you develop.
  • KC uses maven
  • Confluence page Link : https://wiki.kuali.org/x/AoApDw
use case services struts actions and forms
Use Case : Services, struts actions, and forms
  • Spring : Bean customization, mostly services.
  • CustomSpringBeans.xml :
  • overrides kc spring beans
  • adds new beans.
  • This file name is hard coded in KraServiceLocator.java.
  • Struts-config : action and form classes.
  • struts-custom-config.xml :
  • overrides kc's struts configuration
  • adds new struts configuration.
  • This file is defined in web.xml.

<param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-custom-config.xml</param-value>

use case ojb configuration web content
Use Case : OJB, Configuration, Web Content
  • OJB repository : new classes.
  • repository-custom.xml :
  • override kc's OJB descriptors
  • add new class descriptors.
  • defined in CustomSpringBeans.xml.

<bean id="customModuleConfiguration-parentBean"

class="org.kuali.rice.kns.bo.ModuleConfiguration" abstract="true">

<property name="initializeDataDictionary" value="true" />

<property name="databaseRepositoryFilePaths">

<list> <value>org/kuali/kra/custom/repository-custom.xml</value>

</list>

</property>

  • Configuration extension.
  • kc-config-custom.xml
  • add institution specific configuration. This file name is set in kc-config.xml.

<param name="config.location">classpath:META-INF/kc-config-custom.xml</param>

  • Web content : jsp/tag/scripts/images are automatically overlayed by maven/overlay.
use case data dicitonary
Use Case : Data Dicitonary
  • DD :
  • modify bo properties.
  • Rule class
  • Authorization class
  • Defined in CustomSpringBeans.xml.

<bean id="customModuleConfiguration-parentBean" class="org.kuali.rice.kns.bo.ModuleConfiguration" abstract="true">

<property name="dataDictionaryPackages">

<list> <value>org/kuali/kra/custom/datadictionary</value>

</list>

</property>

</bean>

steps to create kc custom project
Steps to create KC_custom project
  • check out from svn Or Create kc_custom from scratch
  • https://test.kuali.org/svn/kc_custom
  • Apply patch to kc_project R2.
  • Customization configurations files not included in R2
  • install kc_project to local maven repository
  • mvn -Dmaven.test.skip=true install
  • do customization in kc_custom
  • create war file for kc_custom with the overlay of kc_project
issues and work around
Issues and work around
  • Eclipse
  • Jetty Debug configuration

8080 "/kc-dev" "/target/kc_custom-1.0-SNAPSHOT"

default : 8080 "/kc-dev" "/web/src/main/webapp“

  • Unit test
  • loading classes issue : classes in multiple jar files and folders
  • Delete 'lib' and 'classes' folders in /%PROJECT_DIRECTORY%/kc_custom/target/kc_custom-1.0-SNAPSHOT/WEB-INF.
  • Relative Web root :
  • kc-test-config-custom.xml : It contains the custom web root.

<config>

<param name="custom.webroot">/target/kc_custom-1.0-SNAPSHOT</param>

</config>

  • POM file inheritance
  • option 1 : copy from Kc and modify.
  • option 2 :
  • create pom_custom.xml in kc_project, which is a copy from pom.xml, and change 'packaging' to 'pom'.
  • add 'parent' element to kc_custom's pom.xml.

<parent>

<groupId>org.kuali.kra</groupId>

<artifactId>kc_project</artifactId>

<version>2.0</version>

<relativePath>../kc_project/pom_custom.xml</relativePath>

</parent>