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 4 Next »

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.)

  1. Run Liquibase scripts to add the KNS and KIM data.
  2. 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

ole/work/db/rice-data

Rice KNS and KIM data. (Parameters, Roles, Permissions, etc...)

ole/work/workflow

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.

Demo vs. Bootstrap

The Rice data loads are split up into two sets, demo and bootstrap. Unless specified otherwise, 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 since the entire set of parameters must be loaded in both cases, except with different values in the demo dataset.

Updating KEW Document Workflow

When the workflow import portion of the impex tool runs, it look at all the subdirectories under ole/work/workflow and runs them in alphanumeric order. Within each directory, the files are run as a single batch. The directory separation is to ensure that parent documents are in place before ingesting child documents.

Adding a new Module

Create the needed parent documents for that module

Each module may have up to three primary parent documents:

  • Simple Maintenance Documents (do not route)
  • Complex Maintenance Documents (have defined workflows)
  • Transactional Documents (non-maintenance documents)

Add these these parent documents to 002_ole_core_parent_docs/OleCoreModulesParentDocuments.xml or 002_ole_core_parent_docs/OleOptionalModulesParentDocuments.xml as appropriate.

Create the documents for the module

  • Create a new directory starting with a 3-digit number and the name of the module. This number should place it after any documents upon which it is dependent.
  • Within that directory, create files (again, dependent on the types of documents you have in the module) for each of the categories above for the parent documents.
    • The files should have names like the following:
      • <<ModuleName>>SimpleMaintenanceDocuments.xml
      • <<ModuleName>>MaintenanceDocuments.xml
      • <<ModuleName>>TransactionalDocuments.xml
  • Add the <documentType> entries for the documents in the appropriate file.

Updating KNS System Parameters

Updating KIM Data

Roles/Permissions/Responsibilities

People/Role Members

  • No labels