Rice Data Overview
Since OLE is one of a number of Kuali Rice-based projects, an installation of it also includes certain Rice tables and their associated data. However, storing this data in our master schema leads to maintenance issues when the master structure changes and potential data collisions with other Kuali projects. As such, we rely on the "master" rice datasource directly.
The database impex tool allows for two database definitions to be overlaid upon one another. So, for a simple install of OLE, where the Rice server is integrated into the application, the impex tool first imports the Rice tables and data into the OLE database and then adds the OLE tables and data.
This, however, does not then include any of the OLE-specific data which needs to be stored in the Rice tables. This includes items such as:
Item |
Rice Module |
---|---|
Workflow Documents |
Kuali Enterprise Workflow (KEW) |
System Parameters |
Kuali Nervous System (KNS) |
Test Users |
Kuali Identity Management (KIM) |
Application-Specific Roles |
Kuali Identity Management (KIM) |
Permissions |
Kuali Identity Management (KIM) |
Responsibilities |
Kuali Identity Management (KIM) |
To import those, we have two additional steps. (This will hopefully be a single step in the future, when Rice provides for XML import/export for all of these objects.)
- Run Liquibase scripts to add the KNS and KIM data.
- Run the workflow XML Ingester tool (part of Rice) to add the workflow definitions.
The definitions for these items are stored in the following locations:
ole/work/db/rice-data
(KIM/KNS)ole/work/workflow
(KEW)
After all "normal" import processes are done, these scripts/files are executed/imported as a final step to load the OLE data into the database.
Rice Data Locations and Structure
The Rice data needed by OLE is stored within the main ole
project in the locations below:
Directory |
Description |
---|---|
|
Rice KNS and KIM data. (Parameters, Roles, Permissions, etc...) |
|
OLE workflow document definitions. |
The non-workflow Rice data scripts use Liquibase for inserting the data into the Rice tables. Most of them (for practical reasons), simply load a CSV file with the OLE data into the needed tables. Review the Liquibase XML files in the ole/work/db/rice-data
for the details. They are split up into two sets, demo and bootstrap. Under normal operation, both are executed. Usually, the demo scripts add data not in the bootstrap scripts but in at least one case (system parameters), it overlays the entire set of OLE parameters.