Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Rice Release Notes

...

There are a number of new parameters and configuration properties in KFS 5.0.2.  They are documented in separate files:

KFS Configuration Properties

...

Details on the changes can be found here: KFS 5.0.2 Configuration Property Changes

See also: Configuration Properties 5

New in KFS 5.0.2 is an optional runtime configuration property which specifies a file (outside the KFS war file) that KFS will read configuration properties from at runtime. This parameter can be passed as a runtime parameter to Tomcat as follows:

...

The Spring beans used to export the beans has changed significantly for Rice 2.x.  They have also been extracted into their own files.  You can find them in the spring-xxx-bus-exports.xml files in the project.  The KFS 4.1.1 to 5.0.2 Upgrade Notes document has more information on the exporter changes.

...

This process is covered in detail in the KFS 4.1.1 to KFS 5.0 Upgrade Notes document.

  • Replace baseline code

  • Re-apply any local changes to baseline code.

  • Convert customization code using provided conversion program

  • Complete code updates manually

  • Apply KFS database changes (back up first)

  • Apply Rice Server database changes

  • Apply Rice server KFS data changes (parameters/roles/perms/etc...)

  • Review and apply workflow changes (only apply if needed - must be compared to institution workflow customizations and requirements)

  • Tomcat Configuration Changes

    • -D properties used on Tomcat startup (JAVA_OPTS/CATALINA_OPTS)

    • Optional configuration property which specifies a file (outside the KFS war file) that KFS will read configuration properties from at runtime:

      -Dadditional.kfs.config.locations=PATH_TO_CONFIG_FILE
  • Configuration file changes

    • Build process files (properties with defaults in the build/properties directory)

    • security.properties on servers

    • log4j.properties on servers

    • rice-config.xml file on Standalone Rice servers

...

  • AR

    • New reported date on the invoice document table.

    • New Billing Statement table.

  • CAM

    • Increased the size of the asset description fields.

    • New asset payment allocation table and addition of the code and fields to the asset payment tables.

    • Additional fields to support the year-end depreciation work.

    • New asset payment type document type table.

    • Addition of active indicators to supporting asset tables.

  • COA

    • Addition of labor benefit rate code to Account table.

    • Creation of a child table with a one-to-many relationship to hold the ICR account and percentage information.  Migration of the affected data in the account table to the child table. (KFSMI-5614)

    • Same as above but for the A21 Sub Account.

  • FP

    • Addition of columns to the capital asset detail table.

    • Addition of columns to the capital asset group detail table.

    • Dropped the revolving funds detail table (unused in KFS 4.x)

    • Dropping of the FDOC_COLUMN_TYP_CD column from a number of cash-related tables and removed it from the table relationships.

    • Addition of the currency amount fields to the deposit header table.

    • Addition of a cashier status code to the cash detail tables.

    • Migration of data into the new field.

    • Addition of a procurement card defaults table.

    • Addition of the accounting category code to balance report temp tables.

    • Creation of a couple more temp tables for supporting balance lookups.

  • GL

    • Renamed GL_EXPEND_TRN_T

  • LD

    • Addition of benefit rate category table and added it to related tables.

  • PDP

    • Added ACH Eligibility code to the payee type table.

  • PURAP

    • New view to help calculate total amounts on a PO.

    • Flag for whether to display a given transmission method.

    • Addition of accounting distribution method flag.  (dollars vs. percent)

    • Correction of percentage column data type.

    • Added item line numbers needed to support calculation.

    • Dropped non-null constraints on the purchasing document status code columns.

    • New purchasing excluded vendor tables and addition of related columns to other purchasing tables.

    • Dropped the AP_ELCTRNC_INV_RJT_DOC_TR2 foreign key constraint on the AP_ELCTRNC_INV_RJT_DOC_T table

      • This was preventing invalided DUNS #s from being corrected on EIRT docs.

    • Added auto approved indicator to AP Payment Request table.

...

  • kfs/work/db/upgrades/4.1.1_5.0/rice_server/kim_upgrade_pre_rice_20.xml
    • All KIM permissions and responsibilities need to be modified to have unique namespace/name combinations.  One of the scripts here does that for any permissions/responsibilities with the “default” style name (where the name matches the template name).

      • If you have not used this convention in any of your institution’s permissions, you will need to rename them in advance of the Rice 2.0 server upgrade.

    • Removes a handful of duplicate permissions by ID (as provided by Kuali)

    • Re-numbers a couple of KIM type IDs which were accidentally re-used by new Rice data.

  • kfs/work/db/upgrades/4.1.1_5.0/rice_server/kew_upgrade.xml
    • Updates the labels on a couple document types.

    • Updates the help and document search help URLs.

    • Adds ${kfs.externalizable.help.url} to the beginning of KFS document search help URLs.

    • Replaces ${application.url} with ${kfs.url} on all delivered KFS document types. 

      • If you have new document types, your document types should be added to this statement.  *DO NOT* simply update all records, as the Rice server documents need to retain ${application.url} to function.

    • Updates class names of changed classes linked to routing nodes to handle changes in Rice class names.

  • kfs/work/db/upgrades/5.0_5.0.1/rice_server/kew_upgrade.xml
    • Updates the help and document search help URLs.

    • Updated service namespace to be a URI "{http://kfs.kuali.org/kfs/v5_0}" instead of "{KFS}" in order for bus security to work properly.

  • kfs/work/db/upgrades/4.1.1_5.0/rice_server/kim_upgrade.xml
    • Prefixes all KFS type service names in KRIM_TYP_T with “{KFS}” to enable them to continue working in a standalone Rice environment. (Superseded by 5.0_5.0.1 kim_upgrade.xml changes)

    • Removed KIM data related to the RA document.  (Not used since KFS 2.0 and fully removed in 5.0.)

    • Fixed the namespace and KIM type on the “Administer Batch File” permission.

    • Other changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.

  • kfs/work/db/upgrades/5.0_5.0.1/rice_server/kim_upgrade.xml
    • Prefixes all KFS type service names in KRIM_TYP_T with a URL "{http://kfs.kuali.org/kfs/v5_0}" instead of “{KFS}” to enable them to continue working in a standalone Rice environment (required for bus security).

    • Other changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.

  • kfs/work/db/upgrades/5.0.1_5.0.2/rice_server/kim_upgrade.xml
    • Changes, including new/updated roles, new/updated permissions, and changed role/permission assignments are documented in KFS 5.0.2 KIM Data Changes.

  • kfs/work/db/upgrades/4.1.1_5.0/rice_server/parameter_updates.xml
  • kfs/work/db/upgrades/5.0_5.0.1/rice_server/parameter_updates.xml
  • kfs/work/db/upgrades/5.0.1_5.0.2/rice_server/parameter_updates.xml

Workflow Changes

Summary of changes

  • Searchable Attributes / Document Search Customizers

    • The Rice API for customizing document search has changed dramatically in Rice 2.0.  As such, if you customized the FinancialSystemSearchableAttribute or DataDictionaryDocumentSearchCustomizer. you will need to adapt your changes to the new APIs.  Use the KFS files as examples and refer to the Rice documentation on customizing document search:http://site.kuali.org/rice/2.1.0/reference/html/TRG.html#d1357e8196 

  • Purchasing Application Document Status Updates

    • (see below)

  • Changes:

    • Moved CFDA document under the COA Simple maintenance documents parent.

    • Addition of org review routing to CRM

    • Routing by object code for ECD document

    • Added Separation of Duties review to the DV

    • Restored parallel routing to LD documents

    • Renamed YEARENDDEPR document to YDPA

    • Added Recall from Routing policies to top-level KFS document.

    • Re-enabled the Sensitive Data Security Attribute.

  • New Documents:

    • Procurement Card Default document PCDM

    • Asset payment document type document: APDT

    • Labor Benefit Rate Category: BNRC

  • Removal of RA document (unused since KFS 2.x)

  • Updated package for the DataDictionaryQualifierResolver class

  • Changed ${application.url} references to ${kfs.url}

  • Updated document search URLs to be prefixed with ${kfs.externalizable.help.url}

...

Running of this program is documented in the KFS 4.1.1 to 5.0.2 Upgrade Notes document.

Changes Affecting Institutional Customizations

...

You should review the KIM Services documentation in the Rice 2.1 Reference Guide:http://site.kuali.org/rice/2.1.0/reference/html/TRG.html#d1357e10393 

Below are some items to watch for when upgrading your code:

...

 

KFS 4.1.1 Name

KFS 5.0.2 Name

Contents/Purpose

spring-rice-startup.xml

kfs-startup.xml

Definition of the system properties used to tokenize the spring files.  Includes all base Rice startup files and the KFS-specific configurer class.

spring-jta.xml

kfs-RiceJTASpringBeans.xml

Contains the transaction manager definitions for the project.  There should be no need to edit this file.  All values which may need to be changed are handled via properties.

spring-datasources.xml

kfs-RiceDataSourceSpringBeans.xml

Contains the datasource beans for the project.  There should be no need to edit this file.  All values which may need to be changed are handled via properties.

spring-rice-configurer.xml

kfs-RiceSpringBeans.xml

In 4.1.1, this file also contained the KFSConfigurer bean, since it needed to be inserted into the RiceConfigurer.  If KFS 5.0, this is a virtual copy of the Rice version of the file and should not be changed.

N/A

spring-additional-rice-beans.xml

This file contains beans which implement services which were part of Rice in 1.0.x but are not in Rice 2.0.

N/A

kfs-cache-config.xml

Contains the Spring beans which define the cache managers for KFS services.


 

spring-kfs-imported-rice-beans.xml

This file contains two types of beans:

  1. In order to reference Rice services/beans in the KFS Spring context, they must be "imported" from the GlobalResourceLoader.  All imports of this type are in this file.

  2. Unfortunately, beans imported using the method above are only valid for referencing, not inheritance.  This file also contains duplicates of baseline Rice beans which are extended

spring-kfs-rice-overrides.xml

spring-rice-krad-overrides.xml

Contains baseline Rice beans which we need to override for KFS functionality.  This file is specified in the rice.kr.additionalSpringFiles property which causes them to be injected (and override) the Rice beans of the same IDs.  That way, these versions of those beans will be used throughout the system.

spring-test-env-beans.xml

spring-test-env-beans.xml

This contains beans which you would only want to include/override in testing environments.  For the most part, these are overrides to module configurations which add certain batch steps that perform useful functions for testing the system. 

 

KFS Startup File Location

In KFS 4.1.1, this file was hard-coded in the SpringContext class.  As of KFS 5.x, it is specified by the "bootstrap.spring.file" build-time configuration property.  This property is injected into web.xml during the "dist-local" process.

RiceConfigurer Has Been Removed

As part of the changes to Rice setup, the RiceConfigurer class which served to bind all the modules of Rice into the startup process has been removed.  Instead, each of the module configurers (which still exist) now self-register without the need for an over-arching configurer.

...

This mainly affects the Parameter maintenance document on the Rice server, but the method of getting these components into the Rice server has changed drastically in Rice 2.0.  It should not affect applications much, but it's important to know what is going on now.

Component Publishing 

In Rice 1.x, there was a service which was published by all client applications (the RiceApplicationConfigurationService) that was queried when the Rice server needed to load components.  This required that the KFS server be on-line at the time when the data was needed.  In Rice 2.0, each client application "publishes" its components to the Rice server shortly after startup.  These components are then stored in a special table.  Every time the KFS servers start up, they re-publish their list of components to the server.  This helps the server maintain a comprehensive list of components as well as improves performance and validation reliability.

This loading is performed in the method: SpringContext.finishInitializationAfterRiceStartup()

Batch Steps

In KFS, batch steps are also valid components.  But, since they are not in the data dictionary, KFS had some special code which made them appear as such to the Rice server.  In Rice 2.0, the concept is the same, but the process is more formal, as we can publish them to the server in the same manner as the data dictionary-based components.

...