Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 49 Next »

Unknown macro: {composition-setup}
Unknown macro: {deck}
Unknown macro: {card}

Kuali Open Library Environment is an open source enterprise software solution to fulfill libraries needs in terms of financial and content management. Financial management is implemented using the already developed Kuali Financial System which is bundled within OLE. Content management has been implemented using the Apache Jackrabbit and Apache Solr technologies, details of which can be found in subsequent sections or tabs on this main page.

KOLE is a mix of ant style and maven style applications. There is a maven wrapper for the ant part of the project (KFS) and so one can build the whole application using few maven commands.

Unknown macro: {gliffy}


Unknown macro: {card}

Continuous Integration (CI) is vital for any project as it ensures detection of issues with the code in a timely manner and also validity of a build. OLE follows a CI process as described below.

  1.  Daily Builds (Dev Environment)

    OLE code base (https://svn.kuali.org/repos/ole/trunk) is built everyday and deployed to the development environment. The build process is a fully automated maven process that includes the following;

    1. Code gets built at 12:30PM EST every day (CI job - http://ci.rice.kuali.org/view/ole-0.8/job/ole-0.8-nightly/)
    2. Database is reset i.e. the schemas are completely wiped out and recreated again
      1. OLEFS - The OLEFS schama is refreshed from OLEDBA
      2. Rice2 - The Rice2 database is reset based on the ole-oracle-rice.sql file which contains the ddl for rice2 tables in OLE
      3. Docstore - The docstore schema is wiped out completely
    3. The war and jar files are built and uploaded to the following repository (http://shrub.appspot.com/maven.kuali.org/snapshot/org/kuali/ole/). The value of this approach is that in case a specific build has to be deployed at any given point, we can pick the particular build (war) and deploy it ad hoc.
    4. The war files gets deployed to the different application servers in the dev environment.
  2. Test Release Builds (Test Environment)

    1. Test builds are deployed on an iterative basis (2 weeks sprints) to the test environment. Spring schedule can be found at https://jira.kuali.org/browse/OLE#selectedTab=com.atlassian.jira.plugin.system.project%3Aversions-panel
    2. This process is fully automated and a member of the configuration management pool takes care of it. At the moment the process currently is to notify Jeff Cadel <jcaddel@kuali.org>/Paula Sisson <psisson@rsmart.com> who then take care of pushing the appropriate build to the test environment.
  3. Unit Tests

    OLE is a combination of ant and maven style applications/modules, so we dont have a common framework to run all tests in the project. For OLEFS, we use Jenkins and for Rice2/Docstore applications we use Sonar for tests and reporting.

    1. Jenkins - The unit test jobs and the latest status for OLEFS can be found at https://ci.ole.kuali.org/.
    2. Sonar - The unit test reports for Rice2/Docstore can be found at http://sonar.kuali.org/dashboard/index/25877?did=1
  4. CI Jobs

  5. Environment Details

Unknown macro: {card}


Unknown macro: {card}
Unknown macro: {card}

OLE currently comprises of three applications (war files) that have to be deployed individually. These are the olefs.war, rice2.war and the docstore.war.

  1. Check out the codebase

    1. Trunk location: https://svn.kuali.org/repos/ole/trunk
  2. Building Artifacts

    1. Run the following from the root of the folder where the project was checked out
       mvn clean install -DskipTests=true
      
    2. Copy the following artifacts and place it in the webapps directory of your tomcat installation folder
      1.  
        ole/target/ole-fs-[particular iteration value]-webapp.war; Rename the war to olef.war
        
      2. ole-rice2/ole-rice-webapp/target/ole-rice-webapp-[particular iteration value].war; Rename the war to olerice2.war
        
      3. ole-docstore/ole-docstore-webapp/target/oledocstore.war; Rename the way to oledocstore.war
        
  3. Generating the default configuration properties file

    1. Navigate to the ole folder under the main project
    2. Run the following command
      mvn generate-resources -Plocal
      
    3. This will generate a default configuration.properties file under
      ~/.kuali/ole/fs/configuration.properties
      
    4. The default database is mysql and the root password is set to none. You will need to change the root password to the appropriate password as set for your mysql server.

  4. Setting up the Database

    1. ole - navigate to the ole folder under the root of the project and run the following command
      mvn clean install -Pdb
      
    2. ole-rice2 - navigate to the ole-rice2/ole-rice-db folder under the project and run the following command

      Ensure the impex.dba.password entry in the mysql.properties under ole-rice2/ole-rice-db/src/main/resources is appropriately set to whatever the password for your mysql server is. By default its set to root.

      mvn clean install -Pdb,mysql
      
    3. ole-docstore - The database schema and appropriate tables gets created when the docstore application starts up as apache jackrabbit manages the setup.
  5. Running the applications

Unknown macro: {card}
  • No labels