Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

OLE has two different application schemas for OLEFS and OLEDOCSTORE respectively. All different schemas come with a baseline dataset that is required for the application's basic functionality. Details of individual application schemas, baseline data sets and process for adding or updating different tables in the respective schemas has been explained below;

...

A. The main db module

...

can be located under ole-app/ole-db. This has database definition and data files for OLE tables.

The four different maven modules for OLEFS DB are as follows;

  1. ole-impex- This is the parent module that has sub-modules that contains baseline OLEFS/LS/Rice datasets.
    1. ole-impex-master - This module has all the table definitions (schema.xml) along with data xml files for the base OLEFS/KFS datasets. This doesn't have any Rice related tables or data. For future KFS upgrades, any KFS table changes have to be updated here.
    2. ole-impex-rice - This module strictly contains the Rice table definitions (schema.xml) along with data xml files. The schema.xml that contains all the table definitions are modified for KFS needs, and so wont match with the schema.xml of the rice bootstrap dataset. Any future rice version upgrade changes will need to be accounted here (should come from KFS as KFS had modified rice tables)
    3. ole-impex-ls - This module contains all the table definitions (schema.xml) along with data.xml files for the base OLELS (Circulation and other library functions) datasets. 
  2. ole-liquibase- This module allows injecting data easily by the use of liquibase tooling. Typically all the data files should go in the ole-impex module, but anything that is more demo specific and needs to be ingested for development purposes go here.
    1. ole-liquibase-changeset - This module contains the definitions for any updates that needs to be made to the base OLE schema that contains the base KFS/Rice tables/data. The updates could include creation of new tables, populating with some data etc..
  3. ole-sql - SQL Files under the various sub-modules are auto-generatedgenerated by maven commands. The various commands to produce sql statements for both MySQL and Oracle are explained below.

    Warning

    The various SQL files are auto generated by the maven process on the ole-impex and ole-liquibase modules. Do not attempt to manually update the sql files as they will be overridden anytime the build process is run on the ole-impex and ole-liquibase modules.

    1. ole-liquibase-sql - These are auto-generated sql files from the ole-liquibase-changeset module. 

      No Format
      cd ole-app/ole-db/ole-liquibase/ole-liquibase-changeset
      mvn clean install
      mvn clean process-resources -Psql,mysql mvn clean process-resources -Psql,oracle
      cd ole-app
      mvn clean install -DskipTests=true
      cd ole-app/olefs-Dscm.phase=none
      mvn clean install -Pdb -Djdbc.dba.username=root -Djdbc.dba.password=root
      mvn initialize -PdbPsql,oracle -DjdbcDscm.username=OLE -Doracle.dba.url=jdbc:oracle:thin:system/manager@localhost:1521:XEphase=none
    2. ole-master-sql - These are auto-generated sql files from the ole-impex-master module.
    3. ole-rice-sql - These are auto generated sql files from the ole-impex-rice module.

      Info

      These auto-generated sql files gets executed by the maven-sql plugin on a database; weather be it MySQL or Oracle. Refer to the DB refresh process in the main Developer's guide.

      cd into ole-impex mvn clean process-resources -Psql
      No Format
      No Format
      cd into ole-impex
      mvn clean install -Psql -Dimpex.scm.phase=none

B. The main db module for the Docstore application is under ole-docstore/ole-db. Refer to the db-reset process below to find out how to reset the docstore database and start clean.

 

C. DB reset

The DB reset involves dropping existing application schemas, re-creating them, creating tables, adding data and finally adding all the necessary constraints.

 

Code Block
cd ole-app
mvn clean install -DskipTests=true
 
cd olefs

# For MySQL
mvn initialize -Pdb -Djdbc.dba.username=[fill me in] -Djdbc.dba.password=[fill me

...

 

 

...

OLELS - OLEFS has also a db refresh process similar to OLELS but is not as advanced as in the sql files have to be individually created for both MySQL and Oracle. The Rice tables however are imported directly and executed using the maven tool. 

  1. ole-rice-db - This is the db module that has the sql files for OLELS specific tables. The rice tables are auto-imported and the following maven commands would accomplish that for us;

    No Format
    mvn clean install -Pdb,mysql 

OLEDOCSTORE - Apache Jackrabbit is the underlying content management framework and so the database configuration is taken care by jackrabbit internally when the application is brought up.

...

subsequently for cleaning the database following actions have to be performed

Info

This is assuming that there is a docstore.home property set which essentially points to the location where all the docstore folders are generated by the jackrabbit framework.

...

 in]


#For Oracle
mvn initialize -Pdb,oracle -Djdbc.username=OLE -Doracle.dba.url=jdbc:oracle:thin:system/manager@localhost:1521:XE

cd ole-docstore

# For MySQL
mvn initialize -Pdb -Djdbc.dba.username=[fill me] -Djdbc.dba.password=[fill me]
 
#For Oracle
mvn initialize -Pdb,oracle -Djdbc.username=OLE -Doracle.dba.url=jdbc:oracle:thin:system/manager@localhost:1521:XE